CRI ADX  Last Updated: 2024-06-28 11:06 p
CriAtomEx API

データ構造

struct  CriAtomExRngInterfaceTag
 疑似乱数生成器(Random Number Generator)インターフェース [詳解]
 
struct  CriAtomExAcfRegistrationInfoTag
 ACF位置情報 [詳解]
 
struct  CriAtomExConfigTag
 Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtomEx_Initialize 関数の引数に指定します。

CRI Atomライブラリは、初期化時に本構造体で指定された設定に応じて、内部リソースを 必要なだけ確保します。
ライブラリが必要とするワーク領域のサイズは、本構造体で指定されたパラメーターに応じて 変化します。 [詳解]
 
struct  CriAtomExFormatInfoTag
 音声データフォーマット情報 [詳解]
 
struct  CriAtomExSphericalCoordinatesTag
 球面座標構造体 [詳解]
 
struct  CriAtomEx3dAttenuationParameterTag
 距離減衰パラメーター構造体 [詳解]
 
struct  CriAtomExGameVariableInfoTag
 ゲーム変数情報取得用構造体 [詳解]
 
struct  CriAtomExResourceUsageTag
 各種リソースの使用状況 [詳解]
 
struct  CriAtomExVoiceInfoDetailTag
 ボイスの詳細情報 [詳解]
 
struct  CriAtomExMonitoringVoiceStopInfoTag
 ボイス停止情報取得用構造体 [詳解]
 
struct  CriAtomExCueLinkInfoTag
 キューリンクコールバック用Info構造体 [詳解]
 
struct  CriAtomExPlaybackCancelInfoTag
 プレイバックキャンセルコールバック用Info構造体 [詳解]
 
struct  CriAtomExTrackTransitionBySelectorInfoTag
 トラックトランジションバイセレクターコールバック用Info構造体 [詳解]
 

マクロ定義

#define criAtomEx_SetDefaultConfigForUserPcmOutput(p_config)
 ライブラリ初期化用コンフィグ構造体にデフォルト値をセット [詳解]
 
#define CRIATOMEX_MAX_VIRTUAL_VOICES   (32767)
 バーチャルボイス数の設定可能上限 [詳解]
 
#define criAtomEx_SetUserAllocator(p_malloc_func, p_free_func, p_obj)    criAtom_SetUserAllocator((p_malloc_func), (p_free_func), (p_obj))
 ユーザアロケーターの登録 [詳解]
 
#define criAtomEx_SetDefaultConfig(p_config)
 ライブラリ初期化用コンフィグ構造体にデフォルト値をセット [詳解]
 
#define criAtomEx_AttachPerformanceMonitor()   criAtom_AttachPerformanceMonitor()
 パフォーマンスモニター機能の追加 [詳解]
 
#define criAtomEx_DetachPerformanceMonitor()   criAtom_DetachPerformanceMonitor()
 パフォーマンスモニター機能の削除 [詳解]
 
#define criAtomEx_ResetPerformanceMonitor()   criAtom_ResetPerformanceMonitor()
 パフォーマンスモニターのリセット [詳解]
 
#define criAtomEx_GetPerformanceInfo(p_info)   criAtom_GetPerformanceInfo(p_info)
 パフォーマンス情報の取得 [詳解]
 
#define criAtomEx_SetChannelMapping(nch, type)    criAtom_SetChannelMapping((nch), (type))
 チャンネルマッピングパターンの指定 [詳解]
 
#define criAtomEx_CalculateAdxBitrate(num_channels, sampling_rate)    criAtom_CalculateAdxBitrate(num_channels, sampling_rate)
 ADXデータのビットレート計算 [詳解]
 
#define criAtomEx_CalculateHcaBitrate(num_channels, sampling_rate, quality)    criAtom_CalculateHcaBitrate(num_channels, sampling_rate, quality)
 HCAデータのビットレート計算 [詳解]
 
#define criAtomEx_CalculateHcaMxBitrate(num_channels, sampling_rate, quality)    criAtom_CalculateHcaMxBitrate(num_channels, sampling_rate, quality)
 HCA-MXデータのビットレート計算 [詳解]
 
#define criAtomEx_CalculateWaveBitrate(num_channels, sampling_rate, num_bits)    criAtom_CalculateWaveBitrate(num_channels, sampling_rate, num_bits)
 Waveデータのビットレート計算 [詳解]
 
#define criAtomEx_CalculateAiffBitrate(num_channels, sampling_rate, num_bits)    criAtom_CalculateAiffBitrate(num_channels, sampling_rate, num_bits)
 AIFFデータのビットレート計算 [詳解]
 
#define criAtomEx_GetStreamingInfo(streaming_info)    criAtom_GetStreamingInfo(streaming_info)
 ストリーミング情報の取得 [詳解]
 
#define criAtomEx_SetFreeTimeBufferingFlagForDefaultDevice(flag)    criAtom_SetFreeTimeBufferingFlagForDefaultDevice(flag)
 ファイルI/Oの空き時間を使ったストリーミング読み込みを行うかどうか [詳解]
 

型定義

typedef CriAtomMallocFunc CriAtomExMallocFunc
 メモリ確保関数 [詳解]
 
typedef CriAtomFreeFunc CriAtomExFreeFunc
 メモリ解放関数 [詳解]
 
typedef enum CriAtomExThreadModelTag CriAtomExThreadModel
 スレッドモデル [詳解]
 
typedef enum CriAtomExCoordinateSystemTag CriAtomExCoordinateSystem
 座標系 [詳解]
 
typedef enum CriAtomExAcfLocationInfoTypeTag CriAtomExAcfLocationInfoType
 ACF指定タイプ [詳解]
 
typedef void * CriAtomExRngHn
 疑似乱数生成器(Random Number Generator)ハンドル
 
typedef struct CriAtomExRngInterfaceTag CriAtomExRngInterface
 疑似乱数生成器(Random Number Generator)インターフェース
 
typedef struct CriAtomExAcfRegistrationInfoTag CriAtomExAcfRegistrationInfo
 ACF位置情報 [詳解]
 
typedef struct CriAtomExConfigTag CriAtomExConfig
 Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtomEx_Initialize 関数の引数に指定します。

CRI Atomライブラリは、初期化時に本構造体で指定された設定に応じて、内部リソースを 必要なだけ確保します。
ライブラリが必要とするワーク領域のサイズは、本構造体で指定されたパラメーターに応じて 変化します。 [詳解]
 
typedef CriAtomPerformanceInfo CriAtomExPerformanceInfo
 パフォーマンス情報 [詳解]
 
typedef CriSint32 CriAtomExWaveId
 波形データID [詳解]
 
typedef CriSint32 CriAtomExVibrationId
 振動ID [詳解]
 
typedef CriAtomFormat CriAtomExFormat
 フォーマット種別 [詳解]
 
typedef struct CriAtomExFormatInfoTag CriAtomExFormatInfo
 音声データフォーマット情報 [詳解]
 
typedef enum CriAtomExResumeModeTag CriAtomExResumeMode
 ポーズ解除対象 [詳解]
 
typedef enum CriAtomExBiquadFilterTypeTag CriAtomExBiquadFilterType
 バイクアッドフィルターのタイプ [詳解]
 
typedef enum CriAtomExSilentModeTag CriAtomExSilentMode
 無音時処理モード [詳解]
 
typedef enum CriAtomExPanTypeTag CriAtomExPanType
 パンタイプ [詳解]
 
typedef enum CriAtomExPanSpeakerTypeTag CriAtomExPanSpeakerType
 パンニング時の出力スピーカータイプ [詳解]
 
typedef enum CriAtomExPanAngleTypeTag CriAtomExPanAngleType
 パンニング時の角度タイプ [詳解]
 
typedef CriUint32 CriAtomExSpeakerSystem
 出力スピーカーの並び順 [詳解]
 
typedef struct CriAtomExSphericalCoordinatesTag CriAtomExSphericalCoordinates
 球面座標構造体 [詳解]
 
typedef struct CriAtomEx3dAttenuationParameterTag CriAtomEx3dAttenuationParameter
 距離減衰パラメーター構造体 [詳解]
 
typedef CriSint32 CriAtomExBlockIndex
 ブロックインデックス [詳解]
 
typedef CriUint32 CriAtomExGameVariableId
 ゲーム変数ID [詳解]
 
typedef struct CriAtomExGameVariableInfoTag CriAtomExGameVariableInfo
 ゲーム変数情報取得用構造体 [詳解]
 
typedef CriAtomStreamingInfo CriAtomExStreamingInfo
 ストリーミング情報 [詳解]
 
typedef enum CriAtomExCharacterEncodingTag CriAtomExCharacterEncoding
 文字コード [詳解]
 
typedef struct CriAtomExResourceUsageTag CriAtomExResourceUsage
 各種リソースの使用状況 [詳解]
 
typedef enum CriAtomExCurveTypeTag CriAtomExCurveType
 曲線タイプ [詳解]
 
typedef enum CriAtomExVoiceEventTag CriAtomExVoiceEvent
 ボイスイベント [詳解]
 
typedef struct CriAtomExVoiceInfoDetailTag CriAtomExVoiceInfoDetail
 ボイスの詳細情報 [詳解]
 
typedef void(* CriAtomExVoiceEventCbFunc) (void *obj, CriAtomExVoiceEvent voice_event, const CriAtomExVoiceInfoDetail *request, const CriAtomExVoiceInfoDetail *removed, const CriAtomExVoiceInfoDetail *removed_in_group)
 ボイスイベントコールバック関数型 [詳解]
 
typedef void(* CriAtomExVoiceInfoCbFunc) (void *obj, const CriAtomExVoiceInfoDetail *voice_info)
 ボイス情報コールバック関数型 [詳解]
 
typedef struct CriAtomExMonitoringVoiceStopInfoTag CriAtomExMonitoringVoiceStopInfo
 ボイス停止情報取得用構造体 [詳解]
 
typedef enum CriAtomExCueLinkTypeTag CriAtomExCueLinkType
 キューリンクコールバックタイプ
 
typedef struct CriAtomExCueLinkInfoTag CriAtomExCueLinkInfo
 キューリンクコールバック用Info構造体
 
typedef CriSint32(* CriAtomExCueLinkCbFunc) (void *obj, const CriAtomExCueLinkInfo *info)
 キューリンクコールバック [詳解]
 
typedef enum CriAtomExPlaybackCancelTypeTag CriAtomExPlaybackCancelType
 プレイバックキャンセルタイプ [詳解]
 
typedef struct CriAtomExPlaybackCancelInfoTag CriAtomExPlaybackCancelInfo
 プレイバックキャンセルコールバック用Info構造体
 
typedef void(* CriAtomExPlaybackCancelCbFunc) (void *obj, const CriAtomExPlaybackCancelInfo *info)
 プレイバックキャンセルコールバック [詳解]
 
typedef struct CriAtomExTrackTransitionBySelectorInfoTag CriAtomExTrackTransitionBySelectorInfo
 トラックトランジションバイセレクターコールバック用Info構造体
 
typedef void(* CriAtomExTrackTransitionBySelectorCbFunc) (void *obj, const CriAtomExTrackTransitionBySelectorInfo *info)
 トラックトランジションバイセレクターコールバック [詳解]
 

列挙型

enum  CriAtomExThreadModelTag {
  CRIATOMEX_THREAD_MODEL_MULTI = 0 , CRIATOMEX_THREAD_MODEL_MULTI_WITH_SONICSYNC = 4 , CRIATOMEX_THREAD_MODEL_MULTI_USER_DRIVEN = 3 , CRIATOMEX_THREAD_MODEL_USER_MULTI = 1 ,
  CRIATOMEX_THREAD_MODEL_SINGLE = 2 , CRIATOMEX_THREAD_MODEL_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 スレッドモデル [詳解]
 
enum  CriAtomExCoordinateSystemTag { CRIATOMEX_COORDINATE_SYSTEM_LEFT_HANDED = 0 , CRIATOMEX_COORDINATE_SYSTEM_RIGHT_HANDED = 1 , CRIATOMEX_COORDINATE_SYSTEM_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 座標系 [詳解]
 
enum  CriAtomExAcfLocationInfoTypeTag { CRIATOMEX_ACF_LOCATION_INFO_TYPE_NONE = 0 , CRIATOMEX_ACF_LOCATION_INFO_TYPE_NAME , CRIATOMEX_ACF_LOCATION_INFO_TYPE_ID , CRIATOMEX_ACF_LOCATION_INFO_TYPE_DATA , CRIATOMEX_ACF_LOCATION_INFO_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 ACF指定タイプ [詳解]
 
enum  CriAtomExResumeModeTag { CRIATOMEX_RESUME_ALL_PLAYBACK = 0 , CRIATOMEX_RESUME_PAUSED_PLAYBACK = 1 , CRIATOMEX_RESUME_PREPARED_PLAYBACK = 2 , CRIATOMEX_RESUME_MODE_RESERVED = 3 , CRIATOMEX_RESUME_MODE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 ポーズ解除対象 [詳解]
 
enum  CriAtomExBiquadFilterTypeTag {
  CRIATOMEX_BIQUAD_FILTER_TYPE_OFF = 0 , CRIATOMEX_BIQUAD_FILTER_TYPE_LOWPASS = 1 , CRIATOMEX_BIQUAD_FILTER_TYPE_HIGHPASS = 2 , CRIATOMEX_BIQUAD_FILTER_TYPE_NOTCH = 3 ,
  CRIATOMEX_BIQUAD_FILTER_TYPE_LOWSHELF = 4 , CRIATOMEX_BIQUAD_FILTER_TYPE_HIGHSHELF = 5 , CRIATOMEX_BIQUAD_FILTER_TYPE_PEAKING = 6 , CRIATOMEX_BIQUAD_FILTER_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 バイクアッドフィルターのタイプ [詳解]
 
enum  CriAtomExSilentModeTag { CRIATOMEX_SILENT_MODE_NORMAL = 0 , CRIATOMEX_SILENT_MODE_STOP = 1 , CRIATOMEX_SILENT_MODE_VIRTUAL = 2 , CRIATOMEX_SILENT_MODE_VIRTUAL_RETRIGGER = 3 , CRIATOMEX_SILENT_MODE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 無音時処理モード [詳解]
 
enum  CriAtomExPanTypeTag { CRIATOMEX_PAN_TYPE_UNKNOWN = -1 , CRIATOMEX_PAN_TYPE_PAN3D = 0 , CRIATOMEX_PAN_TYPE_3D_POS , CRIATOMEX_PAN_TYPE_AUTO , CRIATOMEX_PAN_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 パンタイプ [詳解]
 
enum  CriAtomExPanSpeakerTypeTag {
  CRIATOMEX_PAN_SPEAKER_TYPE_4CH = 0 , CRIATOMEX_PAN_SPEAKER_TYPE_5CH = 1 , CRIATOMEX_PAN_SPEAKER_TYPE_6CH = 2 , CRIATOMEX_PAN_SPEAKER_TYPE_7CH = 3 ,
  CRIATOMEX_PAN_SPEAKER_TYPE_5_0_2CH = 4 , CRIATOMEX_PAN_SPEAKER_TYPE_7_0_4CH = 5 , CRIATOMEX_PAN_SPEAKER_TYPE_4_0_2CH = 6 , CRIATOMEX_PAN_SPEAKER_TYPE_6_0_4CH = 7 ,
  CRIATOMEX_PAN_SPEAKER_TYPE_AUTO = 10 , CRIATOMEX_PAN_SPEAKER_TYPE_AUTO_WITH_CENTER = 11 , CRIATOMEX_PAN_SPEAKER_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 パンニング時の出力スピーカータイプ [詳解]
 
enum  CriAtomExPanAngleTypeTag { CRIATOMEX_PAN_ANGLE_TYPE_OFFSET = 0 , CRIATOMEX_PAN_ANGLE_TYPE_FIX = 1 , CRIATOMEX_PAN_ANGLE_TYPE_AMBIENCE_MIX = 4 , CRIATOMEX_PAN_ANGLE_TYPE_AMBIENCE_STRAIGHT = 5 , CRIATOMEX_PAN_ANGLE_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 パンニング時の角度タイプ [詳解]
 
enum  CriAtomExCharacterEncodingTag { CRIATOMEX_CHARACTER_ENCODING_UTF8 = 0 , CRIATOMEX_CHARACTER_ENCODING_SJIS = 1 , CRIATOMEX_CHARACTER_ENCODING_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 文字コード [詳解]
 
enum  CriAtomExCurveTypeTag {
  CRIATOMEX_CURVE_TYPE_LINEAR = 0 , CRIATOMEX_CURVE_TYPE_SQUARE , CRIATOMEX_CURVE_TYPE_SQUARE_REVERSE , CRIATOMEX_CURVE_TYPE_S ,
  CRIATOMEX_CURVE_TYPE_FLAT_AT_HALF , CRIATOMEX_CURVE_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 曲線タイプ [詳解]
 
enum  CriAtomExVoiceEventTag {
  CRIATOMEX_VOICE_EVENT_ALLOCATE = 0 , CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE , CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE_IN_GROUP , CRIATOMEX_VOICE_EVENT_ALOOCATE_AND_REMOVE_TWO ,
  CRIATOMEX_VOICE_EVENT_REJECT , CRIATOMEX_VOICE_EVENT_REJECT_BY_GROUP_LIMIT , CRIATOMEX_VOICE_EVENT_REMOVE , CRIATOMEX_VOICE_EVENT_ENUM_IS_4BYTE = 0x7FFFFFFF
}
 ボイスイベント [詳解]
 
enum  CriAtomExCueLinkTypeTag { CRIATOMEX_CUELINK_TYPE_STATIC = 0 , CRIATOMEX_CUELINK_TYPE_DYNAMIC = 1 , CRIATOMEX_CUELINK_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 キューリンクコールバックタイプ [詳解]
 
enum  CriAtomExPlaybackCancelTypeTag {
  CRIATOMEX_PLAYBACK_CANCEL_TYPE_CUE_LIMIT = 0 , CRIATOMEX_PLAYBACK_CANCEL_TYPE_CATEGORY_CUE_LIMIT , CRIATOMEX_PLAYBACK_CANCEL_TYPE_PROBABILITY , CRIATOMEX_PLAYBACK_CANCEL_TYPE_STOP_BY_CUE_LIMIT ,
  CRIATOMEX_PLAYBACK_CANCEL_TYPE_SWITCH , CRIATOMEX_PLAYBACK_CANCEL_TYPE_NO_TRACK_TO_PLAY , CRIATOMEX_PLAYBACK_CANCEL_TYPE_ENUM_IS_4BYTE = 0x7FFFFFFF
}
 プレイバックキャンセルタイプ [詳解]
 

関数

CriSint32 criAtomEx_CalculateWorkSizeForUserPcmOutput (const CriAtomExConfigForUserPcmOutput *config)
 ユーザPCM出力方式用ワーク領域サイズ計算 [詳解]
 
void criAtomEx_InitializeForUserPcmOutput (const CriAtomExConfigForUserPcmOutput *config, void *work, CriSint32 work_size)
 ユーザPCM出力用ライブラリ初期化 [詳解]
 
void criAtomEx_FinalizeForUserPcmOutput (void)
 ユーザPCM出力用ライブラリ終了処理 [詳解]
 
CriSint32 criAtomEx_CalculateWorkSize (const CriAtomExConfig *config)
 ライブラリ初期化用ワーク領域サイズの計算 [詳解]
 
CriBool criAtomEx_Initialize (const CriAtomExConfig *config, void *work, CriSint32 work_size)
 ライブラリの初期化 [詳解]
 
void criAtomEx_Finalize (void)
 ライブラリの終了 [詳解]
 
CriBool criAtomEx_IsInitialized (void)
 ライブラリ初期化状態の取得 [詳解]
 
void criAtomEx_ExecuteMain (void)
 サーバー処理の実行 [詳解]
 
void criAtomEx_ExecuteAudioProcess (void)
 ユーザーマルチスレッド用サーバー処理の実行 [詳解]
 
void criAtomEx_Lock (void)
 サーバー処理の割り込みを防止 [詳解]
 
void criAtomEx_Unlock (void)
 サーバー処理の割り込み防止を解除 [詳解]
 
CriUint64 criAtomEx_GetTimeMicro (void)
 時刻の取得 [詳解]
 
void criAtomEx_ResetTimer (void)
 タイマーのリセット [詳解]
 
void criAtomEx_PauseTimer (CriBool sw)
 タイマーのポーズ [詳解]
 
void criAtomEx_SetConfigForWorkSizeCalculation (const CriAtomExConfig *config)
 ワーク領域サイズ計算用コンフィグ構造体の設定 [詳解]
 
CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfData (void *acf_data, CriSint32 acf_data_size)
 オンメモリACFデータの登録に必要なワーク領域サイズの計算 [詳解]
 
CriBool criAtomEx_RegisterAcfData (void *acf_data, CriSint32 acf_data_size, void *work, CriSint32 work_size)
 オンメモリACFデータの登録 [詳解]
 
CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfFile (CriFsBinderHn binder, const CriChar8 *path)
 ACFファイルの登録に必要なワーク領域サイズの計算 [詳解]
 
CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfFileById (CriFsBinderHn binder, CriUint16 id)
 ACFファイルの登録に必要なワーク領域サイズの計算(CPKコンテンツID指定) [詳解]
 
CriBool criAtomEx_RegisterAcfFile (CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size)
 ACFファイルの登録 [詳解]
 
CriBool criAtomEx_RegisterAcfFileById (CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size)
 ACFファイルの登録(CPKコンテンツID指定) [詳解]
 
void criAtomEx_UnregisterAcf (void)
 ACFの登録解除 [詳解]
 
CriUint32 criAtomEx_GetAcfVersion (void *acf_data, CriSint32 acf_data_size, CriBool *flag)
 オンメモリACFのバージョン取得 [詳解]
 
CriUint32 criAtomEx_GetAcfVersionFromFile (CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size, CriBool *flag)
 ACFファイルのバージョン取得 [詳解]
 
CriUint32 criAtomEx_GetAcfVersionFromFileById (CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size, CriBool *flag)
 ACFファイルのバージョン取得(CPKコンテンツID指定) [詳解]
 
void criAtomEx_GetSupportedAcfVersion (CriUint32 *version_low, CriUint32 *version_high)
 レジスト可能バージョン情報取得 [詳解]
 
CriBool criAtomEx_AnalyzeAudioHeader (const void *buffer, CriSint32 buffer_size, CriAtomExFormatInfo *info)
 オーディオヘッダーの解析 [詳解]
 
void criAtomEx_SetRandomSeed (CriUint32 seed)
 乱数種の設定 [詳解]
 
CriSint32 criAtomEx_CalculateWorkSizeForDspBusSetting (const CriChar8 *setting)
 DSPバス設定のアタッチ用ワークサイズの計算 [詳解]
 
CriSint32 criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData (void *acf_data, CriSint32 acf_buffer_size, const CriChar8 *setting_name)
 DSPバス設定のアタッチ用ワークサイズの計算 [詳解]
 
void criAtomEx_AttachDspBusSetting (const CriChar8 *setting, void *work, CriSint32 work_size)
 DSPバス設定のアタッチ [詳解]
 
void criAtomEx_DetachDspBusSetting (void)
 DSPバス設定のデタッチ [詳解]
 
void criAtomEx_ApplyDspBusSnapshot (const CriChar8 *snapshot_name, CriSint32 time_ms)
 DSPバススナップショットの適用 [詳解]
 
const CriChar8 * criAtomEx_GetAppliedDspBusSnapshotName (void)
 適用中のDSPバススナップショット名の取得 [詳解]
 
void criAtomEx_SetCueLinkCallback (CriAtomExCueLinkCbFunc func, void *obj)
 キューリンクコールバック関数の登録 [詳解]
 
void criAtomEx_SetSpeakerAngles (CriFloat32 angle_l, CriFloat32 angle_r, CriFloat32 angle_sl, CriFloat32 angle_sr)
 5.1chスピーカー角度の設定 [詳解]
 
void criAtomEx_SetSpeakerAngleArray (CriAtomExSpeakerSystem speaker_system, const CriFloat32 *angle_array)
 スピーカー角度の設定 [詳解]
 
void criAtomEx_SetVirtualSpeakerAngleArray (CriAtomExSpeakerSystem speaker_system, const CriFloat32 *angle_array)
 バーチャルスピーカー角度の設定 [詳解]
 
void criAtomEx_ControlVirtualSpeakerSetting (CriBool sw)
 バーチャルスピーカー設定のON/OFF [詳解]
 
CriSint32 criAtomEx_GetNumGameVariables (void)
 ゲーム変数の総数の取得 [詳解]
 
CriBool criAtomEx_GetGameVariableInfo (CriUint16 index, CriAtomExGameVariableInfo *info)
 ゲーム変数情報の取得(インデックス指定) [詳解]
 
CriFloat32 criAtomEx_GetGameVariableById (CriAtomExGameVariableId id)
 ゲーム変数の取得 [詳解]
 
CriFloat32 criAtomEx_GetGameVariableByName (const CriChar8 *name)
 ゲーム変数の取得 [詳解]
 
void criAtomEx_SetGameVariableById (CriAtomExGameVariableId id, CriFloat32 value)
 ゲーム変数の設定 [詳解]
 
void criAtomEx_SetGameVariableByName (const CriChar8 *name, CriFloat32 value)
 ゲーム変数の設定 [詳解]
 
void criAtomEx_SetPlaybackCancelCallback (CriAtomExPlaybackCancelCbFunc func, void *obj)
 プレイバックキャンセルコールバック関数の登録 [詳解]
 
void criAtomEx_ControlAcfConsistencyCheck (CriBool sw)
 ACF整合性チェック機能のON/OFF [詳解]
 
void criAtomEx_SetAcfConsistencyCheckErrorLevel (CriErrorLevel level)
 ACF整合性チェックエラーレベルの設定 [詳解]
 
void criAtomEx_SetTrackTransitionBySelectorCallback (CriAtomExTrackTransitionBySelectorCbFunc func, void *obj)
 トラックトランジションバイセレクターコールバック関数の登録 [詳解]
 
void criAtomEx_SetVoiceEventCallback (CriAtomExVoiceEventCbFunc func, void *obj)
 ボイスイベントコールバックの登録 [詳解]
 
void criAtomEx_EnumerateVoiceInfos (CriAtomExVoiceInfoCbFunc func, void *obj)
 ボイス情報の列挙 [詳解]
 
void criAtomEx_SetMonitoringVoiceStopCallback (CriAtomExMonitoringVoiceStopCbFunc func, void *obj)
 ボイス停止を監視するコールバック関数の登録 [詳解]
 
void criAtomEx_SetMonitoringVoiceStopPlaybackId (CriAtomExPlaybackId playback_id)
 ボイス停止を監視する再生IDの登録 [詳解]
 

詳解

マクロ定義詳解

◆ criAtomEx_SetDefaultConfigForUserPcmOutput

#define criAtomEx_SetDefaultConfigForUserPcmOutput (   p_config)
値:
{ \
criAtomEx_SetDefaultConfig(&(p_config)->atom_ex); \
criAtomExAsr_SetDefaultConfig(&(p_config)->asr); \
criAtomExHcaMx_SetDefaultConfig(&(p_config)->hca_mx); \
}

ライブラリ初期化用コンフィグ構造体にデフォルト値をセット

引数
[out]p_config初期化用コンフィグ構造体へのポインタ
説明:
criAtomEx_InitializeForUserPcmOutput 関数に設定するコンフィグ構造体 ( CriAtomExConfigForUserPcmOutput )に、デフォルトの値をセットします。
参照
CriAtomExConfigForUserPcmOutput

◆ CRIATOMEX_MAX_VIRTUAL_VOICES

#define CRIATOMEX_MAX_VIRTUAL_VOICES   (32767)

バーチャルボイス数の設定可能上限

説明:
バーチャルボイスの設定可能上限値です。 CriAtomExConfig::max_virtual_voices の値は、この値以下に設定する必要があります。
参照
CriAtomExConfig

◆ criAtomEx_SetUserAllocator

#define criAtomEx_SetUserAllocator (   p_malloc_func,
  p_free_func,
  p_obj 
)     criAtom_SetUserAllocator((p_malloc_func), (p_free_func), (p_obj))

ユーザアロケーターの登録

引数
[in]p_malloc_funcメモリ確保関数
[in]p_free_funcメモリ解放関数
[in]p_objユーザ指定オブジェクト
説明:
CRI Atom ライブラリにメモリアロケーター(メモリの確保/解放関数)を登録します。
本マクロでアロケーターを登録すると、Atomライブラリがワーク領域を必要とするタイミングで、 ユーザが登録したメモリ確保/解放処理が呼び出されることになります。
その結果、ワーク領域を必要とする関数( criAtomExPlayer_Create 関数等)に対し、 個別にワーク領域をセットする処理を省略することが可能になります。
(ワーク領域に NULL ポインタ、ワーク領域サイズに 0 バイトを指定した場合でも、 アロケーターからの動的メモリ確保によりライブラリが問題なく動作するようになります。)
注意:
メモリ確保/解放関数のポインタに NULL を指定することで、 アロケーターの登録を解除することも可能です。
ただし、未解放のメモリ領域が残っている状態で登録を解除すると、 エラーコールバックが返され、登録の解除に失敗します。
(引き続き登録済みのアロケーターが呼び出されることになります。)

本マクロは内部的に criAtom_SetUserAllocator マクロや criAtom_SetUserMallocFunction 関数、 criAtom_SetUserFreeFunction 関数を呼び出します。
本関数とこれらの API を併用しないようご注意ください。
(本関数の呼び出しにより、上記 API にセットした内容が上書きされます。)

また、登録されたメモリアロケーター関数はマルスレッドモード時に複数のスレッドからコール されることがあります。従って、メモリアロケート処理がスレッドセーフでない場合は独自に メモリアロケート処理を排他制御する必要があります。

◆ criAtomEx_SetDefaultConfig

#define criAtomEx_SetDefaultConfig (   p_config)

ライブラリ初期化用コンフィグ構造体にデフォルト値をセット

引数
[out]p_config初期化用コンフィグ構造体へのポインタ
説明:
criAtomEx_Initialize 関数に設定するコンフィグ構造体( CriAtomExConfig )に、 デフォルトの値をセットします。
参照
CriAtomExConfig

◆ criAtomEx_AttachPerformanceMonitor

#define criAtomEx_AttachPerformanceMonitor ( )    criAtom_AttachPerformanceMonitor()

パフォーマンスモニター機能の追加

説明:
パフォーマンス計測機能を追加し、パフォーマンス計測処理を開始します。
本関数を実行後、 criAtomEx_GetPerformanceInfo 関数を実行することで、 サーバー処理の負荷や、サーバー処理の実行間隔等、ライブラリのパフォーマンス情報を 取得することが可能です。
参照
criAtomEx_GetPerformanceInfo, criAtomEx_DetachPerformanceMonitor
例:
// パフォーマンス情報取得用構造体
// ライブラリの初期化
// パフォーマンスモニター機能の追加
// パフォーマンスモニターのリセット
// パフォーマンス計測区間
// パフォーマンス情報の取得
// 計測結果の表示
printf(
"Max CPU Load : %d (us)\n" \
"Average CPU Load : %d (us)\n" \
"Max Server Interval : %d (us)\n" \
"Average Server Interval : %d (us)\n",
);
CriBool criAtomEx_Initialize(const CriAtomExConfig *config, void *work, CriSint32 work_size)
ライブラリの初期化
#define criAtomEx_GetPerformanceInfo(p_info)
パフォーマンス情報の取得
Definition: cri_atom_ex.h:435
#define criAtomEx_AttachPerformanceMonitor()
パフォーマンスモニター機能の追加
Definition: cri_atom_ex.h:399
#define criAtomEx_ResetPerformanceMonitor()
パフォーマンスモニターのリセット
Definition: cri_atom_ex.h:424
パフォーマンス情報
Definition: cri_atom.h:915
CriUint32 max_server_time
Definition: cri_atom.h:918
CriUint32 max_server_interval
Definition: cri_atom.h:921
CriUint32 average_server_time
Definition: cri_atom.h:919
CriUint32 average_server_interval
Definition: cri_atom.h:922

◆ criAtomEx_DetachPerformanceMonitor

#define criAtomEx_DetachPerformanceMonitor ( )    criAtom_DetachPerformanceMonitor()

パフォーマンスモニター機能の削除

説明:
パフォーマンス計測処理を終了し、パフォーマンス計測機能を削除します。
注意
本関数は完了復帰型の関数です。
本関数を実行すると、しばらくの間Atomライブラリのサーバー処理がブロックされます。
音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。

◆ criAtomEx_ResetPerformanceMonitor

#define criAtomEx_ResetPerformanceMonitor ( )    criAtom_ResetPerformanceMonitor()

パフォーマンスモニターのリセット

説明:
現在までの計測結果を破棄します。
パフォーマンスモニターは、 criAtomEx_AttachPerformanceMonitor 関数実行直後 からパフォーマンス情報の取得を開始し、計測結果を累積します。
以前の計測結果を以降の計測結果に含めたくない場合には、 本関数を実行し、累積された計測結果を一旦破棄する必要があります。

◆ criAtomEx_GetPerformanceInfo

#define criAtomEx_GetPerformanceInfo (   p_info)    criAtom_GetPerformanceInfo(p_info)

パフォーマンス情報の取得

説明:
パフォーマンス情報を取得します。
本関数は、 criAtomEx_AttachPerformanceMonitor 関数実行後から criAtomEx_DetachPerformanceMonitor 関数を実行するまでの間、利用可能です。
参照
criAtomEx_AttachPerformanceMonitor, criAtomEx_DetachPerformanceMonitor

◆ criAtomEx_SetChannelMapping

#define criAtomEx_SetChannelMapping (   nch,
  type 
)     criAtom_SetChannelMapping((nch), (type))

チャンネルマッピングパターンの指定

引数
[in]nchマッピングパターンを変更するチャンネル数
[in]typeマッピングパターン
説明:
音声データの各チャンネルと出力スピーカーの対応付けを変更します。
例えば、5ch音声データを再生した場合、デフォルト状態では各チャンネルが L, R, C, Ls, Rs の順で出力されます。
これに対し、::criAtomEx_SetChannelMapping(5, 1); を実行した場合、 5ch音声データの各チャンネルが L, R, LFE, Ls, Rs の順で出力されるようになります。
備考:
現状、本関数は5ch音声データのマッピングパターン変更にしか対応していません。

◆ criAtomEx_CalculateAdxBitrate

#define criAtomEx_CalculateAdxBitrate (   num_channels,
  sampling_rate 
)     criAtom_CalculateAdxBitrate(num_channels, sampling_rate)

ADXデータのビットレート計算

引数
[in]num_channelsデータのチャンネル数
[in]sampling_rateデータのサンプリングレート
戻り値
CriSint32 ビットレート[bps]
説明:
ADXデータのビットレートを計算します。
計算に失敗すると本関数は-1を返します。
計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

◆ criAtomEx_CalculateHcaBitrate

#define criAtomEx_CalculateHcaBitrate (   num_channels,
  sampling_rate,
  quality 
)     criAtom_CalculateHcaBitrate(num_channels, sampling_rate, quality)

HCAデータのビットレート計算

引数
[in]num_channelsデータのチャンネル数
[in]sampling_rateデータのサンプリングレート
[in]qualityデータのエンコード品質
戻り値
CriSint32 ビットレート[bps]
説明:
HCAデータのビットレートを計算します。
計算に失敗すると本関数は-1を返します。
計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
qualityにはCRI Atom CraftまたはCRI Atom Encoderで設定したエンコード品質を指定します。

◆ criAtomEx_CalculateHcaMxBitrate

#define criAtomEx_CalculateHcaMxBitrate (   num_channels,
  sampling_rate,
  quality 
)     criAtom_CalculateHcaMxBitrate(num_channels, sampling_rate, quality)

HCA-MXデータのビットレート計算

引数
[in]num_channelsデータのチャンネル数
[in]sampling_rateデータのサンプリングレート
[in]qualityデータのエンコード品質
戻り値
CriSint32 ビットレート[bps]
説明:
HCA-MXデータのビットレートを計算します。
計算に失敗すると本関数は-1を返します。
計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
qualityにはCRI Atom CraftまたはCRI Atom Encoderで設定したエンコード品質を指定します。

◆ criAtomEx_CalculateWaveBitrate

#define criAtomEx_CalculateWaveBitrate (   num_channels,
  sampling_rate,
  num_bits 
)     criAtom_CalculateWaveBitrate(num_channels, sampling_rate, num_bits)

Waveデータのビットレート計算

引数
[in]num_channelsデータのチャンネル数
[in]sampling_rateデータのサンプリングレート
[in]num_bitsサンプル当たりのビット数
戻り値
CriSint32 ビットレート[bps]
説明:
Waveデータのビットレートを計算します。
計算に失敗すると本関数は-1を返します。
計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

◆ criAtomEx_CalculateAiffBitrate

#define criAtomEx_CalculateAiffBitrate (   num_channels,
  sampling_rate,
  num_bits 
)     criAtom_CalculateAiffBitrate(num_channels, sampling_rate, num_bits)

AIFFデータのビットレート計算

引数
[in]num_channelsデータのチャンネル数
[in]sampling_rateデータのサンプリングレート
[in]num_bitsサンプル当たりのビット数
戻り値
CriSint32 ビットレート[bps]
説明:
AIFFデータのビットレートを計算します。
計算に失敗すると本関数は-1を返します。
計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。

◆ criAtomEx_GetStreamingInfo

#define criAtomEx_GetStreamingInfo (   streaming_info)     criAtom_GetStreamingInfo(streaming_info)

ストリーミング情報の取得

引数
[out]streaming_infoストリーミング情報保存先のポインタ
戻り値
CRI_TRUE値を取得できた
CRI_FALSE値を取得できなかった
説明:
CRI Atomライブラリのストリーミング管理モジュールからストリーミング情報を取得します。
本関数は、呼び出された時点のストリーミング情報を streaming_info に保存します。
注意
Atomサーバー内の処理と一部排他制御しているため、 優先度逆転によりAtomサーバーを止めてしまわないように注意してください。
一部のプラットフォームでは、ストリーミング情報を取得できません。
本関数の戻り値を確認してください。
エラーが原因でストリーミング情報を取得できなかった場合については、
エラーコールバックが発生していないかを確認してください。
参照
CriExAtomStreamingInfo

◆ criAtomEx_SetFreeTimeBufferingFlagForDefaultDevice

#define criAtomEx_SetFreeTimeBufferingFlagForDefaultDevice (   flag)     criAtom_SetFreeTimeBufferingFlagForDefaultDevice(flag)

ファイルI/Oの空き時間を使ったストリーミング読み込みを行うかどうか

引数
[in]flagCRI_TRUE=ファイルI/Oの空き時間を使って読み込む
戻り値
CRI_TRUE正常に処理が完了
CRI_FALSEエラーが発生
説明:
CRI Atomライブラリのストリーミング管理モジュールに対して、
ファイルI/Oの空き時間を使ってストリーミング読み込みを行うかどうかを設定します。
CRI_TRUEを設定すると、CRI Atomライブラリのストリーミング管理モジュールは ファイルI/Oの空き時間を使って、空きバッファーに対してデータを余分に読み込みます。
CRI_FALSEを設定すると、CRI Atomライブラリのストリーミング管理モジュールは ファイルI/Oの空き時間を使わなくなり、余分なストリーミング読み込みを行わなくなります。
デフォルトではCRI_TRUEを設定した状態です。
備考:
ファイルI/Oの空き時間を使い、空きバッファーに対してデータを余分に読み込んでおくことで、 シークの発生頻度を減らす事ができ、総合的なファイルI/Oの効率が向上します。
一方、通常ファイルのロード処理は、ストリーミングの読み込みよりも優先度が低いため、 空きバッファーが大きすぎると通常ファイルのロード処理を大幅に遅延させてしまいます。
注意
Atomサーバー内の処理と一部排他制御しているため、 優先度逆転によりAtomサーバーを止めてしまわないように注意してください。

型定義詳解

◆ CriAtomExMallocFunc

メモリ確保関数

説明:
アロケーター登録時に使用するメモリ確保関数の型です。
参照
criAtomEx_SetUserAllocator

◆ CriAtomExFreeFunc

メモリ解放関数

説明:
アロケーター登録時に使用するメモリ解放関数の型です。
参照
criAtomEx_SetUserAllocator

◆ CriAtomExThreadModel

スレッドモデル

説明:
Atomライブラリがどのようなスレッドモデルで動作するかを表します。
ライブラリ初期化時( criAtomEx_Initialize 関数 )に CriAtomExConfig 構造体にて指定します。
参照
criAtomEx_Initialize, CriAtomExConfig

◆ CriAtomExCoordinateSystem

座標系

説明:
Atomライブラリが3Dポジション計算を行う際、どの座標系を使用するかを表します。
ライブラリ初期化時( criAtomEx_Initialize 関数 )に CriAtomExConfig 構造体にて指定します。
参照
criAtomEx_Initialize, CriAtomExConfig

◆ CriAtomExAcfLocationInfoType

ACF指定タイプ

説明:
Atomライブラリの初期化処理内でACF登録を行う際の、ACF情報の指定タイプを表します。
ライブラリ初期化時( criAtomEx_Initialize 関数 )に CriAtomExConfig 構造体の CriAtomExAcfRegistrationInfo にて指定します。
参照
criAtomEx_Initialize, CriAtomExConfig, CriAtomExAcfRegistrationInfo

◆ CriAtomExAcfRegistrationInfo

ACF位置情報

説明:
Atomライブラリの初期化処理内でACF登録を行う際の、ACFデータの指定情報です。
ライブラリ初期化時( criAtomEx_Initialize 関数 )に CriAtomExConfig 構造体のacf_infoメンバに設定します。
備考
データ指定のタイプによって、設定すべき情報が異なります。
適切なtypeを設定し、共用体infoの中の対応構造体に設定を行ってください。
CriAtomExAcfLocationInfo acf_info;
acf_info.name.binder = NULL;
acf_info.name.path = "sounddata/project.scf";
config.acf_info = &acf_info;
#define criAtomEx_SetDefaultConfig(p_config)
ライブラリ初期化用コンフィグ構造体にデフォルト値をセット
Definition: cri_atom_ex.h:326
@ CRIATOMEX_ACF_LOCATION_INFO_TYPE_NAME
Definition: cri_atom_ex.h:1328
Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。 criAtomEx_Initialize 関数の引数に指定します。 CRI Atomラ...
Definition: cri_atom_ex.h:1465
const CriAtomExAcfRegistrationInfo * acf_info
ACF情報へのポインタ
Definition: cri_atom_ex.h:1838
参照
criAtomEx_Initialize, CriAtomExConfig

◆ CriAtomExConfig

Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtomEx_Initialize 関数の引数に指定します。

CRI Atomライブラリは、初期化時に本構造体で指定された設定に応じて、内部リソースを 必要なだけ確保します。
ライブラリが必要とするワーク領域のサイズは、本構造体で指定されたパラメーターに応じて 変化します。

備考:
デフォルト設定を使用する場合、 criAtomEx_SetDefaultConfig マクロで構造体にデフォルト パラメーターをセットした後、 criAtomEx_Initialize 関数に構造体を指定してください。
注意
将来的にメンバが増える可能性があるため、 criAtomEx_SetDefaultConfig マクロを使用しない 場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照
criAtomEx_Initialize, criAtomEx_SetDefaultConfig

◆ CriAtomExPerformanceInfo

パフォーマンス情報

説明:
パフォーマンス情報を取得するための構造体です。
criAtomEx_GetPerformanceInfo 関数で利用します。
参照
criAtomEx_GetPerformanceInfo

◆ CriAtomExWaveId

typedef CriSint32 CriAtomExWaveId

波形データID

説明:
波形データIDは、ユーザがオーサリングツール上でAWBコンテンツに対して割り当てた一意のIDです。
波形データIDをプログラム中で保持する際には、本変数型を用いて値を取り扱う必要があります。
参照
criAtomExPlayer_SetWaveId

◆ CriAtomExVibrationId

typedef CriSint32 CriAtomExVibrationId

振動ID

説明:
振動IDをプログラム中で保持する際には、本変数型を用いて値を取り扱う必要があります。

◆ CriAtomExFormat

フォーマット種別

説明:
AtomExプレーヤーで再生する音声のフォーマットを指定するためのデータ型です。
criAtomExPlayer_SetFormat 関数で利用します。
参照
criAtomExPlayer_SetFormat

◆ CriAtomExFormatInfo

音声データフォーマット情報

説明:
音声データのフォーマット情報です。
備考:
メモリ上に配置された音声データについては、 criAtomEx_AnalyzeAudioHeader 関数を実行することで音声データのフォーマット情報を取得可能です。
再生中の音声データのフォーマットについては criAtomExPlayback_GetFormatInfo 関数で取得可能です。
参照
criAtomEx_AnalyzeAudioHeader, criAtomExPlayback_GetFormatInfo

◆ CriAtomExResumeMode

ポーズ解除対象

説明:
ポーズを解除する対象を指定するためのデータ型です。
criAtomExPlayer_Resume 関数、および criAtomExPlayback_Resume 関数の引数として使用します。
参照
criAtomExPlayer_Resume, criAtomExPlayback_Resume

◆ CriAtomExBiquadFilterType

バイクアッドフィルターのタイプ

説明:
バイクアッドフィルターのタイプを指定するためのデータ型です。
criAtomExPlayer_SetBiquadFilterParameters 関数で利用します。
参照
criAtomExPlayer_SetBiquadFilterParameters

◆ CriAtomExSilentMode

無音時処理モード

説明:
無音時処理モードを指定するためのデータ型です。
criAtomExPlayer_SetSilentMode 関数で利用します。
無音となったかどうかは、以下のいずれかの値が0になったかどうかで判断します。
  • ボリューム
  • 3Dパンニングの演算結果によるボリューム
  • 3Dポジショニングの演算結果によるボリューム
注意
センドレベルや2Dパンの設定値では無音と判断されない点にご注意ください。
参照
criAtomExPlayer_SetSilentMode

◆ CriAtomExPanType

パンタイプ

説明:
どのようにして定位計算を行うかを指定するためのデータ型です。
criAtomExPlayer_SetPanType 関数で利用します。
参照
criAtomExPlayer_SetPanType

◆ CriAtomExPanSpeakerType

パンニング時の出力スピーカータイプ

説明:
定位計算を行う際、出力としてどのスピーカーを使用するかを表します。
criAtomExPlayer_ChangeDefaultPanSpeakerType 関数、::criAtomExPlayer_SetPanSpeakerType 関数で利用します。
備考:
ステレオスピーカーのプラットフォームでは、どれを選んだとしても最終的にはステレオにダウンミックスされます。
参照
criAtomExPlayer_SetPanSpeakerType

◆ CriAtomExPanAngleType

パンニング時の角度タイプ

説明:
マルチチャンネル素材の定位計算を行う際、各入力チャンネルをどのような角度として扱うかを表します。
criAtomExPlayer_SetPanAngleType 関数で利用します。
参照
criAtomExPlayer_SetPanAngleType

◆ CriAtomExSpeakerSystem

typedef CriUint32 CriAtomExSpeakerSystem

出力スピーカーの並び順

説明:
各チャンネルの添字と出力スピーカーの対応関係を表します。
criAtomEx_SetSpeakerAngleArray 関数で利用します。
参照
criAtomEx_SetSpeakerAngleArray CRIATOMEX_SPEAKER_SYSTEM_SURROUND_5_1 CRIATOMEX_SPEAKER_SYSTEM_SURROUND_7_1

◆ CriAtomExSphericalCoordinates

球面座標構造体

説明:
球面座標を扱うための構造体です。

◆ CriAtomEx3dAttenuationParameter

距離減衰パラメーター構造体

説明:
音源の距離減衰に関するパラメーターを保持する構造体です。

◆ CriAtomExBlockIndex

typedef CriSint32 CriAtomExBlockIndex

ブロックインデックス

説明:
ブロックインデックスは、ブロックシーケンス内のブロックのオフセットを示す番号です。
(先頭のブロックが0番、その次のブロックが1番…というふうに、ブロックに 順番に割り当てられる番号です。)
ブロックインデックスをプログラム中で保持する際には、本変数型を用いて値を取り扱う必要があります。
参照
criAtomExPlayer_SetFirstBlockIndex, criAtomExPlayback_SetNextBlockIndex, criAtomExPlayback_GetCurrentBlockIndex

◆ CriAtomExGameVariableId

typedef CriUint32 CriAtomExGameVariableId

ゲーム変数ID

説明:
ゲーム変数IDは、ユーザがオーサリングツール上で ACF 内のゲーム変数に対して割り当てたIDです。
ゲーム変数IDをプログラム中で保持する際には、本変数型を用いて値を取り扱う必要があります。
参照
criAtomEx_GetGameVariableById, criAtomEx_SetGameVariableById

◆ CriAtomExGameVariableInfo

ゲーム変数情報取得用構造体

説明:
ゲーム変数情報を取得するための構造体です。
CriAtomExGameVariableInfo 関数に引数として渡します。
参照
criAtomEx_GetGameVariableInfo

◆ CriAtomExStreamingInfo

ストリーミング情報

説明:
criAtomEx_GetStreamingInfo 関数で取得した時点でのストリーミングの状況です。
参照
criAtomEx_GetStreamingInfo

◆ CriAtomExCharacterEncoding

文字コード

説明:
文字コード(文字符号化方式)を表します。

◆ CriAtomExResourceUsage

各種リソースの使用状況

説明:
各種リソースの使用状況を表わす構造体です。

◆ CriAtomExCurveType

曲線タイプ

説明:
曲線のタイプです。
参照
CriAtomExReactFadeParameter

◆ CriAtomExVoiceEvent

ボイスイベント

説明:
ボイスイベントの種別を示す値です。
ボイスイベントコールバックに引数として渡されます。
参照
CriAtomExVoiceEventCbFunc, criAtomEx_SetVoiceEventCallback

◆ CriAtomExVoiceInfoDetail

ボイスの詳細情報

説明:
ボイスイベント発生時のボイスの詳細情報を保持した構造体です。
ボイスイベントコールバックに引数として渡されます。
参照
CriAtomExVoiceEventCbFunc, criAtomEx_SetVoiceEventCallback

◆ CriAtomExVoiceEventCbFunc

typedef void( * CriAtomExVoiceEventCbFunc) (void *obj, CriAtomExVoiceEvent voice_event, const CriAtomExVoiceInfoDetail *request, const CriAtomExVoiceInfoDetail *removed, const CriAtomExVoiceInfoDetail *removed_in_group)

ボイスイベントコールバック関数型

引数
[in]objユーザ指定オブジェクト
[in]voice_event発生イベント
[in]request発音要求の詳細情報
[in]removed停止ボイスの詳細情報
[in]removed_in_groupグループ内停止ボイスの詳細情報
説明:
ボイスイベントの通知に使用される、コールバック関数の型です。
criAtomEx_SetVoiceEventCallback 関数に本関数型のコールバック関数を登録することで、 ボイスイベント発生時にコールバックを受け取ることが可能となります。

コールバック関数の第3〜5引数(request、removed、removed_in_group)に入る値は、 ボイスイベントの種別(第2引数のvoice_eventの値)により以下のように変わります。

(1) CRIATOMEX_VOICE_EVENT_ALLOCATE時
第3引数requestに、ボイスを取得した発音リクエストの情報が入ります。
第4引数、第5引数にはNULLが入ります。

(2) CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE時
第3引数requestに、ボイスを取得した発音リクエストの情報が入ります。
第4引数removedには、ボイスを奪い取られ、発音が停止した再生の情報が入ります。
第5引数にはNULLが入ります。

(3) CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE_IN_GROUP時
第3引数requestに、ボイスを取得した発音リクエストの情報が入ります。
第4引数にはNULLが入ります。
第5引数removed_in_groupには、ボイスを奪い取られ、発音が停止した再生の情報が入ります。

(4) CRIATOMEX_VOICE_EVENT_ALOOCATE_AND_REMOVE_TWO時
第3引数requestに、ボイスを取得した発音リクエストの情報が入ります。
第4引数removedには、ボイスを奪い取られ、発音が停止した再生の情報が入ります。
第5引数removed_in_groupには、グループ内の発音数調整により、停止された再生の情報が入ります。

(5) CRIATOMEX_VOICE_EVENT_REJECT時
第3引数requestに、ボイスの取得が棄却された発音リクエストの情報が入ります。
第4引数、第5引数にはNULLが入ります。

(6) CRIATOMEX_VOICE_EVENT_REJECT_BY_GROUP_LIMIT時
第3引数requestに、ボイスの取得が棄却された発音リクエストの情報が入ります。
第4引数、第5引数にはNULLが入ります。

(7) CRIATOMEX_VOICE_EVENT_REMOVE時
第4引数removedに、再生が終了または停止したボイスの情報が入ります。
第3引数、第5引数にはNULLが入ります。
注意
本コールバックでは、ボイス単位のリミット制御 (ボイスプライオリティに基づいた波形単位のプライオリティ制御) に関する情報のみが取得可能です。
ボイス取得前にキューリミット制御で発音が棄却された場合、 本コールバックにCRIATOMEX_VOICE_EVENT_REJECT等の情報は返されません。
(カテゴリキュープライオリティによる制御に関する情報は、現状取得できません。)

ボイスイベントコールバック時点では、 request->atom_player には再生すべき音声データがまだセットされていません。
そのため、再生する音声データの情報等については、 atom_player に問い合わせず、 CriAtomExVoiceInfoDetail 構造体のメンバ値を使用してください。

本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。
参照
criAtomEx_SetVoiceEventCallback, CriAtomExVoiceEvent, CriAtomExVoiceInfoDetail

◆ CriAtomExVoiceInfoCbFunc

typedef void( * CriAtomExVoiceInfoCbFunc) (void *obj, const CriAtomExVoiceInfoDetail *voice_info)

ボイス情報コールバック関数型

引数
[in]objユーザ指定オブジェクト
[in]voice_infoボイスの詳細情報
説明:
ボイス情報の通知に使用される、コールバック関数の型です。
criAtomEx_EnumerateVoiceInfos 関数に本関数型のコールバック関数を登録することで、 再生中のボイスの情報をコールバックで受け取ることが可能となります。
注意
本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。
参照
criAtomEx_EnumerateVoiceInfos, CriAtomExVoiceInfoDetail

◆ CriAtomExMonitoringVoiceStopInfo

ボイス停止情報取得用構造体

説明:
ボイス停止情報を取得するための構造体です。
CriAtomExMonitoringVoiceStopCbFunc 関数型の引数として渡されます。
参照
CriAtomExMonitoringVoiceStopCbFunc

◆ CriAtomExCueLinkCbFunc

typedef CriSint32( * CriAtomExCueLinkCbFunc) (void *obj, const CriAtomExCueLinkInfo *info)

キューリンクコールバック

説明:
引数
[in]objユーザ指定オブジェクト
[in]infoキューリンク情報
戻り値
未使用 AtomExライブラリのキューリンクコールバック関数型です。
コールバック関数の登録には criAtomEx_SetCueLinkCallback 関数を使用します。
登録したコールバック関数は、ライブラリ内でキューリンクが処理されるタイミングで実行されます。
そのため、ライブラリ処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。
基本的に、コールバック関数内ではAtomライブラリAPIを使用しないでください。
本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。
参照
criAtomEx_SetCueLinkCallback

◆ CriAtomExPlaybackCancelType

プレイバックキャンセルタイプ

説明:
プレイバックキャンセルの種別を示す値です。
参照
CriAtomExPlaybackCancelInfo, criAtomEx_SetPlaybackCancelCallback

◆ CriAtomExPlaybackCancelCbFunc

typedef void( * CriAtomExPlaybackCancelCbFunc) (void *obj, const CriAtomExPlaybackCancelInfo *info)

プレイバックキャンセルコールバック

説明:
引数
[in]objユーザ指定オブジェクト
[in]infoプレイバックキャンセル情報
戻り値
未使用 AtomExライブラリのプレイバックキャンセルコールバック関数型です。
コールバック関数の登録には criAtomEx_SetPlaybackCancelCallback 関数を使用します。
登録したコールバック関数は、ライブラリ内で再生開始処理がキャンセルされるタイミングで実行されます。
そのため、ライブラリ処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。
基本的に、コールバック関数内ではAtomライブラリAPIを使用しないでください。
本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。
参照
criAtomEx_SetPlaybackCancelCallback

◆ CriAtomExTrackTransitionBySelectorCbFunc

typedef void( * CriAtomExTrackTransitionBySelectorCbFunc) (void *obj, const CriAtomExTrackTransitionBySelectorInfo *info)

トラックトランジションバイセレクターコールバック

説明:
引数
[in]objユーザ指定オブジェクト
[in]infoトラックトランジションバイセレクター情報
戻り値
未使用 AtomExライブラリのトラックトランジションバイセレクターコールバック関数型です。
コールバック関数の登録には criAtomEx_SetTrackTransitionBySelectorCallback 関数を使用します。
登録したコールバック関数は、ライブラリ内でトランジション処理が開始されるタイミングで実行されます。
そのため、ライブラリ処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。
基本的に、コールバック関数内ではAtomライブラリAPIを使用しないでください。
本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。
参照
criAtomEx_SetTrackTransitionBySelectorCallback

列挙型詳解

◆ CriAtomExThreadModelTag

スレッドモデル

説明:
Atomライブラリがどのようなスレッドモデルで動作するかを表します。
ライブラリ初期化時( criAtomEx_Initialize 関数 )に CriAtomExConfig 構造体にて指定します。
参照
criAtomEx_Initialize, CriAtomExConfig
列挙値
CRIATOMEX_THREAD_MODEL_MULTI 

マルチスレッド

説明:
ライブラリは内部でスレッドを作成し、マルチスレッドにて動作します。
スレッドは criAtomEx_Initialize 関数呼び出し時に作成されます。
ライブラリのサーバー処理は、作成されたスレッド上で定期的に実行されます。
CRIATOMEX_THREAD_MODEL_MULTI_WITH_SONICSYNC 

マルチスレッド低遅延出力

説明:
ライブラリは内部でスレッドを作成し、マルチスレッドにて動作します。
スレッドは criAtomEx_Initialize 関数呼び出し時に作成されます。
ライブラリのサーバー処理は、作成されたスレッド上で定期的に実行されます。
並行して、サウンドシステムに連動したスレッド上でも音声のレンダリングが行われます。
備考:
本スレッドモデルは、一部のプラットフォームでしか使用できません。
本機能に未対応のプラットフォームでは、ライブラリ初期化時に CRIATOMEX_THREAD_MODEL_MULTI_WITH_SONICSYNCが指定された場合でも、 CRIATOMEX_THREAD_MODEL_MULTI指定時と同様の動作となります。
注意
ライブラリの処理は、複数のスレッドで分散して行われます。
本スレッドモデルを使用する場合、 処理負荷の計測には以下の2種類の関数を併用する必要があります。
  • criAtomEx_GetPerformanceInfo
  • criAtomExAsrRack_GetPerformanceInfo
CRIATOMEX_THREAD_MODEL_MULTI_USER_DRIVEN 

マルチスレッド(ユーザ駆動式)

説明:
ライブラリは内部でスレッドを作成し、マルチスレッドにて動作します。
スレッドは criAtomEx_Initialize 関数呼び出し時に作成されます。
サーバー処理自体は作成されたスレッド上で実行されますが、 CRIATOMEX_THREAD_MODEL_MULTI とは異なり、自動的には実行されません。
ユーザは criAtomEx_ExecuteMain 関数で明示的にサーバー処理を駆動する必要があります。
criAtomEx_ExecuteMain 関数を実行すると、スレッドが起動し、サーバー処理が実行されます。)
CRIATOMEX_THREAD_MODEL_USER_MULTI 

ユーザマルチスレッド

説明:
ライブラリ内部ではスレッドを作成しませんが、ユーザが独自に作成したスレッド からサーバー処理関数を呼び出せるよう、内部の排他制御は行います。
サーバー処理は criAtomEx_ExecuteMain 関数内で同期実行されます。
CRIATOMEX_THREAD_MODEL_SINGLE 

シングルスレッド

説明:
ライブラリ内部でスレッドを作成しません。また、内部の排他制御も行いません。
サーバー処理は criAtomEx_ExecuteMain 関数内で同期実行されます。
注意
このモデルを選択した場合、各APIとサーバー処理関数を同一スレッドから呼び出すようにしてください。

◆ CriAtomExCoordinateSystemTag

座標系

説明:
Atomライブラリが3Dポジション計算を行う際、どの座標系を使用するかを表します。
ライブラリ初期化時( criAtomEx_Initialize 関数 )に CriAtomExConfig 構造体にて指定します。
参照
criAtomEx_Initialize, CriAtomExConfig
列挙値
CRIATOMEX_COORDINATE_SYSTEM_LEFT_HANDED 

左手座標系

説明:
xの正方向が右、yの正方向が上、zの正方向が奥となるような、左手デカルト座標系です。
CRIATOMEX_COORDINATE_SYSTEM_RIGHT_HANDED 

右手座標系

説明:
xの正方向が右、yの正方向が上、zの正方向が手前となるような、右手デカルト座標系です。

◆ CriAtomExAcfLocationInfoTypeTag

ACF指定タイプ

説明:
Atomライブラリの初期化処理内でACF登録を行う際の、ACF情報の指定タイプを表します。
ライブラリ初期化時( criAtomEx_Initialize 関数 )に CriAtomExConfig 構造体の CriAtomExAcfRegistrationInfo にて指定します。
参照
criAtomEx_Initialize, CriAtomExConfig, CriAtomExAcfRegistrationInfo
列挙値
CRIATOMEX_ACF_LOCATION_INFO_TYPE_NONE 

未設定

CRIATOMEX_ACF_LOCATION_INFO_TYPE_NAME 

ファイル名

CRIATOMEX_ACF_LOCATION_INFO_TYPE_ID 

コンテンツID

CRIATOMEX_ACF_LOCATION_INFO_TYPE_DATA 

オンメモリデータ

◆ CriAtomExResumeModeTag

ポーズ解除対象

説明:
ポーズを解除する対象を指定するためのデータ型です。
criAtomExPlayer_Resume 関数、および criAtomExPlayback_Resume 関数の引数として使用します。
参照
criAtomExPlayer_Resume, criAtomExPlayback_Resume
列挙値
CRIATOMEX_RESUME_ALL_PLAYBACK 

一時停止方法に関係なく再生を再開

CRIATOMEX_RESUME_PAUSED_PLAYBACK 

Pause 関数でポーズをかけた音声のみ再生を再開

CRIATOMEX_RESUME_PREPARED_PLAYBACK 

Prepare 関数で再生準備を指示した音声の再生を開始

◆ CriAtomExBiquadFilterTypeTag

バイクアッドフィルターのタイプ

説明:
バイクアッドフィルターのタイプを指定するためのデータ型です。
criAtomExPlayer_SetBiquadFilterParameters 関数で利用します。
参照
criAtomExPlayer_SetBiquadFilterParameters
列挙値
CRIATOMEX_BIQUAD_FILTER_TYPE_OFF 

フィルター無効

CRIATOMEX_BIQUAD_FILTER_TYPE_LOWPASS 

ローパスフィルター

CRIATOMEX_BIQUAD_FILTER_TYPE_HIGHPASS 

ハイパスフィルター

CRIATOMEX_BIQUAD_FILTER_TYPE_NOTCH 

ノッチフィルター

CRIATOMEX_BIQUAD_FILTER_TYPE_LOWSHELF 

ローシェルフフィルター

CRIATOMEX_BIQUAD_FILTER_TYPE_HIGHSHELF 

ハイシェルフフィルター

CRIATOMEX_BIQUAD_FILTER_TYPE_PEAKING 

ピーキングフフィルター

◆ CriAtomExSilentModeTag

無音時処理モード

説明:
無音時処理モードを指定するためのデータ型です。
criAtomExPlayer_SetSilentMode 関数で利用します。
無音となったかどうかは、以下のいずれかの値が0になったかどうかで判断します。
  • ボリューム
  • 3Dパンニングの演算結果によるボリューム
  • 3Dポジショニングの演算結果によるボリューム
注意
センドレベルや2Dパンの設定値では無音と判断されない点にご注意ください。
参照
criAtomExPlayer_SetSilentMode
列挙値
CRIATOMEX_SILENT_MODE_NORMAL 

何もしない

説明:
無音となっても特別な処理は行いません。(デフォルト値)
CRIATOMEX_SILENT_MODE_STOP 

停止する

説明:
無音となった際は自動的に停止します。
CRIATOMEX_SILENT_MODE_VIRTUAL 

バーチャル化する

説明:
無音となった際は自動的にバーチャル化します。
CRIATOMEX_SILENT_MODE_VIRTUAL_RETRIGGER 

再発音型でバーチャル化する

説明:
無音となった際は自動的に再発音型でバーチャル化します。

◆ CriAtomExPanTypeTag

パンタイプ

説明:
どのようにして定位計算を行うかを指定するためのデータ型です。
criAtomExPlayer_SetPanType 関数で利用します。
参照
criAtomExPlayer_SetPanType
列挙値
CRIATOMEX_PAN_TYPE_UNKNOWN 

不明

説明:
パンタイプが判明していない状態です。 criAtomExAcb_GetCueInfoByName 関数などにて、 ACB Ver.1.35.00 未満の ACB データ内のキューの情報( CriAtomExCueInfo )を取得した場合に得られます。
注意
criAtomExPlayer_SetPanType 関数にて指定すると、エラーが発生します。
CRIATOMEX_PAN_TYPE_PAN3D 

パン3D

説明:
パン3Dで定位を計算します。
CRIATOMEX_PAN_TYPE_3D_POS 

3Dポジショニング

説明:
3Dポジショニングで定位を計算します。
CRIATOMEX_PAN_TYPE_AUTO 

自動

説明:
AtomExプレーヤーに3D音源/3Dリスナーが設定されている場合は3Dポジショニングで、 設定されていない場合はパン3Dで、それぞれ定位を計算します。

◆ CriAtomExPanSpeakerTypeTag

パンニング時の出力スピーカータイプ

説明:
定位計算を行う際、出力としてどのスピーカーを使用するかを表します。
criAtomExPlayer_ChangeDefaultPanSpeakerType 関数、::criAtomExPlayer_SetPanSpeakerType 関数で利用します。
備考:
ステレオスピーカーのプラットフォームでは、どれを選んだとしても最終的にはステレオにダウンミックスされます。
参照
criAtomExPlayer_SetPanSpeakerType
列挙値
CRIATOMEX_PAN_SPEAKER_TYPE_4CH 

4chパンニング

説明:
L, R, Ls, Rsを使用してパンニングを行います。
CRIATOMEX_PAN_SPEAKER_TYPE_5CH 

5chパンニング

説明:
L, R, C, Ls, Rsを使用してパンニングを行います。
CRIATOMEX_PAN_SPEAKER_TYPE_6CH 

6chパンニング

説明:
L, R, Ls, Rs, Lsb, Rsbを使用してパンニングを行います。
CRIATOMEX_PAN_SPEAKER_TYPE_7CH 

7chパンニング

説明:
L, R, C, Ls, Rs, Lsb, Rsbを使用してパンニングを行います。
CRIATOMEX_PAN_SPEAKER_TYPE_5_0_2CH 

5.0.2chパンニング

説明:
L, R, C, Ls, Rs, Lts, Rtsを使用してパンニングを行います。
CRIATOMEX_PAN_SPEAKER_TYPE_7_0_4CH 

7.0.4chパンニング

説明:
L, R, C, Ls, Rs, Lsb, Rsb、Ltf、Rtf、Ltb、Rtbを使用してパンニングを行います。
CRIATOMEX_PAN_SPEAKER_TYPE_4_0_2CH 

4.0.2chパンニング

説明:
L, R, Ls, Rs, Lts, Rtsを使用してパンニングを行います。
CRIATOMEX_PAN_SPEAKER_TYPE_6_0_4CH 

6.0.4chパンニング

説明:
L, R, Ls, Rs, Lsb, Rsb、Ltf、Rtf、Ltb、Rtbを使用してパンニングを行います。
CRIATOMEX_PAN_SPEAKER_TYPE_AUTO 

パンニング自動設定

説明:
出力先のチャンネル数に応じて最大のチャンネル構成をを使用してパンニングを行います。センタースピーカーは含まれません。デフォルトのパンスピーカータイプです。
CRIATOMEX_PAN_SPEAKER_TYPE_AUTO_WITH_CENTER 

パンニング自動設定(センタースピーカーあり)

説明:
出力先のチャンネル数に応じて最大のチャンネル構成をを使用してパンニングを行います。センタースピーカーが含まれます。

◆ CriAtomExPanAngleTypeTag

パンニング時の角度タイプ

説明:
マルチチャンネル素材の定位計算を行う際、各入力チャンネルをどのような角度として扱うかを表します。
criAtomExPlayer_SetPanAngleType 関数で利用します。
参照
criAtomExPlayer_SetPanAngleType
列挙値
CRIATOMEX_PAN_ANGLE_TYPE_OFFSET 

オフセット

説明:
設定されているパン3D角度を中心として、スピーカーの配置を元にしたオフセット値を各チャンネル毎に加えて、 それぞれの入力チャンネルで個別にパンニング計算を行います。
例えばステレオ素材でパン3D角度を0度と設定した場合、Lチャンネルは-30度となりそのままLスピーカーから出力され、 Rチャンネルは+30度となりそのままRスピーカーから出力されます。 またパン3D角度を+30度と設定した場合、Lチャンネルは0度、Rチャンネルは60度の位置に定位しているものとして、 パンニング計算が行われます。
CRIATOMEX_PAN_ANGLE_TYPE_FIX 

固定

説明:
入力チャンネル数に応じて、各チャンネルが該当スピーカー位置に固定して存在しているものとして、 各スピーカー間のバランスを計算するような形でパンニング計算を行います。
例えばステレオ素材でパン3D角度を0度と設定した場合、LチャンネルはLスピーカーから約0.7倍で出力され、 Rチャンネルはスピーカーから約0.7倍で出力されます。 またパン3D角度を+30度と設定した場合、Lチャンネルはまったく出力されず、RチャンネルはRスピーカーからそのまま出力されます。
備考:
この挙動はCRI Audioの頃のパン3Dと同等です。
どのスピーカーにどのチャンネルを割り当てるかは、::criAtomExPlayer_SetDrySendLevel 関数で設定するドライセンドレベルでの扱いと同様です。
参照
criAtomExPlayer_SetDrySendLevel
CRIATOMEX_PAN_ANGLE_TYPE_AMBIENCE_MIX 

環境音ミックス

説明:
特殊なパン角度タイプです。使用しないでください。
CRIATOMEX_PAN_ANGLE_TYPE_AMBIENCE_STRAIGHT 

環境音直線補間

説明:
特殊なパン角度タイプです。使用しないでください。

◆ CriAtomExCharacterEncodingTag

文字コード

説明:
文字コード(文字符号化方式)を表します。
列挙値
CRIATOMEX_CHARACTER_ENCODING_UTF8 

UTF-8

CRIATOMEX_CHARACTER_ENCODING_SJIS 

Shift_JIS

◆ CriAtomExCurveTypeTag

曲線タイプ

説明:
曲線のタイプです。
参照
CriAtomExReactFadeParameter
列挙値
CRIATOMEX_CURVE_TYPE_LINEAR 

直線

CRIATOMEX_CURVE_TYPE_SQUARE 

低速変化

CRIATOMEX_CURVE_TYPE_SQUARE_REVERSE 

高速変化

CRIATOMEX_CURVE_TYPE_S 

S字曲線

CRIATOMEX_CURVE_TYPE_FLAT_AT_HALF 

逆S字曲線

◆ CriAtomExVoiceEventTag

ボイスイベント

説明:
ボイスイベントの種別を示す値です。
ボイスイベントコールバックに引数として渡されます。
参照
CriAtomExVoiceEventCbFunc, criAtomEx_SetVoiceEventCallback
列挙値
CRIATOMEX_VOICE_EVENT_ALLOCATE 

ボイスの新規確保

説明:
ボイスプールから空きボイスが取得され、新規に発音が開始されたことを示す値です。
CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE 

ボイスの奪い取り

説明:
再生中のボイスが奪い取られたことを示す値です。
再生中のボイスが1つ停止され、そのボイスが別の音声の再生に再利用されました。
停止される波形データと新規に再生する波形データは、 異なるボイスリミットグループに所属しています。
(どちらか一方、もしくは両方の波形データがボイスリミットグループに所属していない場合も、 ボイスの奪い取り発生時に本イベントが発生します。)
CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE_IN_GROUP 

グループ内でのボイスの奪い取り

説明:
再生中のボイスが奪い取られたことを示す値です。
再生中のボイスが1つ停止され、そのボイスが別の音声の再生に再利用されました。
CRIATOMEX_VOICE_EVENT_ALLOCATE_AND_REMOVE と異なり、 停止される波形データと新規に再生する波形データとが、 同一のボイスリミットグループに所属する場合に本イベントが発生します。
CRIATOMEX_VOICE_EVENT_ALOOCATE_AND_REMOVE_TWO 

ボイスの奪い取りとボイス数の調整

説明:
再生中のボイスが奪い取られ、さらにボイス数の調整が行われたことを示す値です。
2つのボイスが停止され、そのうち1つのボイスが別の音声の再生に再利用されます。
(停止されただけのボイスは、空きボイスとしてボイスプールに戻されます。)
音声データの再生要件を満たすボイスを奪い取った結果、グループ内のボイス数があふれ、 グループ内でボイス数を調整した場合に本イベントが発生します。
備考:
このケースは、ボイスリミットグループ上限数分のHCAデータを再生中に、 同一ボイスリミットグループに所属するADXデータを再生した場合等に発生します。
ADXデータを再生するため、グループ外のADXボイスを停止した結果、 HCAデータとADXデータの合計数がボイスリミットグループ上限を超えた場合、 低プライオリティのHCAデータがさらに1つ停止される形になります。
(1つの発音リクエストに対し、2つの音声が停止する形になります。)
CRIATOMEX_VOICE_EVENT_REJECT 

発音要求の棄却

説明:
再生しようとした波形データのプライオリティが、 全ボイス中で最も低かった場合(他のボイスを奪い取れなかった場合)に、 本イベントが発生します。
CRIATOMEX_VOICE_EVENT_REJECT_BY_GROUP_LIMIT 

グループ内での発音要求の棄却

説明:
再生しようとした波形データのプライオリティが、 所属するグループ内で最も低かった場合(グループ内の他のボイスを奪い取れなかった場合)に、 本イベントが発生します。
CRIATOMEX_VOICE_EVENT_REMOVE 

ボイスの停止

説明:
再生完了や再生停止要求により、ボイスが停止された場合に本イベントが発生します。
停止されたボイスは、空きボイスとしてボイスプールに戻されます。

◆ CriAtomExCueLinkTypeTag

キューリンクコールバックタイプ

列挙値
CRIATOMEX_CUELINK_TYPE_STATIC 

静的リンク

CRIATOMEX_CUELINK_TYPE_DYNAMIC 

動的リンク

◆ CriAtomExPlaybackCancelTypeTag

プレイバックキャンセルタイプ

説明:
プレイバックキャンセルの種別を示す値です。
参照
CriAtomExPlaybackCancelInfo, criAtomEx_SetPlaybackCancelCallback
列挙値
CRIATOMEX_PLAYBACK_CANCEL_TYPE_CUE_LIMIT 

キューリミット

説明:
キューリミットによる発音キャンセル。
CRIATOMEX_PLAYBACK_CANCEL_TYPE_CATEGORY_CUE_LIMIT 

カテゴリキューリミット

説明:
カテゴリキューリミットによる発音キャンセル。
CRIATOMEX_PLAYBACK_CANCEL_TYPE_PROBABILITY 

プロバビリティ

説明:
確率による発音キャンセル。
CRIATOMEX_PLAYBACK_CANCEL_TYPE_STOP_BY_CUE_LIMIT 

キューリミット

説明:
キューリミットによる発音停止。
CRIATOMEX_PLAYBACK_CANCEL_TYPE_SWITCH 

スイッチ

説明:
スイッチによる発音キャンセル。
CRIATOMEX_PLAYBACK_CANCEL_TYPE_NO_TRACK_TO_PLAY 

トラック不明

説明:
再生トラック不明による発音キャンセル。

関数詳解

◆ criAtomEx_CalculateWorkSizeForUserPcmOutput()

CriSint32 criAtomEx_CalculateWorkSizeForUserPcmOutput ( const CriAtomExConfigForUserPcmOutput config)

ユーザPCM出力方式用ワーク領域サイズ計算

引数
[in]config初期化用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
説明:
ユーザPCM出力方式でライブラリを初期化するために必要な、 ワーク領域のサイズを取得します。
備考:
ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomExConfigForUserPcmOutput )の内容によって変化します。

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
本関数は criAtomEx_InitializeForUserPcmOutput 関数を使用して ライブラリを初期化する場合に使用します。
criAtomEx_Initialize 関数を使用する場合には、本関数ではなく criAtomEx_CalculateWorkSize 関数を使用してワーク領域サイズを計算してください。
参照
CriAtomExConfigForUserPcmOutput, criAtomEx_InitializeForUserPcmOutput

◆ criAtomEx_InitializeForUserPcmOutput()

void criAtomEx_InitializeForUserPcmOutput ( const CriAtomExConfigForUserPcmOutput config,
void *  work,
CriSint32  work_size 
)

ユーザPCM出力用ライブラリ初期化

引数
[in]config初期化用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
説明:
ユーザPCM出力モードでライブラリを初期化します。

本関数を使用して初期化処理を行った場合、Atomライブラリは音声出力を行いません。
ユーザは criAtomExAsr_GetPcmDataFloat32 関数を使用してライブラリから定期的にPCMデータを取得し、 アプリケーション側で音声出力を行う必要があります。
注意
本関数と以下の関数は併用できません。
参照
CriAtomExConfigForUserPcmOutput, criAtomEx_FinalizeForUserPcmOutput, criAtomExAsr_GetPcmDataFloat32, criAtomEx_CalculateWorkSizeForUserPcmOutput

◆ criAtomEx_FinalizeForUserPcmOutput()

void criAtomEx_FinalizeForUserPcmOutput ( void  )

ユーザPCM出力用ライブラリ終了処理

説明:
ユーザPCM出力モードで初期化されたライブラリに対し、終了処理を行います。
注意
本関数は criAtomEx_InitializeForUserPcmOutput 関数を使用してライブラリを初期化した場合に使用します。
criAtomEx_Initialize 関数を使用した場合には、本関数ではなく criAtomEx_Finalize 関数を使用して終了処理を行ってください。
参照
criAtomEx_InitializeForUserPcmOutput

◆ criAtomEx_CalculateWorkSize()

CriSint32 criAtomEx_CalculateWorkSize ( const CriAtomExConfig config)

ライブラリ初期化用ワーク領域サイズの計算

引数
[in]config初期化用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
ライブラリを使用するために必要な、ワーク領域のサイズを取得します。

ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。
ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomExConfig )の内容によって変化します。

引数にNULLを指定した場合、デフォルト設定 ( criAtomEx_SetDefaultConfig 適用時と同じパラメーター)で ワーク領域サイズを計算します。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
CriAtomExConfig 構造体のacf_infoメンバに値を設定している場合、本関数は失敗し-1を返します。
初期化処理内でACFデータの登録を行う場合は、本関数値を使用したメモリ確保ではなくADXシステムによる メモリアロケーターを使用したメモリ確保処理が必要になります。
参照
CriAtomExConfig, criAtomEx_Initialize

◆ criAtomEx_Initialize()

CriBool criAtomEx_Initialize ( const CriAtomExConfig config,
void *  work,
CriSint32  work_size 
)

ライブラリの初期化

引数
[in]config初期化用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriBool 初期化できたかどうか?(できた:CRI_TRUE/できない:CRI_FALSE)
説明:
ライブラリを初期化します。
ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。
(ライブラリの機能は、本関数を実行後、 criAtomEx_Finalize 関数を実行するまでの間、 利用可能です。)

ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。
ワーク領域を確保する方法には、以下の2通りの方法があります。
(a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。
(b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。

CriAtomExConfig 構造体のacf_infoメンバを使用すると初期化処理内でACFデータの登録が行えます。
初期化処理内でのACFデータ登録を行う場合は、User Allocator方式でメモリ領域を確保する必要があります。

User Allocator方式を用いる場合、ユーザはライブラリにメモリ確保関数を登録しておきます。
workにNULL、work_sizeに0を指定して本関数を呼び出すことで、 ライブラリは登録済みのメモリ確保関数を使用して必要なメモリを自動的に確保します。
ユーザがワーク領域を用意する必要はありません。
初期化時に確保されたメモリは、終了処理時( criAtomEx_Finalize 関数実行時)に解放されます。

Fixed Memory方式を用いる場合、ワーク領域として別途確保済みのメモリ領域を本関数に 設定する必要があります。
ワーク領域のサイズは criAtomEx_CalculateWorkSize 関数で取得可能です。
初期化処理の前に criAtomEx_CalculateWorkSize 関数で取得したサイズ分のメモリを予め 確保しておき、本関数に設定してください。
尚、Fixed Memory方式を用いた場合、ワーク領域はライブラリの終了処理( criAtomEx_Finalize 関数) を行うまでの間、ライブラリ内で利用され続けます。
ライブラリの終了処理を行う前に、ワーク領域のメモリを解放しないでください。
例:
【User Allocator方式によるライブラリの初期化】
User Allocator方式を用いる場合、ライブラリの初期化/終了の手順は以下の通りです。
  1. 初期化処理実行前に、 criAtomEx_SetUserAllocator 関数を用いてメモリ確保/解放関数を登録する。
  2. 初期化用コンフィグ構造体にパラメーターをセットする。
  3. criAtomEx_Initialize 関数で初期化処理を行う。
    (workにはNULL、work_sizeには0を指定する。)
  4. アプリケーション終了時に criAtomEx_Finalize 関数で終了処理を行う。


具体的なコードは以下のとおりです。

// 独自のメモリ確保関数
void *user_malloc(void *obj, CriUint32 size)
{
void *mem;
// メモリの確保
mem = malloc(size);
return (mem);
}
// 独自のメモリ解放関数を用意
void user_free(void *obj, void *mem)
{
// メモリの解放
free(mem);
return;
}
main()
{
CriAtomExConfig config; // ライブラリ初期化用コンフィグ構造体
:
// 独自のメモリアロケーターを登録
criAtomEx_SetUserAllocator(user_malloc, user_free, NULL);
// ライブラリ初期化用コンフィグ構造体にデフォルト値をセット
// ライブラリの初期化
// ワーク領域にはNULLと0を指定する。
// →必要なメモリは、登録したメモリ確保関数を使って確保される。
criAtomEx_Initialize(&config, NULL, 0);
:
// アプリケーションのメイン処理
:
// アプリケーションを終了する際に終了処理を行う
// →初期化時に確保されたメモリは、登録したメモリ解放関数を使って解放される。
:
}
void criAtomEx_Finalize(void)
ライブラリの終了
#define criAtomEx_SetUserAllocator(p_malloc_func, p_free_func, p_obj)
ユーザアロケーターの登録
Definition: cri_atom_ex.h:313


【Fixed Memory方式によるライブラリの初期化】
Fixed Memory方式を用いる場合、ライブラリの初期化/終了の手順は以下の通りです。

  1. 初期化用コンフィグ構造体にパラメーターをセットする。
  2. ライブラリの初期化に必要なワーク領域のサイズを、 criAtomEx_CalculateWorkSize 関数を使って計算する。
  3. ワーク領域サイズ分のメモリを確保する。
  4. criAtomEx_Initialize 関数で初期化処理を行う。
    (workには確保したメモリのアドレスを、work_sizeにはワーク領域のサイズを指定する。)
  5. アプリケーション終了時に criAtomEx_Finalize 関数で終了処理を行う。
  6. ワーク領域のメモリを解放する。


具体的なコードは以下のとおりです。

main()
{
CriAtomExConfig config; // ライブラリ初期化用コンフィグ構造体
void *work; // ワーク領域アドレス
CriSint32 work_size; // ワーク領域サイズ
:
// ライブラリ初期化用コンフィグ構造体にデフォルト値をセット
// ライブラリの初期化に必要なワーク領域のサイズを計算
work_size = criAtomEx_CalculateWorkSize(&config);
// ワーク領域用にメモリを確保
work = malloc((size_t)work_size);
// ライブラリの初期化
// →確保済みのワーク領域を指定する。
criAtomEx_Initialize(&config, NULL, 0);
:
// アプリケーションのメイン処理
// →この間、確保したメモリは保持し続ける。
:
// アプリケーションを終了する際に終了処理を行う
// 必要なくなったワーク領域を解放する
free(work);
:
}
CriSint32 criAtomEx_CalculateWorkSize(const CriAtomExConfig *config)
ライブラリ初期化用ワーク領域サイズの計算
備考:
ライブラリが必要とするワーク領域のサイズは、初期化用コンフィグ構造体の内容に応じて 変化します。
また、必要なワーク領域のサイズは、プラットフォームによっても異なります。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
現状、ストリーム再生を行うかどうかに関係なく、 Atom ライブラリは必ず CRI File System ライブラリの機能を使用します。
そのため、CRI File Systemライブラリの初期化が行われていない場合、 Atom ライブラリは初期化処理時に内部で CRI File System ライブラリの初期化を行います。

Atom ライブラリが内部で CRI File System ライブラリを初期化する場合、 CRI File System の初期化パラメーターとして、 CriAtomExConfig 構造体の fs_config パラメーターを使用します。
fs_config が NULL の場合、 Atom ライブラリはデフォルトパラメーター( criFs_SetDefaultConfig マクロの設定値)で CRI File System ライブラリを初期化します。

尚、本関数を実行する時点で、既に CRI File System ライブラリが初期化済みである場合、 本関数内では CRI File System ライブラリの初期化は行われません。

本関数を実行後、必ず対になる criAtomEx_Finalize 関数を実行してください。
また、 criAtomEx_Finalize 関数を実行するまでは、本関数を再度実行しないでください。
参照
CriAtomExConfig, criAtomEx_Finalize, criAtomEx_SetUserAllocator, criAtomEx_CalculateWorkSize

◆ criAtomEx_Finalize()

void criAtomEx_Finalize ( void  )

ライブラリの終了

説明:
ライブラリを終了します。
注意
criAtomEx_Initialize 関数実行前に本関数を実行することはできません。
参照
criAtomEx_Initialize

◆ criAtomEx_IsInitialized()

CriBool criAtomEx_IsInitialized ( void  )

ライブラリ初期化状態の取得

戻り値
CriBool 初期化中かどうか
戻り値
CRI_FALSE未初期化状態
CRI_TRUE初期化済み
説明:
ライブラリが既に初期化されているかどうかをチェックします。
参照
criAtomEx_Initialize, criAtomEx_Finalize

◆ criAtomEx_ExecuteMain()

void criAtomEx_ExecuteMain ( void  )

サーバー処理の実行

説明:
CRI Atomライブラリの内部状態を更新します。
アプリケーションは、この関数を定期的に実行する必要があります。

サーバー処理を実行すべき回数は、ライブラリ初期化時のパラメーターに依存します。
ライブラリ初期化時にスレッドモデルを CRIATOMEX_THREAD_MODEL_MULTI に設定した場合、 リアルタイム性の要求される処理は全てCRI Atomライブラリ内で定期的に自動実行されるため、 本関数の呼び出し頻度は少なくても問題は発生しません。
(最低でも毎秒1回程度実行されていれば、音切れ等の問題が発生することはありません。)
ライブラリ初期化時にスレッドモデルを CRIATOMEX_THREAD_MODEL_SINGLECRIATOMEX_THREAD_MODEL_USER_MULTI に設定した場合、ファイルの読み込み管理や、 データのデコード、音声の出力等、音声再生に必要な処理のほぼ全てが本関数内で実行されます。
また、音声再生処理に同期して、CRI File Systemライブラリのファイルアクセスとデータ展開処理を実行します。
そのため、ライブラリ初期化時に指定したサーバー処理の実行頻度( CriAtomExConfig 構造体の server_frequency )を下回る頻度で本関数を実行した場合や、 大きいデータの読み込み、圧縮ファイルの読み込み等を行う場合、 音切れ等の問題が発生する可能性があるので注意してください。
備考:
ライブラリ初期化時にスレッドモデルを CRIATOMEX_THREAD_MODEL_MULTI に設定した場合でも、 本関数を実行する必要があります。
(スレッドモデルを CRIATOMEX_THREAD_MODEL_MULTI の場合、ステータス更新等、ごく一部の 処理のみを行うため、本関数内で長時間処理がブロックされることはありません。)
CRI File Systemライブラリのサーバー処理は、CRI Atomライブラリ内部で実行されます。
そのため、本関数を実行している場合、アプリケーション側で別途CRI File Systemライブラリ のサーバー処理を呼び出す必要はありません。

◆ criAtomEx_ExecuteAudioProcess()

void criAtomEx_ExecuteAudioProcess ( void  )

ユーザーマルチスレッド用サーバー処理の実行

説明:
CRI Atomライブラリのみを更新します。
スレッドモデルが::CRIATOMEX_THREAD_MODEL_USER_MULTIの場合、 アプリケーションは、この関数を定期的に実行する必要があります。

ファイルの読み込み管理や、データのデコード、音声の出力等、 音声再生に必要な処理のほぼ全てが本関数内で実行されます。
そのため、ライブラリ初期化時に指定したサーバー処理の実行頻度( CriAtomExConfig 構造体の server_frequency )を下回る頻度で本関数を実行した場合、音切れ等の問題が発生する可能性 があります。
また、本関数は::criAtomEx_ExecuteMain 関数と異なり、CRI File Systemライブラリのサーバー処理を実行しません。
アプリケーションが必要なサーバー処理を正しい順序で実行してください。
備考:
CRIATOMEX_THREAD_MODEL_SINGLE に設定した場合、サーバー処理の排他制御が行われないので、 複数のスレッドから呼び出さないようにしてください。
参照
criAtomEx_ExecuteMain

◆ criAtomEx_Lock()

void criAtomEx_Lock ( void  )

サーバー処理の割り込みを防止

説明:
サーバー処理の割り込み抑止します。
本関数実行後、::criAtomEx_Unlock 関数実行までの間、サーバー処理の動作が抑止されます。
複数のAPIを同一オーディオフレーム内で確実に実行したい場合には、本関数でサーバー処理の 割り込みを防止し、それらの関数を実行してください。
例:
// サーバー処理の割り込みを防止
// 複数の音声のパラメーターを同時に更新
// サーバー処理の割り込み防止を解除
void criAtomEx_Unlock(void)
サーバー処理の割り込み防止を解除
void criAtomEx_Lock(void)
サーバー処理の割り込みを防止
void criAtomExPlayer_SetVolume(CriAtomExPlayerHn player, CriFloat32 volume)
ボリュームの設定
void criAtomExPlayer_UpdateAll(CriAtomExPlayerHn player)
再生パラメーターの更新(再生中の音全て)
注意
割り込み防止区間で同時に複数のプレーヤーの再生をスタートした場合でも、 以下の要因により再生する波形がサンプル単位で同期しない場合があります。
  • ストリーム再生時のデータ供給に伴う発音遅延
  • 発音リソースの奪い取りに伴う発音遅延
    再生同期を行いたい場合は、::criAtomExPlayer_Prepare 関数を使用して再生準備を行い、 準備完了後に割り込み防止区間で再生を開始してください。

    本関数実行後、長時間::criAtomEx_Unlock 関数を呼ばない場合、音声再生が途切れる恐れがあります。
    サーバー処理の割り込みを防止する区間は、最小限に抑える必要があります。
参照
criAtomEx_Unlock

◆ criAtomEx_Unlock()

void criAtomEx_Unlock ( void  )

サーバー処理の割り込み防止を解除

説明:
criAtomEx_Lock 関数による、サーバー処理の割り込み防止を解除します。
参照
criAtomEx_Lock

◆ criAtomEx_GetTimeMicro()

CriUint64 criAtomEx_GetTimeMicro ( void  )

時刻の取得

戻り値
CriUint64 時刻(マイクロ秒単位)
説明:
Atomライブラリ内のマスタタイマーから時刻を取得します。
参照
criAtomEx_ResetTimer

◆ criAtomEx_ResetTimer()

void criAtomEx_ResetTimer ( void  )

タイマーのリセット

説明:
Atomライブラリ内のマスタタイマーの時刻をリセットします。
備考:
本関数は criAtomEx_GetTimeMicro 関数が返す値に対してのみ影響します。
本関数を実行しても、AtomExプレーヤーの再生時刻がクリアされることはありません。
参照
criAtomEx_ResetTimer

◆ criAtomEx_PauseTimer()

void criAtomEx_PauseTimer ( CriBool  sw)

タイマーのポーズ

引数
[in]swCRI_TRUE=タイマー一時停止、CRI_FALSE=タイマー再開
説明:
Atomライブラリ内のマスタタイマーを一時停止/再開します。
マスタタイマーを一時停止すると、シーケンス時刻が進行しなくなります。
備考:
本関数は アプリケーションが休止したり一時停止するようなプラットフォームにおいて、
休止中や一時停止中でもタイマーが進行してしまうプラットフォーム向けの機能です。
アプリケーションが休止状態や一時停止状態に遷移する前に
本関数でマスタタイマーを一時停止しておくことで、休止中のシーケンスの進行を止める事ができます。
注意
本関数で一時停止する対象はあくまでAtomライブラリ内のマスタタイマーです。
本関数では発音中のボイス等を一時停止できません。 本関数で設定したポーズフラグは、CRI Atomサーバー処理が実行されたタイミングで反映されます。
即座に同期をとる必要がある場合は、::criAtomEx_ExecuteAudioProcess 関数を呼び出す事で同期をとることができます。
ただし、::criAtomEx_ExecuteAudioProcessを呼び出したスレッドでオーディオ処理が実行されるため、 そのCPU負荷を許容できるかに注意してください。
参照
criAtomEx_ResetTimer

◆ criAtomEx_SetConfigForWorkSizeCalculation()

void criAtomEx_SetConfigForWorkSizeCalculation ( const CriAtomExConfig config)

ワーク領域サイズ計算用コンフィグ構造体の設定

引数
[in]config初期化用コンフィグ構造体
説明:
ワーク領域サイズの計算用に、ライブラリ初期化用コンフィグ構造体 ( CriAtomExConfig 構造体)を仮登録します。

ACFの登録やボイスプールの作成に必要なワーク領域のサイズは、 ライブラリ初期化時( criAtomEx_Initialize 関数実行時) に設定する構造体のパラメーターによって変化します。
そのため、通常はACFの登録やボイスプールの作成に必要なワーク領域サイズを計算する前に、 ライブラリを初期化する必要があります。
本関数を使用してライブラリ初期化用コンフィグ構造体を登録した場合、 ACFの登録やボイスプールの作成に必要なワーク領域のサイズを、 初期化処理なしに計算可能になります。

本関数を実行することで、以下の処理が初期化処理なしに実行可能となります。
備考:
引数( config )に NULL を指定した場合、デフォルト設定 ( criAtomEx_SetDefaultConfig 適用時と同じパラメーター)で ワーク領域サイズを計算します。

現状、本関数で一旦コンフィグ構造体を設定すると、 設定前の状態(未初期化状態でのワーク領域サイズ計算をエラーとする動作) に戻すことができなくなります。
(関数を再度実行してパラメーターを上書きすることは可能です。)
注意
本関数で登録した初期化用コンフィグ構造体は、 ライブラリ未初期化状態でのワーク領域サイズ計算にしか使用されません。
ライブラリ初期化後には本関数に設定したパラメーターではなく、 初期化時に指定されたパラメーターがワーク領域サイズの計算に使用されます。
(本関数で登録する構造体のパラメーターと、 ライブラリの初期化に使用する構造体のパラメーターが異なる場合、 ワーク領域サイズが不足し、ハンドルの作成に失敗する恐れがあります。)

criAtomEx_RegisterAcfFile 関数や criAtomExAcb_LoadAcbFile 関数等、 ワーク領域計算時にファイルアクセスが必要になる API については、 本関数を実行した場合でもワーク領域サイズの計算が行えません。
(ワーク領域サイズを計算するためにはライブラリを初期化する必要が あります。)
例:
CriAtomExConfig atomex_config;
// ライブラリ初期化用コンフィグ構造体にデフォルト値を設定
// ライブラリ初期化用ワーク領域サイズの計算
lib_work_size = criAtomEx_CalculateWorkSize(&atomex_config);
// サブモジュールのワーク領域サイズ計算用にパラメーターを仮登録
// サブモジュールのワーク領域サイズを計算
acf_work_size = criAtomEx_CalculateWorkSizeForRegisterAcfData(acf_data, acf_data_size);
CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfData(void *acf_data, CriSint32 acf_data_size)
オンメモリACFデータの登録に必要なワーク領域サイズの計算
void criAtomEx_SetConfigForWorkSizeCalculation(const CriAtomExConfig *config)
ワーク領域サイズ計算用コンフィグ構造体の設定
CriSint32 criAtomExVoicePool_CalculateWorkSizeForStandardVoicePool(const CriAtomExStandardVoicePoolConfig *config)
標準ボイスプール作成用ワーク領域サイズの計算
参照
criAtomEx_CalculateWorkSizeForRegisterAcfData, criAtomExVoicePool_CalculateWorkSizeForStandardVoicePool

◆ criAtomEx_CalculateWorkSizeForRegisterAcfData()

CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfData ( void *  acf_data,
CriSint32  acf_data_size 
)

オンメモリACFデータの登録に必要なワーク領域サイズの計算

引数
[in]acf_dataACFデータアドレス
[in]acf_data_sizeACFデータサイズ
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
criAtomEx_RegisterAcfData 関数の実行に必要なワーク領域サイズを計算します。
criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomEx_RegisterAcfData 関数でACF情報を登録する際には、 本関数が返すサイズ分のメモリをワーク領域として渡す必要があります。

ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。
ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
注意
ワーク領域のサイズはライブラリ初期化時( criAtomEx_Initialize 関数実行時) に指定したパラメーターによって変化します。
そのため、本関数を実行する前に、ライブラリを初期化しておく必要があります。
参照
criAtomEx_RegisterAcfData

◆ criAtomEx_RegisterAcfData()

CriBool criAtomEx_RegisterAcfData ( void *  acf_data,
CriSint32  acf_data_size,
void *  work,
CriSint32  work_size 
)

オンメモリACFデータの登録

引数
[in]acf_dataACFデータアドレス
[in]acf_data_sizeACFデータサイズ
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriBool データの登録に成功したか
説明:
メモリ上に配置されたACFデータをライブラリに取り込みます。
ACF情報の登録に必要なワーク領域のサイズは、 criAtomEx_CalculateWorkSizeForRegisterAcfData 関数で計算します。
ACFファイルの登録に成功すると、本関数は戻り値として CRI_TRUE を返します。
データ不正などの理由等によりACFファイルの読み込みに失敗した場合、本関数は戻り値 としてCRI_FALSE を返します。
備考:
criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。
( work に NULL 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。)
注意
本関数を実行する前に、ライブラリを初期化しておく必要があります。

本関数は、関数実行時に再生中の音声をすべて停止します。
また、プレーヤーに設定した以下のACFに関連するパラメーターを全てリセットします。
  1. AISAC
  2. AISACコントロール値
  3. カテゴリ
  4. セレクターラベル
  5. バスセンド


本関数にセットしたデータ領域とワーク領域は、 criAtomEx_UnregisterAcf 関数を実行するまでの間、 アプリケーションで保持する必要があります。
criAtomEx_UnregisterAcf 関数実行前に、ワーク領域のメモリを解放しないでください。) また、データ領域の一部はワークとして使用されます。

参照
criAtomEx_UnregisterAcf

◆ criAtomEx_CalculateWorkSizeForRegisterAcfFile()

CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfFile ( CriFsBinderHn  binder,
const CriChar8 *  path 
)

ACFファイルの登録に必要なワーク領域サイズの計算

引数
[in]binderバインダーハンドル
[in]pathファイルパス
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
criAtomEx_RegisterAcfFile 関数の実行に必要なワーク領域サイズを計算します。
本関数は、 criAtomEx_SetUserAllocator マクロによるアロケーター登録の有無によって 計算に使用する要素が異なります。
  • アロケーター登録時:ACFファイルを一時的に読み込み、ACF内に記録されているカテゴリ数、 再生単位でのカテゴリ参照数、REACT数を使用したサイズ計算が行われます。
  • アロケーター未登録時:ライブラリ初期化時に指定した CriAtomExConfig 構造体の max_categoriesメンバ、categories_per_playbackメンバを使用したサイズ計算が行われます。

    ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。
    ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
データがCPKにパックされていない場合、引数binderにはNULLを指定してください。
注意
本関数を実行する前に、ライブラリを初期化しておく必要があります。
参照
criAtomEx_RegisterAcfFile

◆ criAtomEx_CalculateWorkSizeForRegisterAcfFileById()

CriSint32 criAtomEx_CalculateWorkSizeForRegisterAcfFileById ( CriFsBinderHn  binder,
CriUint16  id 
)

ACFファイルの登録に必要なワーク領域サイズの計算(CPKコンテンツID指定)

引数
[in]binderバインダーハンドル
[in]idCPKコンテンツID
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
criAtomEx_RegisterAcfFileById 関数の実行に必要なワーク領域サイズを計算します。
ファイルパスの代わりにCPKコンテンツIDを指定する点を除けば、 criAtomEx_CalculateWorkSizeForRegisterAcfFile 関数と機能は同じです。
備考:
データがCPKにパックされていない場合、引数binderにはNULLを指定してください。
参照
criAtomEx_CalculateWorkSizeForRegisterAcfFile, criAtomEx_RegisterAcfFileById

◆ criAtomEx_RegisterAcfFile()

CriBool criAtomEx_RegisterAcfFile ( CriFsBinderHn  binder,
const CriChar8 *  path,
void *  work,
CriSint32  work_size 
)

ACFファイルの登録

引数
[in]binderバインダーハンドル
[in]pathファイルパス
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriBool ファイル読み込み結果
説明:
ACFファイルをロードし、ライブラリに取り込みます。
criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。
( work に NULL 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。) ワーク領域を指定して本関数を使用する場合、 criAtomEx_CalculateWorkSizeForRegisterAcfFile 関数 を使用してワークサイズを計算してください。

ACFファイルの登録に成功すると、本関数は戻り値として CRI_TRUE を返します。
リードエラー等によりACFファイルの読み込みに失敗した場合、本関数は戻り値として CRI_FALSE を返します。
備考:
データがCPKにパックされていない場合、引数binderにはNULLを指定してください。
注意
本関数を実行する前に、ライブラリを初期化しておく必要があります。

本関数は、関数実行時に再生中の音声をすべて停止します。
また、プレーヤーに設定した以下のACFに関連するパラメーターを全てリセットします。
  1. AISAC
  2. AISACコントロール値
  3. カテゴリ
  4. セレクターラベル
  5. バスセンド


本関数は、関数実行開始時に criFsLoader_Create 関数でローダーを確保し、 終了時に criFsLoader_Destroy 関数でローダーを破棄します。
本関数を実行する際には、空きローダーハンドルが1つ以上ある状態になるよう、 ローダー数を調整してください。

criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomEx_CalculateWorkSizeForRegisterAcfFile 関数によって計算したワークサイズ分の ワーク領域を指定した本関数の呼び出しでCRI_FALSEが返された場合、ワーク領域不足が要因 の可能性があります。
ライブラリ初期化時に指定する CriAtomExConfig 構造体の以下のメンバの設定値 が適切であるか確認してください。

  • max_categories:ACF内のカテゴリ数、REACT数と同値以上
  • categories_per_playback:ACF内の再生単位でのカテゴリ参照数と同値以上

    本関数にセットしたワーク領域は、 criAtomEx_UnregisterAcf 関数を実行するまでの間、 アプリケーションで保持する必要があります。
    criAtomEx_UnregisterAcf 関数実行前に、ワーク領域のメモリを解放しないでください。)
    参照
    criAtomEx_UnregisterAcf

◆ criAtomEx_RegisterAcfFileById()

CriBool criAtomEx_RegisterAcfFileById ( CriFsBinderHn  binder,
CriUint16  id,
void *  work,
CriSint32  work_size 
)

ACFファイルの登録(CPKコンテンツID指定)

引数
[in]binderバインダーハンドル
[in]idCPKコンテンツID
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriBool ファイル読み込み結果
説明:
ACFファイルをロードし、ライブラリに取り込みます。
ファイルパスの代わりにCPKコンテンツIDを指定する点を除けば、 criAtomEx_RegisterAcfFile 関数と機能は同じです。
備考:
データがCPKにパックされていない場合、引数binderにはNULLを指定してください。
注意
本関数は、関数実行時に再生中の音声をすべて停止します。
また、プレーヤーに設定したパラメーターを全てリセットします。
参照
criAtomEx_RegisterAcfFile

◆ criAtomEx_UnregisterAcf()

void criAtomEx_UnregisterAcf ( void  )

ACFの登録解除

説明:
ACF情報の登録を解除します。
注意
本関数は、関数実行時に再生中の音声をすべて停止します。
また、プレーヤーに設定したパラメーターを全てリセットします。
(ACFファイルが登録されてない際に、音声再生中に本関数を実行した場合は音声は停止されません) criAtomEx_RegisterAcfFile 関数実行前に本関数を実行することはできません。
参照
criAtomEx_RegisterAcfData, criAtomEx_RegisterAcfFile, criAtomEx_RegisterAcfFileById

◆ criAtomEx_GetAcfVersion()

CriUint32 criAtomEx_GetAcfVersion ( void *  acf_data,
CriSint32  acf_data_size,
CriBool *  flag 
)

オンメモリACFのバージョン取得

引数
[in]acf_dataACFデータアドレス
[in]acf_data_sizeACFデータサイズ
[out]flagレジスト可能フラグ
戻り値
CriUint32 ACFフォーマットバージョン
説明:
メモリ上に配置されたACFデータのフォーマットバージョンを取得します。
また、flag引数にレジスト可能なバージョンかどうかをBool値で返します。

◆ criAtomEx_GetAcfVersionFromFile()

CriUint32 criAtomEx_GetAcfVersionFromFile ( CriFsBinderHn  binder,
const CriChar8 *  path,
void *  work,
CriSint32  work_size,
CriBool *  flag 
)

ACFファイルのバージョン取得

引数
[in]binderバインダーハンドル
[in]pathファイルパス
[in]workワーク領域
[in]work_sizeワーク領域サイズ
[out]flagレジスト可能フラグ
戻り値
CriUint2 ACFフォーマットバージョン
説明:
ACFファイルをロードし、ACFデータのフォーマットバージョンを取得します。
ACF情報の登録に必要なワーク領域のサイズは、 criAtomEx_CalculateWorkSizeForRegisterAcfFile 関数で計算します。

ACFファイルフォーマットバージョンを元にflag引数にレジスト可能なバージョンかどうかをBool値で返します。
備考:
criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。
( work に NULL 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。)
データがCPKにパックされていない場合、引数binderにはNULLを指定してください。
注意
本関数は、関数実行開始時に criFsLoader_Create 関数でローダーを確保し、 終了時に criFsLoader_Destroy 関数でローダーを破棄します。
本関数を実行する際には、空きローダーハンドルが1つ以上ある状態になるよう、 ローダー数を調整してください。

本関数にセットしたワーク領域は、 アプリケーションで保持する必要はありません。
(ロードしたデータは関数終了時に解放されます。)

◆ criAtomEx_GetAcfVersionFromFileById()

CriUint32 criAtomEx_GetAcfVersionFromFileById ( CriFsBinderHn  binder,
CriUint16  id,
void *  work,
CriSint32  work_size,
CriBool *  flag 
)

ACFファイルのバージョン取得(CPKコンテンツID指定)

引数
[in]binderバインダーハンドル
[in]idCPKコンテンツID
[in]workワーク領域
[in]work_sizeワーク領域サイズ
[out]flagレジスト可能フラグ
戻り値
CriUint2 ACFフォーマットバージョン
説明:
ACFファイルをロードし、ACFデータのフォーマットバージョンを取得します。
ファイルパスの代わりにCPKコンテンツIDを指定する点を除けば、 criAtomEx_GetAcfVersionFromFile 関数と機能は同じです。
備考:
データがCPKにパックされていない場合、引数binderにはNULLを指定してください。
参照
criAtomEx_GetAcfVersionFromFile

◆ criAtomEx_GetSupportedAcfVersion()

void criAtomEx_GetSupportedAcfVersion ( CriUint32 *  version_low,
CriUint32 *  version_high 
)

レジスト可能バージョン情報取得

引数
[out]version_lowレジスト可能下位バージョン
[out]version_highレジスト可能上位バージョン
説明:
レジスト可能なACFのバージョン情報を取得します。
上位バージョンはライブラリビルド時点での情報のため、この値より上位のACFでも レジスト可能な場合もあります。

◆ criAtomEx_AnalyzeAudioHeader()

CriBool criAtomEx_AnalyzeAudioHeader ( const void *  buffer,
CriSint32  buffer_size,
CriAtomExFormatInfo info 
)

オーディオヘッダーの解析

引数
[in]bufferオーディオデータを格納したバッファー
[in]buffer_sizeオーディオデータを格納したバッファーのサイズ
[out]infoフォーマット情報
戻り値
CriBool フォーマット情報が取得できたかどうか?(取得できた:CRI_TRUE/取得できない:CRI_FALSE)
説明:
メモリにロードされた音声データのフォーマットを解析します。
解析に成功すると、本関数は CRI_TRUE を返し、音声データのフォーマット情報を 第3引数( info )に格納します。
解析に失敗した場合、本関数は CRI_FALSE を返します。
備考:
本関数の第1引数( buffer )には、オーディオデータのヘッダー領域 (音声ファイルの先頭部分をロードしたもの)を格納しておく必要があります。
音声データの途中部分をセットした場合や、ヘッダー前に余計なデータが付加されている場合、 ヘッダーの途中までしか格納されていない場合には、本関数はフォーマットの解析に失敗します。
ADXデータやHCAデータについては、音声ファイルの先頭から2048バイト分の領域をセットすれば、 フォーマットの解析に失敗することはありません。
注意
現状、本関数はADXデータとHCAデータの解析にしか対応していません。
HCA-MXデータについては解析は可能ですが、ヘッダー情報からはHCAデータなのか HCA-MXデータなのかは区別できないため、フォーマット種別として CRIATOMEX_FORMAT_HCA が返されます。

◆ criAtomEx_SetRandomSeed()

void criAtomEx_SetRandomSeed ( CriUint32  seed)

乱数種の設定

引数
[in]seed乱数種
説明:
CRI Atomライブラリ全体で共有する疑似乱数生成器に乱数種を設定します。
乱数種を設定することにより、各種ランダム再生処理に再現性を持たせることができます。
AtomExプレーヤーごとに再現性を持たせたい場合は、::criAtomExPlayer_SetRandomSeed 関数を使用してください。
参照
criAtomExPlayer_SetRandomSeed

◆ criAtomEx_CalculateWorkSizeForDspBusSetting()

CriSint32 criAtomEx_CalculateWorkSizeForDspBusSetting ( const CriChar8 *  setting)

DSPバス設定のアタッチ用ワークサイズの計算

引数
[in]settingDSPバス設定の名前
戻り値
CriSint32 必要ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
DSPバス設定からDSPバスを構築するのに必要なワーク領域サイズを計算します。
本関数を実行するには、あらかじめACF情報を登録しておく必要があります

ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。
ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
DSPバス設定のアタッチに必要なワークメモリのサイズは、CRI Atom Craftで作成した DSPバス設定の内容によって変化します。
参照
criAtomEx_AttachDspBusSetting, criAtomEx_RegisterAcfData, criAtomEx_RegisterAcfFile, criAtomEx_RegisterAcfFileById

◆ criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData()

CriSint32 criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData ( void *  acf_data,
CriSint32  acf_buffer_size,
const CriChar8 *  setting_name 
)

DSPバス設定のアタッチ用ワークサイズの計算

引数
[in]acf_dataACFデータ
[in]acf_buffer_sizeACFデータサイズ
[in]setting_nameDSPバス設定の名前
戻り値
CriSint32 必要ワーク領域サイズ
説明:
DSPバス設定からDSPバスを構築するのに必要なワーク領域サイズを計算します。
criAtomEx_CalculateWorkSizeForDspBusSetting 関数と違い、 ACF情報を登録する前でも本関数は実行可能です。
(ただし、ACFデータを事前にメモリにロードし、 criAtomExAsr_SetConfigForWorkSizeCalculation 関数でASR初期化用コンフィグ構造体を仮登録しておく必要があります。)

ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。
ワーク領域サイズの計算に失敗した理由については、 エラーコールバックのメッセージで確認可能です。
備考:
DSPバス設定のアタッチに必要なワークメモリのサイズは、CRI Atom Craftで作成した DSPバス設定の内容によって変化します。
注意
ハードウェアDSPを使用するプラットフォーム(ASRを使用しないプラットフォーム)では、 本関数でワーク領域サイズを取得することができない可能性があります。
(本関数実行時にエラーコールバックが発生したり、負値が返される可能性があります。)
本関数が動作しないプラットフォームについては、 ライブラリの初期化後に criAtomEx_CalculateWorkSizeForDspBusSetting 関数を使用して必要なワーク領域サイズを計算してください。
参照
criAtomEx_AttachDspBusSetting, criAtomEx_RegisterAcfData, criAtomEx_RegisterAcfFile, criAtomEx_RegisterAcfFileById, criAtomExAsr_SetConfigForWorkSizeCalculation, criAtomEx_CalculateWorkSizeForDspBusSetting

◆ criAtomEx_AttachDspBusSetting()

void criAtomEx_AttachDspBusSetting ( const CriChar8 *  setting,
void *  work,
CriSint32  work_size 
)

DSPバス設定のアタッチ

引数
[in]settingDSPバス設定の名前
[in]workワーク領域
[in]work_sizeワーク領域サイズ
説明:
DSPバス設定からDSPバスを構築してサウンドレンダラにアタッチします。
本関数を実行するには、あらかじめACF情報を登録しておく必要があります。
// ACFファイルの読み込みと登録
criAtomEx_RegisterAcfFile(NULL, "Sample.acf", NULL, 0);
// DSPバス設定の適用
criAtomEx_AttachDspBusSetting("DspBusSetting_0", NULL, 0);
CriBool criAtomEx_RegisterAcfFile(CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size)
ACFファイルの登録
void criAtomEx_AttachDspBusSetting(const CriChar8 *setting, void *work, CriSint32 work_size)
DSPバス設定のアタッチ
備考:
DSPバス設定のアタッチに必要なワークメモリのサイズは、 CRI Atom Craftで作成したDSPバス設定の内容によって変化します。
注意
本関数は完了復帰型の関数です。
本関数を実行すると、しばらくの間Atomライブラリのサーバー処理がブロックされます。
音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。
参照
criAtomEx_DetachDspBusSetting, criAtomEx_RegisterAcfData, criAtomEx_RegisterAcfFile, criAtomEx_RegisterAcfFileById

◆ criAtomEx_DetachDspBusSetting()

void criAtomEx_DetachDspBusSetting ( void  )

DSPバス設定のデタッチ

説明:
DSPバス設定をデタッチします。
criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 DSPバス設定アタッチ時に確保されたメモリ領域が解放されます。
(DSPバス設定アタッチ時にワーク領域を渡した場合、本関数実行後であれば ワーク領域を解放可能です。)
注意
本関数は完了復帰型の関数です。
本関数を実行すると、しばらくの間Atomライブラリのサーバー処理がブロックされます。
音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。
参照
criAtomEx_AttachDspBusSetting

◆ criAtomEx_ApplyDspBusSnapshot()

void criAtomEx_ApplyDspBusSnapshot ( const CriChar8 *  snapshot_name,
CriSint32  time_ms 
)

DSPバススナップショットの適用

引数
[in]snapshot_nameスナップショット名
[in]time_ms時間(ミリ秒)
説明:
DSPバススナップショットを適用します。
本関数を呼び出すと、スナップショットで設定したパラメーターに time_ms 掛けて変化します。
引数 snapshot_name に CRI_NULL を指定すると、元のDSPバス設定の状態(スナップショットが適用されていない状態)に戻ります。
参照
criAtomEx_AttachDspBusSetting

◆ criAtomEx_GetAppliedDspBusSnapshotName()

const CriChar8* criAtomEx_GetAppliedDspBusSnapshotName ( void  )

適用中のDSPバススナップショット名の取得

戻り値
const CriChar8* スナップショット名文字列へのポインタ。 スナップショットが適用されていない場合や取得に失敗した場合はCRI_NULLが返ります。
説明:
適用中のDSPバススナップショット名を取得します。 スナップショットが適用されていない場合はCRI_NULLが返ります。
参照
criAtomEx_ApplyDspBusSnapshot

◆ criAtomEx_SetCueLinkCallback()

void criAtomEx_SetCueLinkCallback ( CriAtomExCueLinkCbFunc  func,
void *  obj 
)

キューリンクコールバック関数の登録

引数
[in]funcキューリンクコールバック関数
[in]objユーザ指定オブジェクト
説明:
キュー再生時にキューリンクを処理した際に、キューリンク情報を受け取るコールバック関数を登録します。
注意
登録されたコールバック関数は、ライブラリ内でキューリンクを処理したタイミングで実行されます。
そのため、ライブラリ処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。
基本的に、コールバック関数内ではAtomライブラリAPIを使用しないでください。
本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。

コールバック関数は1つしか登録できません。
登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。

funcにNULLを指定することで登録済み関数の登録解除が行えます。
参照
CriAtomExCueLinkCbFunc

◆ criAtomEx_SetSpeakerAngles()

void criAtomEx_SetSpeakerAngles ( CriFloat32  angle_l,
CriFloat32  angle_r,
CriFloat32  angle_sl,
CriFloat32  angle_sr 
)

5.1chスピーカー角度の設定

引数
[in]angle_lフロントレフトスピーカーの角度
[in]angle_rフロントライトスピーカーの角度
[in]angle_slサラウンドレフトスピーカーの角度
[in]angle_srサラウンドライトスピーカーの角度
説明:
パン3Dや3Dポジショニングの計算時に使用する、出力スピーカーの角度(配置)を設定します。
角度は、正面方向を0度として-180度から180度の間で設定してください。
注意
本関数は5.1ch向けのパンスピーカータイプ (4CH または 5CH) にのみ影響します。
7.1ch向けのパンスピーカータイプ (6CH または 7CH) のスピーカー角度を変更する場合は、::criAtomEx_SetSpeakerAngleArray 関数を使用してください。

設定するスピーカー角度は、angle_sl < angle_l < angle_r < angle_sr の順となるような配置にする必要があります。
例:
criAtomEx_SetSpeakerAngles(-45.0f, 45.0f, -135.0f, 135.0f);
void criAtomEx_SetSpeakerAngles(CriFloat32 angle_l, CriFloat32 angle_r, CriFloat32 angle_sl, CriFloat32 angle_sr)
5.1chスピーカー角度の設定
参照
criAtomEx_SetSpeakerAngleArray

◆ criAtomEx_SetSpeakerAngleArray()

void criAtomEx_SetSpeakerAngleArray ( CriAtomExSpeakerSystem  speaker_system,
const CriFloat32 *  angle_array 
)

スピーカー角度の設定

引数
[in]speaker_system出力スピーカーの並び順
[in]angle_array出力スピーカーの角度配列
説明:
パン3Dや3Dポジショニングの計算時に使用する、出力スピーカーの角度(配置)を設定します。
角度は、正面方向を0度として-180度から180度の間で設定してください。
角度配列は、出力スピーカーの並び順のスピーカー数以上の要素数の配列を指定してください。
角度配列に NULL を指定すると、出力スピーカーの並び順に合わせて、デフォルトの角度を設定します。
注意
FRONT LEFTとFRONT RIGHTの位置を入れ替えるような設定をした場合、意図しない挙動になる可能性があります。
補足:
LOW FREQUENCYの角度を変更しても、パン3Dや3Dポジショニングの計算結果は変化しません。
設定した角度は、各スピーカーシステムごとに独立して設定されます。
例:
CriFloat32 angle_array[8] = {-30.0f, 30.0f, 0.0f, 0.0f, -90.0f, 90.0f, -150.0f, 150.0f}
#define CRIATOMEX_SPEAKER_SYSTEM_SURROUND_7_1
7.1chサラウンド
Definition: cri_atom_ex.h:2272
void criAtomEx_SetSpeakerAngleArray(CriAtomExSpeakerSystem speaker_system, const CriFloat32 *angle_array)
スピーカー角度の設定
参照
criAtomEx_SetSpeakerAngles

◆ criAtomEx_SetVirtualSpeakerAngleArray()

void criAtomEx_SetVirtualSpeakerAngleArray ( CriAtomExSpeakerSystem  speaker_system,
const CriFloat32 *  angle_array 
)

バーチャルスピーカー角度の設定

引数
[in]speaker_systemバーチャルスピーカーの並び順
[in]angle_arrayバーチャルスピーカーの角度配列
説明:
バーチャルスピーカーにおけるパン3Dや3Dポジショニングの計算時に使用する、 出力スピーカーの角度(配置)を設定します。
本関数の操作は criAtomEx_SetSpeakerAngleArray 関数と同様なため、基本的な説明はそちらを参照して下さい。
注意
本関数での設定は criAtomEx_ControlVirtualSpeakerSetting 関数にてバーチャルスピーカー設定を有効にしない限り、 設定したバーチャルスピーカー角度はパン3Dや3Dポジショニングの計算に反映されません。
参照
criAtomEx_SetSpeakerAngleArray, criAtomEx_ControlVirtualSpeakerSetting

◆ criAtomEx_ControlVirtualSpeakerSetting()

void criAtomEx_ControlVirtualSpeakerSetting ( CriBool  sw)

バーチャルスピーカー設定のON/OFF

引数
[in]swスイッチ(CRI_FALSE = 無効、CRI_TRUE = 有効)
説明:
パン3Dや3Dポジショニングの計算時にバーチャルスピーカーの設定を使用する機能のON/OFFを設定します。
この設定を有効にすると、マルチチャンネルサウンドは criAtomEx_SetVirtualSpeakerAngleArray 関数にて設定した バーチャルスピーカー角度からそれぞれ再生されます。
注意
デフォルトの状態は「無効」になっています。
また、何かボイスを再生中に「有効」にした場合、パン3Dや3Dポジショニングの計算には即時反映されません。 次回ボイス再生時から反映されます。
参照
criAtomEx_SetVirtualSpeakerAngleArray

◆ criAtomEx_GetNumGameVariables()

CriSint32 criAtomEx_GetNumGameVariables ( void  )

ゲーム変数の総数の取得

戻り値
CriSint32 ゲーム変数の総数
説明:
ACFファイル内に登録されているゲーム変数の総数を取得します。
注意
本関数を実行する前に、ACFファイルを登録しておく必要があります。
ACFファイルが登録されていない場合、-1が返ります。
参照
criAtomEx_GetGameVariableInfo

◆ criAtomEx_GetGameVariableInfo()

CriBool criAtomEx_GetGameVariableInfo ( CriUint16  index,
CriAtomExGameVariableInfo info 
)

ゲーム変数情報の取得(インデックス指定)

引数
[in]indexゲーム変数インデックス
[out]infoゲーム変数情報
戻り値
CriBool 情報が取得できたかどうか?(取得できた:CRI_TRUE/取得できない:CRI_FALSE)
説明:
ゲーム変数インデックスからゲーム変数情報を取得します。
指定したインデックスのゲーム変数が存在しない場合、CRI_FALSEが返ります。
参照
CriAtomExGameVariableInfo

◆ criAtomEx_GetGameVariableById()

CriFloat32 criAtomEx_GetGameVariableById ( CriAtomExGameVariableId  id)

ゲーム変数の取得

引数
[in]idゲーム変数ID
戻り値
CriFloat32 ゲーム変数値
説明:
ACFファイル内に登録されているゲーム変数値を取得します。
指定した id のゲーム変数が存在しない場合、-1.0f が返ります。
注意
本関数を実行する前に、ACFファイルを登録しておく必要があります。

◆ criAtomEx_GetGameVariableByName()

CriFloat32 criAtomEx_GetGameVariableByName ( const CriChar8 *  name)

ゲーム変数の取得

引数
[in]nameゲーム変数名
戻り値
CriFloat32 ゲーム変数値
説明:
ACFファイル内に登録されているゲーム変数を取得します。
指定した名前のゲーム変数が存在しない場合、-1.0f が返ります。
注意
本関数を実行する前に、ACFファイルを登録しておく必要があります。

◆ criAtomEx_SetGameVariableById()

void criAtomEx_SetGameVariableById ( CriAtomExGameVariableId  id,
CriFloat32  value 
)

ゲーム変数の設定

引数
[in]idゲーム変数ID
[in]valueゲーム変数値
説明:
ACFファイル内に登録されているゲーム変数に値を設定します。
設定可能な範囲は0.0f〜1.0fの間です。
備考:
ゲーム変数の値は以下のサウンド制御において参照されます。
  • スイッチキューによる再生トラックの切り替え
  • AISAC によるパラメーターの制御
注意
本関数を実行する前に、ACFファイルを登録しておく必要があります。

ゲーム変数の値に同じ値を設定した際は AISAC のパラメーター更新の処理は発生しません。

◆ criAtomEx_SetGameVariableByName()

void criAtomEx_SetGameVariableByName ( const CriChar8 *  name,
CriFloat32  value 
)

ゲーム変数の設定

引数
[in]nameゲーム変数名
[in]valueゲーム変数値
説明:
ACFファイル内に登録されているゲーム変数に値を設定します。
設定可能な範囲は0.0f〜1.0fの間です。
備考:
ゲーム変数の値は以下のサウンド制御において参照されます。
  • スイッチキューによる再生トラックの切り替え
  • AISAC によるパラメーターの制御
注意
本関数を実行する前に、ACFファイルを登録しておく必要があります。

ゲーム変数の値に同じ値を設定した際は AISAC のパラメーター更新の処理は発生しません。

◆ criAtomEx_SetPlaybackCancelCallback()

void criAtomEx_SetPlaybackCancelCallback ( CriAtomExPlaybackCancelCbFunc  func,
void *  obj 
)

プレイバックキャンセルコールバック関数の登録

引数
[in]funcプレイバックキャンセルコールバック関数
[in]objユーザ指定オブジェクト
説明:
キュー再生時に再生開始処理のキャンセルが発生した際に、プレイバックキャンセル情報を受け取るコールバック関数を登録します。
注意
登録されたコールバック関数は、ライブラリ内で再生開始処理がキャンセルされるタイミングで実行されます。
そのため、ライブラリ処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。
基本的に、コールバック関数内ではAtomライブラリAPIを使用しないでください。
本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。

コールバック関数は1つしか登録できません。
登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。

funcにNULLを指定することで登録済み関数の登録解除が行えます。
参照
CriAtomExPlaybackCancelCbFunc

◆ criAtomEx_ControlAcfConsistencyCheck()

void criAtomEx_ControlAcfConsistencyCheck ( CriBool  sw)

ACF整合性チェック機能のON/OFF

引数
[in]swスイッチ(CRI_FALSE = チェック無効、CRI_TRUE = チェック有効)
説明:
ACBロード時のACFとの整合性チェック機能のON/OFFを設定します。
注意
デフォルトの状態は「チェック有効」になっています。「チェック無効」に設定した場合に、 整合性がない組み合わせのデータを使用すると、本来目的とする効果が得られません。
また、「チェック無効」にした場合でも、音声処理実行時にACBから参照しているACF項目が 見つからないときには別途エラーコールバックが発生します。

◆ criAtomEx_SetAcfConsistencyCheckErrorLevel()

void criAtomEx_SetAcfConsistencyCheckErrorLevel ( CriErrorLevel  level)

ACF整合性チェックエラーレベルの設定

引数
[in]levelエラーレベル
説明:
ACBロード時のACFとの整合性チェックで発生するエラーの通知レベルを設定します。
デフォルト状態での通知レベルは CRIERR_LEVEL_WARNING です。

◆ criAtomEx_SetTrackTransitionBySelectorCallback()

void criAtomEx_SetTrackTransitionBySelectorCallback ( CriAtomExTrackTransitionBySelectorCbFunc  func,
void *  obj 
)

トラックトランジションバイセレクターコールバック関数の登録

引数
[in]funcトラックトランジションバイセレクターコールバック関数
[in]objユーザ指定オブジェクト
説明:
トラックトランジションバイセレクタータイプキューの再生時にトランジション処理を行った際の情報を受け取るコールバック関数を登録します。
注意
登録されたコールバック関数は、ライブラリ内でトランジション処理が開始されるタイミングで実行されます。
そのため、ライブラリ処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。
基本的に、コールバック関数内ではAtomライブラリAPIを使用しないでください。
本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。

コールバック関数は1つしか登録できません。
登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。

funcにNULLを指定することで登録済み関数の登録解除が行えます。
参照
CriAtomExTrackTransitionBySelectorCbFunc

◆ criAtomEx_SetVoiceEventCallback()

void criAtomEx_SetVoiceEventCallback ( CriAtomExVoiceEventCbFunc  func,
void *  obj 
)

ボイスイベントコールバックの登録

引数
[in]funcボイスイベントコールバック関数
[in]objユーザ指定オブジェクト
説明:
ボイスイベントコールバックを登録します。
本関数を使用してボイスイベントコールバックを登録することで、 ボイスイベント(ボイスの取得/解放/奪い取り)発生時の詳細情報 (再生/停止される音声データの詳細情報等)が取得可能です。
備考:
第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。
コールバック関数のその他の引数については、 別途 CriAtomExVoiceEventCbFunc の説明をご参照ください。

funcにNULLを指定することで登録済み関数の登録解除が行えます。
注意
本関数で登録したコールバックには、ボイス単位のリミット制御 (ボイスプライオリティに基づいた波形単位のプライオリティ制御) に関する情報のみが返されます。
(カテゴリキュープライオリティによる制御に関する情報は、現状取得できません。)

コールバック関数は1つしか登録できません。
登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。
参照
CriAtomExVoiceEventCbFunc

◆ criAtomEx_EnumerateVoiceInfos()

void criAtomEx_EnumerateVoiceInfos ( CriAtomExVoiceInfoCbFunc  func,
void *  obj 
)

ボイス情報の列挙

引数
[in]funcボイス情報コールバック関数
[in]objユーザ指定オブジェクト
説明:
再生中のボイスの情報を列挙します。

本関数を実行すると、第 1 引数( func ) でセットされたコールバック関数が再生中のボイスの数分だけ呼び出されます。
コールバック関数には、再生中のボイスに関する詳細情報が CriAtomExVoiceInfoDetail 構造体として渡されます。
備考:
第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。
コールバック関数のその他の引数については、 別途 CriAtomExVoiceInfoCbFunc の説明をご参照ください。
注意
本関数で登録したコールバックには、 発音可能なボイスリソースを持つボイスの情報だけが返されます。
(バーチャル化されたボイスの情報は返されません。)
参照
CriAtomExVoiceInfoCbFunc

◆ criAtomEx_SetMonitoringVoiceStopCallback()

void criAtomEx_SetMonitoringVoiceStopCallback ( CriAtomExMonitoringVoiceStopCbFunc  func,
void *  obj 
)

ボイス停止を監視するコールバック関数の登録

引数
[in]funcボイス停止監視コールバック関数
[in]objユーザ指定オブジェクト
説明:
ボイスの停止を監視するコールバック関数の登録をします。

本関数を実行すると、第 1 引数( func ) でセットされたコールバック関数が監視している再生ID内で発音しているボイスが停止する際に呼び出されます。
コールバック関数には、停止ボイスに関する情報が CriAtomExMonitoringVoiceStopInfo 構造体として渡されます。
備考:
第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。
コールバック関数のその他の引数については、 別途 CriAtomExMonitoringVoiceStopCbFunc の説明をご参照ください。
criAtomEx_SetMonitoringVoiceStopPlaybackId 関数にて設定した監視再生IDにて再生中のキューが、 以下の構造・設定を持つ場合にコールバック関数にて通知される再生IDが監視再生IDとは異なることがあります。
これは再生内部処理ににて別途再生IDが割り振られるためとなります。
  • キューリンクを使用している
  • シーケンスタイプがトラック遷移タイプのキュー
参照
CriAtomExMonitoringVoiceStopCbFunc, criAtomEx_SetMonitoringVoiceStopPlaybackId

◆ criAtomEx_SetMonitoringVoiceStopPlaybackId()

void criAtomEx_SetMonitoringVoiceStopPlaybackId ( CriAtomExPlaybackId  playback_id)

ボイス停止を監視する再生IDの登録

引数
[in]playback_idボイス停止を監視する再生ID
説明:
ボイスの停止を監視する再生IDを登録をします。

監視可能な再生IDは1つだけです。
既に再生IDが設定済みの状態で本関数を呼び出した場合は、監視再生ID情報が上書きされます。
監視を行うためには::criAtomEx_SetMonitoringVoiceStopCallback 関数で通知を行うためのコールバック関数を登録してください。
備考:
監視再生IDにて再生中のキューのアクショントラックによる新規キューの再生が行われた場合、 この新規キューからの発音ボイスについてはボイス停止の監視対象とはなりません。
これはアクションによる再生開始が、呼び出し元キューとの依存関係を持たない状態で行われるためとなります。
このため、アクションの呼び出し元キューと呼び出し先キューの両方より発音しているボイスの停止を同時に監視することは出来ません。
アクションにて再生を開始したキュー再生IDは criAtomExPlayer_SetPlaybackEventCallback 関数でコールバック関数を 登録して取得出来ます。適宜、取得・設定を行ってください。
参照
criAtomEx_SetMonitoringVoiceStopCallback