CRI ADX  Last Updated: 2024-09-25 17:41 p
CriAtomExVoicePool API

データ構造

struct  CriAtomExStandardVoicePoolConfigTag
 標準ボイスプール作成用コンフィグ構造体 [詳解]
 
struct  CriAtomExAdxVoicePoolConfigTag
 ADXボイスプール作成用コンフィグ構造体 [詳解]
 
struct  CriAtomExHcaVoicePoolConfigTag
 HCAボイスプール作成用コンフィグ構造体 [詳解]
 
struct  CriAtomExHcaMxVoicePoolConfigTag
 HCA-MXボイスプール作成用コンフィグ構造体 [詳解]
 
struct  CriAtomExWaveVoicePoolConfigTag
 Waveボイスプール作成用コンフィグ構造体 [詳解]
 
struct  CriAtomExAiffVoicePoolConfigTag
 AIFFボイスプール作成用コンフィグ構造体 [詳解]
 
struct  CriAtomExRawPcmVoicePoolConfigTag
 RawPCMボイスプール作成用コンフィグ構造体 [詳解]
 
struct  CriAtomExInstrumentVoicePoolConfigTag
 インストゥルメントボイスプール作成用コンフィグ構造体 [詳解]
 

マクロ定義

#define CRIATOMEX_DEFAULT_VOICES_PER_POOL   (8)
 デフォルトボイス数 [詳解]
 
#define CRIATOMEX_MIN_VOICES_PER_POOL   (1)
 最小ボイス数 [詳解]
 
#define CRIATOMEX_MAX_VOICES_PER_POOL   (32767)
 最大ボイス数 [詳解]
 
#define criAtomExVoicePool_SetDefaultConfigForStandardVoicePool(p_config)
 標準ボイスプール作成用コンフィグ構造体にデフォルト値をセット [詳解]
 
#define criAtomExVoicePool_SetDefaultConfigForAdxVoicePool(p_config)
 ADXボイスプール作成用コンフィグ構造体にデフォルト値をセット [詳解]
 
#define criAtomExVoicePool_SetDefaultConfigForHcaVoicePool(p_config)
 HCAボイスプール作成用コンフィグ構造体にデフォルト値をセット [詳解]
 
#define criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool(p_config)
 HCA-MXボイスプール作成用コンフィグ構造体にデフォルト値をセット [詳解]
 
#define criAtomExVoicePool_SetDefaultConfigForWaveVoicePool(p_config)
 Waveボイスプール作成用コンフィグ構造体にデフォルト値をセット [詳解]
 
#define criAtomExVoicePool_SetDefaultConfigForAiffVoicePool(p_config)
 AIFFボイスプール作成用コンフィグ構造体にデフォルト値をセット [詳解]
 
#define criAtomExVoicePool_SetDefaultConfigForRawPcmVoicePool(p_config)
 RawPCMボイスプール作成用コンフィグ構造体にデフォルト値をセット [詳解]
 
#define criAtomExVoicePool_SetDefaultConfigForInstrumentVoicePool(p_config)
 インストゥルメントボイスプール作成用コンフィグ構造体にデフォルト値をセット [詳解]
 

型定義

typedef struct CriAtomExVoicePoolTag * CriAtomExVoicePoolHn
 ボイスプールハンドル [詳解]
 
typedef CriUint32 CriAtomExVoicePoolIdentifier
 ボイスプール識別子 [詳解]
 
typedef struct CriAtomExStandardVoicePoolConfigTag CriAtomExStandardVoicePoolConfig
 標準ボイスプール作成用コンフィグ構造体 [詳解]
 
typedef struct CriAtomExAdxVoicePoolConfigTag CriAtomExAdxVoicePoolConfig
 ADXボイスプール作成用コンフィグ構造体 [詳解]
 
typedef struct CriAtomExHcaVoicePoolConfigTag CriAtomExHcaVoicePoolConfig
 HCAボイスプール作成用コンフィグ構造体 [詳解]
 
typedef struct CriAtomExHcaMxVoicePoolConfigTag CriAtomExHcaMxVoicePoolConfig
 HCA-MXボイスプール作成用コンフィグ構造体 [詳解]
 
typedef struct CriAtomExWaveVoicePoolConfigTag CriAtomExWaveVoicePoolConfig
 Waveボイスプール作成用コンフィグ構造体 [詳解]
 
typedef struct CriAtomExAiffVoicePoolConfigTag CriAtomExAiffVoicePoolConfig
 AIFFボイスプール作成用コンフィグ構造体 [詳解]
 
typedef struct CriAtomExRawPcmVoicePoolConfigTag CriAtomExRawPcmVoicePoolConfig
 RawPCMボイスプール作成用コンフィグ構造体 [詳解]
 
typedef struct CriAtomExInstrumentVoicePoolConfigTag CriAtomExInstrumentVoicePoolConfig
 インストゥルメントボイスプール作成用コンフィグ構造体 [詳解]
 
typedef void(* CriAtomExVoicePoolCbFunc) (void *obj, CriAtomExVoicePoolHn pool)
 ボイスプールコールバック関数型 [詳解]
 

関数

CriSint32 criAtomExVoicePool_CalculateWorkSizeForStandardVoicePool (const CriAtomExStandardVoicePoolConfig *config)
 標準ボイスプール作成用ワーク領域サイズの計算 [詳解]
 
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateStandardVoicePool (const CriAtomExStandardVoicePoolConfig *config, void *work, CriSint32 work_size)
 標準ボイスプールの作成 [詳解]
 
CriSint32 criAtomExVoicePool_CalculateWorkSizeForAdxVoicePool (const CriAtomExAdxVoicePoolConfig *config)
 ADXボイスプール作成用ワーク領域サイズの計算 [詳解]
 
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateAdxVoicePool (const CriAtomExAdxVoicePoolConfig *config, void *work, CriSint32 work_size)
 ADXボイスプールの作成 [詳解]
 
CriSint32 criAtomExVoicePool_CalculateWorkSizeForHcaVoicePool (const CriAtomExHcaVoicePoolConfig *config)
 HCAボイスプール作成用ワーク領域サイズの計算 [詳解]
 
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateHcaVoicePool (const CriAtomExHcaVoicePoolConfig *config, void *work, CriSint32 work_size)
 HCAボイスプールの作成 [詳解]
 
CriSint32 criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool (const CriAtomExHcaMxVoicePoolConfig *config)
 HCA-MXボイスプール作成用ワーク領域サイズの計算 [詳解]
 
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateHcaMxVoicePool (const CriAtomExHcaMxVoicePoolConfig *config, void *work, CriSint32 work_size)
 HCA-MXボイスプールの作成 [詳解]
 
CriSint32 criAtomExVoicePool_CalculateWorkSizeForWaveVoicePool (const CriAtomExWaveVoicePoolConfig *config)
 Waveボイスプール作成用ワーク領域サイズの計算 [詳解]
 
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateWaveVoicePool (const CriAtomExWaveVoicePoolConfig *config, void *work, CriSint32 work_size)
 Waveボイスプールの作成 [詳解]
 
CriSint32 criAtomExVoicePool_CalculateWorkSizeForAiffVoicePool (const CriAtomExAiffVoicePoolConfig *config)
 AIFFボイスプール作成用ワーク領域サイズの計算 [詳解]
 
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateAiffVoicePool (const CriAtomExAiffVoicePoolConfig *config, void *work, CriSint32 work_size)
 AIFFボイスプールの作成 [詳解]
 
CriSint32 criAtomExVoicePool_CalculateWorkSizeForRawPcmVoicePool (const CriAtomExRawPcmVoicePoolConfig *config)
 RawPCMボイスプール作成用ワーク領域サイズの計算 [詳解]
 
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateRawPcmVoicePool (const CriAtomExRawPcmVoicePoolConfig *config, void *work, CriSint32 work_size)
 RawPCMボイスプールの作成 [詳解]
 
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateInstrumentVoicePool (const CriAtomExInstrumentVoicePoolConfig *config, void *work, CriSint32 work_size)
 インストゥルメントボイスプールの作成 [詳解]
 
void criAtomExVoicePool_Free (CriAtomExVoicePoolHn pool)
 ボイスプールの破棄 [詳解]
 
void criAtomExVoicePool_FreeAll (void)
 全てのボイスプールを破棄 [詳解]
 
void criAtomExVoicePool_EnumerateVoicePools (CriAtomExVoicePoolCbFunc func, void *obj)
 ボイスプールの列挙 [詳解]
 
void criAtomExVoicePool_GetNumUsedVoices (CriAtomExVoicePoolHn pool, CriSint32 *cur_num, CriSint32 *limit)
 ボイスの使用状況の取得 [詳解]
 
CriAtomPlayerHn criAtomExVoicePool_GetPlayerHandle (CriAtomExVoicePoolHn pool, CriSint32 index)
 プレーヤーハンドルの取得 [詳解]
 
CriSint32 criAtomExVoicePool_CalculateWorkSizeForInstrumentVoicePool (const CriAtomExInstrumentVoicePoolConfig *config)
 インストゥルメントボイスプール作成用ワーク領域サイズの計算 [詳解]
 

詳解

マクロ定義詳解

◆ CRIATOMEX_DEFAULT_VOICES_PER_POOL

#define CRIATOMEX_DEFAULT_VOICES_PER_POOL   (8)

デフォルトボイス数

説明:
ボイスプール当たりのボイス数のデフォルト値です。
ボイスプール作成時にデフォルト値設定を使用すると、 CRIATOMEX_DEFAULT_VOICES_PER_POOL 数分のボイスが確保されます。
参照
criAtomExVoicePool_SetDefaultConfigForStandardVoicePool

◆ CRIATOMEX_MIN_VOICES_PER_POOL

#define CRIATOMEX_MIN_VOICES_PER_POOL   (1)

最小ボイス数

説明:
ボイスプール当たりのボイス数の最小値です。

◆ CRIATOMEX_MAX_VOICES_PER_POOL

#define CRIATOMEX_MAX_VOICES_PER_POOL   (32767)

最大ボイス数

説明:
ボイスプール当たりのボイス数の最大値です。

◆ criAtomExVoicePool_SetDefaultConfigForStandardVoicePool

#define criAtomExVoicePool_SetDefaultConfigForStandardVoicePool (   p_config)
値:
{\
(p_config)->identifier = 0;\
(p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
criAtomPlayer_SetDefaultConfigForStandardPlayer(&(p_config)->player_config);\
(p_config)->is_streaming_only = CRI_FALSE;\
(p_config)->min_channels = 1;\
}
#define CRIATOMEX_DEFAULT_VOICES_PER_POOL
デフォルトボイス数
Definition: cri_le_atom_ex.h:120

標準ボイスプール作成用コンフィグ構造体にデフォルト値をセット

引数
[out]p_config標準ボイスプール作成用コンフィグ構造体へのポインタ
説明:
criAtomExVoicePool_AllocateStandardVoicePool 関数に設定するコンフィグ構造体 ( CriAtomExStandardVoicePoolConfig )に、デフォルトの値をセットします。
参照
CriAtomExStandardVoicePoolConfig, criAtomExVoicePool_AllocateStandardVoicePool

◆ criAtomExVoicePool_SetDefaultConfigForAdxVoicePool

#define criAtomExVoicePool_SetDefaultConfigForAdxVoicePool (   p_config)
値:
{\
(p_config)->identifier = 0;\
(p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
criAtomPlayer_SetDefaultConfigForAdxPlayer(&(p_config)->player_config);\
(p_config)->is_streaming_only = CRI_FALSE;\
(p_config)->min_channels = 1;\
}

ADXボイスプール作成用コンフィグ構造体にデフォルト値をセット

引数
[out]p_configADXボイスプール作成用コンフィグ構造体へのポインタ
説明:
criAtomExVoicePool_AllocateAdxVoicePool 関数に設定するコンフィグ構造体 ( CriAtomExAdxVoicePoolConfig )に、デフォルトの値をセットします。
参照
CriAtomExAdxVoicePoolConfig, criAtomExVoicePool_AllocateAdxVoicePool

◆ criAtomExVoicePool_SetDefaultConfigForHcaVoicePool

#define criAtomExVoicePool_SetDefaultConfigForHcaVoicePool (   p_config)
値:
{\
(p_config)->identifier = 0;\
(p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
criAtomPlayer_SetDefaultConfigForHcaPlayer(&(p_config)->player_config);\
(p_config)->is_streaming_only = CRI_FALSE;\
(p_config)->min_channels = 1;\
}

HCAボイスプール作成用コンフィグ構造体にデフォルト値をセット

引数
[out]p_configHCAボイスプール作成用コンフィグ構造体へのポインタ
説明:
criAtomExVoicePool_AllocateHcaVoicePool 関数に設定するコンフィグ構造体 ( CriAtomExHcaVoicePoolConfig )に、デフォルトの値をセットします。
参照
CriAtomExHcaVoicePoolConfig, criAtomExVoicePool_AllocateHcaVoicePool

◆ criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool

#define criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool (   p_config)
値:
{\
(p_config)->identifier = 0;\
(p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
criAtomPlayer_SetDefaultConfigForHcaMxPlayer(&(p_config)->player_config);\
(p_config)->is_streaming_only = CRI_FALSE;\
(p_config)->min_channels = 1;\
}

HCA-MXボイスプール作成用コンフィグ構造体にデフォルト値をセット

引数
[out]p_configHCA-MXボイスプール作成用コンフィグ構造体へのポインタ
説明:
criAtomExVoicePool_AllocateHcaMxVoicePool 関数に設定するコンフィグ構造体 ( CriAtomExHcaMxVoicePoolConfig )に、デフォルトの値をセットします。
参照
CriAtomExHcaMxVoicePoolConfig, criAtomExVoicePool_AllocateHcaMxVoicePool

◆ criAtomExVoicePool_SetDefaultConfigForWaveVoicePool

#define criAtomExVoicePool_SetDefaultConfigForWaveVoicePool (   p_config)
値:
{\
(p_config)->identifier = 0;\
(p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
criAtomPlayer_SetDefaultConfigForWavePlayer(&(p_config)->player_config);\
(p_config)->is_streaming_only = CRI_FALSE;\
(p_config)->min_channels = 1;\
}

Waveボイスプール作成用コンフィグ構造体にデフォルト値をセット

引数
[out]p_configWaveボイスプール作成用コンフィグ構造体へのポインタ
説明:
criAtomExVoicePool_AllocateWaveVoicePool 関数に設定するコンフィグ構造体 ( CriAtomExWaveVoicePoolConfig )に、デフォルトの値をセットします。
参照
CriAtomExWaveVoicePoolConfig, criAtomExVoicePool_AllocateWaveVoicePool

◆ criAtomExVoicePool_SetDefaultConfigForAiffVoicePool

#define criAtomExVoicePool_SetDefaultConfigForAiffVoicePool (   p_config)
値:
{\
(p_config)->identifier = 0;\
(p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
criAtomPlayer_SetDefaultConfigForAiffPlayer(&(p_config)->player_config);\
(p_config)->is_streaming_only = CRI_FALSE;\
(p_config)->min_channels = 1;\
}

AIFFボイスプール作成用コンフィグ構造体にデフォルト値をセット

引数
[out]p_configAIFFボイスプール作成用コンフィグ構造体へのポインタ
説明:
criAtomExVoicePool_AllocateAiffVoicePool 関数に設定するコンフィグ構造体 ( CriAtomExAiffVoicePoolConfig )に、デフォルトの値をセットします。
参照
CriAtomExAiffVoicePoolConfig, criAtomExVoicePool_AllocateAiffVoicePool

◆ criAtomExVoicePool_SetDefaultConfigForRawPcmVoicePool

#define criAtomExVoicePool_SetDefaultConfigForRawPcmVoicePool (   p_config)
値:
{\
(p_config)->identifier = 0;\
(p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
criAtomPlayer_SetDefaultConfigForRawPcmPlayer(&(p_config)->player_config);\
}

RawPCMボイスプール作成用コンフィグ構造体にデフォルト値をセット

引数
[out]p_configRawPCMボイスプール作成用コンフィグ構造体へのポインタ
説明:
criAtomExVoicePool_AllocateRawPcmVoicePool 関数に設定するコンフィグ構造体 ( CriAtomExRawPcmVoicePoolConfig )に、デフォルトの値をセットします。
参照
CriAtomExRawPcmVoicePoolConfig, criAtomExVoicePool_AllocateRawPcmVoicePool

◆ criAtomExVoicePool_SetDefaultConfigForInstrumentVoicePool

#define criAtomExVoicePool_SetDefaultConfigForInstrumentVoicePool (   p_config)
値:
{\
(p_config)->identifier = 0;\
(p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
criAtomPlayer_SetDefaultConfigForInstrumentPlayer(&(p_config)->player_config);\
}

インストゥルメントボイスプール作成用コンフィグ構造体にデフォルト値をセット

引数
[out]p_configRawPCMボイスプール作成用コンフィグ構造体へのポインタ
説明:
criAtomExVoicePool_AllocateInstrumentVoicePool 関数に設定するコンフィグ構造体 ( :: CriAtomExInstrumentVoicePoolConfig )に、デフォルトの値をセットします。
注意:
デフォルト値のままではプールの作成に失敗します。
ユーザが登録したインターフェースのインストゥルメント名を設定する必要があります。
参照
CriAtomExInstrumentVoicePoolConfig, criAtomExVoicePool_AllocateInstrumentVoicePool

型定義詳解

◆ CriAtomExVoicePoolHn

typedef struct CriAtomExVoicePoolTag* CriAtomExVoicePoolHn

ボイスプールハンドル

説明:
ボイスプールを制御するためのハンドルです。
criAtomExVoicePool_AllocateStandardVoicePool 関数等でボイスプールを作成した際、 関数の戻り値として返されます。
ボイスプールハンドルは、ボイスプールの情報取得や、ボイスプールを解放する 際に使用します。
参照
criAtomExVoicePool_AllocateStandardVoicePool, criAtomExVoicePool_Free

◆ CriAtomExVoicePoolIdentifier

typedef CriUint32 CriAtomExVoicePoolIdentifier

ボイスプール識別子

説明:
ボイスプール識別子は、ボイスプールを一意に識別するためのIDです。
ボイスプール識別子をプログラム中で保持する際には、 本変数型を用いて値を取り扱う必要があります。
備考
ボイスプール識別子は、以下の2つに対して指定する必要があります。
  • ボイスプール(ボイスプール作成用コンフィグ構造体で指定)
  • プレーヤー(criAtomExPlayer_SetVoicePoolIdentifier 関数で指定) ボイスプールとプレーヤーの両方に識別子を設定することで、 当該プレーヤーは当該ボイスプールからのみボイスを取得するようになります。

    複数のボイスプールに同一のボイスプール識別子を指定することも可能です。
参照
CriAtomExStandardVoicePoolConfig, criAtomExPlayer_SetVoicePoolIdentifier

◆ CriAtomExStandardVoicePoolConfig

標準ボイスプール作成用コンフィグ構造体

説明:
標準ボイスプールの仕様を指定するための構造体です。
criAtomExVoicePool_AllocateStandardVoicePool 関数に引数として渡します。
プールできるボイス数の最大数は CRIATOMEX_MAX_VOICES_PER_POOL で、 最小数は CRIATOMEX_MIN_VOICES_PER_POOL です。
注意
将来的にメンバが増える可能性があるため、 criAtomExVoicePool_SetDefaultConfigForStandardVoicePool マクロを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照
criAtomExVoicePool_AllocateStandardVoicePool, criAtomExVoicePool_SetDefaultConfigForStandardVoicePool

◆ CriAtomExAdxVoicePoolConfig

ADXボイスプール作成用コンフィグ構造体

説明:
ADXボイスプールの仕様を指定するための構造体です。
criAtomExVoicePool_AllocateAdxVoicePool 関数に引数として渡します。
プールできるボイス数の最大数は CRIATOMEX_MAX_VOICES_PER_POOL で、 最小数は CRIATOMEX_MIN_VOICES_PER_POOL です。
注意
将来的にメンバが増える可能性があるため、 criAtomExVoicePool_SetDefaultConfigForAdxVoicePool マクロを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照
criAtomExVoicePool_AllocateAdxVoicePool, criAtomExVoicePool_SetDefaultConfigForAdxVoicePool

◆ CriAtomExHcaVoicePoolConfig

HCAボイスプール作成用コンフィグ構造体

説明:
HCAボイスプールの仕様を指定するための構造体です。
criAtomExVoicePool_AllocateHcaVoicePool 関数に引数として渡します。
プールできるボイス数の最大数は CRIATOMEX_MAX_VOICES_PER_POOL で、 最小数は CRIATOMEX_MIN_VOICES_PER_POOL です。
注意
将来的にメンバが増える可能性があるため、 criAtomExVoicePool_SetDefaultConfigForHcaVoicePool マクロを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照
criAtomExVoicePool_AllocateHcaVoicePool, criAtomExVoicePool_SetDefaultConfigForHcaVoicePool

◆ CriAtomExHcaMxVoicePoolConfig

HCA-MXボイスプール作成用コンフィグ構造体

説明:
HCA-MXボイスプールの仕様を指定するための構造体です。
criAtomExVoicePool_AllocateHcaMxVoicePool 関数に引数として渡します。
プールできるボイス数の最大数は CRIATOMEX_MAX_VOICES_PER_POOL で、 最小数は CRIATOMEX_MIN_VOICES_PER_POOL です。
注意
将来的にメンバが増える可能性があるため、 criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool マクロを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照
criAtomExVoicePool_AllocateHcaMxVoicePool, criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool

◆ CriAtomExWaveVoicePoolConfig

Waveボイスプール作成用コンフィグ構造体

説明:
Waveボイスプールの仕様を指定するための構造体です。
criAtomExVoicePool_AllocateWaveVoicePool 関数に引数として渡します。
プールできるボイス数の最大数は CRIATOMEX_MAX_VOICES_PER_POOL で、 最小数は CRIATOMEX_MIN_VOICES_PER_POOL です。
注意
将来的にメンバが増える可能性があるため、 criAtomExVoicePool_SetDefaultConfigForWaveVoicePool マクロを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照
criAtomExVoicePool_AllocateWaveVoicePool, criAtomExVoicePool_SetDefaultConfigForWaveVoicePool

◆ CriAtomExAiffVoicePoolConfig

AIFFボイスプール作成用コンフィグ構造体

説明:
AIFFボイスプールの仕様を指定するための構造体です。
criAtomExVoicePool_AllocateAiffVoicePool 関数に引数として渡します。
プールできるボイス数の最大数は CRIATOMEX_MAX_VOICES_PER_POOL で、 最小数は CRIATOMEX_MIN_VOICES_PER_POOL です。
注意
将来的にメンバが増える可能性があるため、 criAtomExVoicePool_SetDefaultConfigForAiffVoicePool マクロを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照
criAtomExVoicePool_AllocateAiffVoicePool, criAtomExVoicePool_SetDefaultConfigForAiffVoicePool

◆ CriAtomExRawPcmVoicePoolConfig

RawPCMボイスプール作成用コンフィグ構造体

説明:
RawPCMボイスプールの仕様を指定するための構造体です。
criAtomExVoicePool_AllocateRawPcmVoicePool 関数に引数として渡します。
プールできるボイス数の最大数は CRIATOMEX_MAX_VOICES_PER_POOL で、 最小数は CRIATOMEX_MIN_VOICES_PER_POOL です。
注意
将来的にメンバが増える可能性があるため、 criAtomExVoicePool_SetDefaultConfigForRawPcmVoicePool マクロを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照
criAtomExVoicePool_AllocateRawPcmVoicePool, criAtomExVoicePool_SetDefaultConfigForRawPcmVoicePool

◆ CriAtomExInstrumentVoicePoolConfig

インストゥルメントボイスプール作成用コンフィグ構造体

説明:
インストゥルメントボイスプールの仕様を指定するための構造体です。
:: criAtomExVoicePool_AllocateInstrumentVoicePool 関数に引数として渡します。
プールできるボイス数の最大数は CRIATOMEX_MAX_VOICES_PER_POOL で、 最小数は CRIATOMEX_MIN_VOICES_PER_POOL です。
注意
将来的にメンバが増える可能性があるため、 criAtomExVoicePool_SetDefaultConfigForInstrumentVoicePool マクロを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照
criAtomExVoicePool_AllocateInstrumentVoicePool, criAtomExVoicePool_SetDefaultConfigForInstrumentVoicePool

◆ CriAtomExVoicePoolCbFunc

typedef void(* CriAtomExVoicePoolCbFunc) (void *obj, CriAtomExVoicePoolHn pool)

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

引数
[in]objユーザ指定オブジェクト
[in]poolボイスプールハンドル
説明:
ボイスプールの列挙に使用する、コールバック関数の型です。
criAtomExVoicePool_EnumerateVoicePools 関数に本関数型のコールバック関数を登録することで、 作成済みボイスプールをコールバックで受け取ることが可能となります。

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

関数詳解

◆ criAtomExVoicePool_CalculateWorkSizeForStandardVoicePool()

CriSint32 criAtomExVoicePool_CalculateWorkSizeForStandardVoicePool ( const CriAtomExStandardVoicePoolConfig config)

標準ボイスプール作成用ワーク領域サイズの計算

引数
[in]config標準ボイスプール作成用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
標準ボイスプールの作成に必要なワーク領域のサイズを計算します。
criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomExVoicePool_AllocateStandardVoicePool 関数でボイスプールを作成する際には、 criAtomExVoicePool_AllocateStandardVoicePool 関数に本関数が返すサイズ分のメモリをワーク 領域として渡す必要があります。

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

引数にNULLを指定した場合、デフォルト設定 ( criAtomExVoicePool_SetDefaultConfigForStandardVoicePool マクロ使用時 と同じパラメーター)でワーク領域サイズを計算します。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
ワーク領域のサイズはライブラリ初期化時( criAtomEx_Initialize 関数実行時) に指定したパラメーターによって変化します。
そのため、本関数を実行する前に、ライブラリを初期化しておく必要があります。
参照
criAtomExVoicePool_AllocateStandardVoicePool

◆ criAtomExVoicePool_AllocateStandardVoicePool()

CriAtomExVoicePoolHn criAtomExVoicePool_AllocateStandardVoicePool ( const CriAtomExStandardVoicePoolConfig config,
void *  work,
CriSint32  work_size 
)

標準ボイスプールの作成

引数
[in]config標準ボイスプール作成用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriAtomExVoicePoolHn ボイスプールハンドル
説明:
標準ボイスプールを作成します。
(標準ボイスは、ADXデータとHCAデータの両方の再生に対応したボイスです。)

ボイスプールを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomExVoicePool_CalculateWorkSizeForStandardVoicePool 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)

本関数を実行することで、ADXとHCAの再生が可能なボイスがプールされます。
AtomExプレーヤーでADXやHCAデータ(もしくはADXやHCAデータを含むキュー)の再生を行うと、 AtomExプレーヤーは作成された標準ボイスプールからボイスを取得し、再生を行います。

ボイスプールの作成に成功すると、戻り値としてボイスプールハンドルが返されます。
アプリケーション終了時には、作成したボイスプールを criAtomExVoicePool_Free 関数で破棄する必要があります。

ボイスプールの作成に失敗すると、本関数はNULLを返します。
ボイスプールの作成に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
ボイスプール作成時には、プール作成用コンフィグ構造体 ( CriAtomExStandardVoicePoolConfig 構造体の num_voices ) で指定した数分のボイスが、ライブラリ内で作成されます。
作成するボイスの数が多いほど、同時に再生可能な音声の数は増えますが、 反面、使用するメモリは増加します。

ボイスプール作成時には、ボイス数の他に、再生可能な音声のチャンネル数、 サンプリング周波数、ストリーム再生の有無を指定します。

ボイスプール作成時に指定する音声チャンネル数( CriAtomExStandardVoicePoolConfig 構造体の player_config.max_channels )は、ボイスプール内のボイスが再生できる 音声データのチャンネル数になります。
チャンネル数を少なくすることで、ボイスプールの作成に必要なメモリサイズは 小さくなりますが、指定されたチャンネル数を越えるデータは再生できなくなります。
例えば、ボイスプールをモノラルで作成した場合、ステレオのデータは再生できません。
(ステレオデータを再生する場合、AtomExプレーヤーは、ステレオが再生可能な ボイスプールからのみボイスを取得します。)
ただし、ステレオのボイスプールを作成した場合、モノラルデータ再生時にステレオ ボイスプールのボイスが使用される可能性はあります。

サンプリングレート( CriAtomExStandardVoicePoolConfig 構造体の player_config.max_sampling_rate )についても、値を下げることでもボイスプール に必要なメモリサイズは小さくすることが可能ですが、指定されたサンプリングレート を越えるデータは再生できなくなります。
(指定されたサンプリングレート以下のデータのみが再生可能です。)

ストリーミング再生の有無(::CriAtomExStandardVoicePoolConfig 構造体の player_config.streaming_flag )についても、オンメモリ再生のみのボイスプールは ストリーミング再生可能なボイスプールに比べ、サイズが小さくなります。

尚、AtomExプレーヤーがデータを再生した際に、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。
(ボイスプライオリティの詳細は criAtomExPlayer_SetVoicePriority 関数の説明をご参照ください。)
注意
本関数を実行する前に、ライブラリを初期化しておく必要があります。

本関数にワーク領域をセットした場合、セットした領域のメモリをボイスプール破棄時 までアプリケーション中で保持し続ける必要があります。
(セット済みのワーク領域に値を書き込んだり、メモリ解放したりしてはいけません。)

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
ストリーム再生用のボイスプールは、内部的にボイスの数分だけローダー( CriFsLoaderHn ) を確保します。
ストリーム再生用のボイスプールを作成する場合、ボイス数分のローダーが確保できる設定で Atomライブラリ(またはCRI File Systemライブラリ)を初期化する必要があります。

本関数は完了復帰型の関数です。
ボイスプールの作成にかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ボイスプールの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照
CriAtomExStandardVoicePoolConfig, criAtomExVoicePool_CalculateWorkSizeForStandardVoicePool, criAtomExVoicePool_Free

◆ criAtomExVoicePool_CalculateWorkSizeForAdxVoicePool()

CriSint32 criAtomExVoicePool_CalculateWorkSizeForAdxVoicePool ( const CriAtomExAdxVoicePoolConfig config)

ADXボイスプール作成用ワーク領域サイズの計算

引数
[in]configADXボイスプール作成用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
ADXボイスプールの作成に必要なワーク領域のサイズを計算します。
criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomExVoicePool_AllocateAdxVoicePool 関数でボイスプールを作成する際には、 criAtomExVoicePool_AllocateAdxVoicePool 関数に本関数が返すサイズ分のメモリをワーク 領域として渡す必要があります。

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

引数にNULLを指定した場合、デフォルト設定 ( criAtomExVoicePool_SetDefaultConfigForAdxVoicePool マクロ使用時と 同じパラメーター)でワーク領域サイズを計算します。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
ワーク領域のサイズはライブラリ初期化時( criAtomEx_Initialize 関数実行時) に指定したパラメーターによって変化します。
そのため、本関数を実行する前に、ライブラリを初期化しておく必要があります。
参照
criAtomExVoicePool_AllocateAdxVoicePool

◆ criAtomExVoicePool_AllocateAdxVoicePool()

CriAtomExVoicePoolHn criAtomExVoicePool_AllocateAdxVoicePool ( const CriAtomExAdxVoicePoolConfig config,
void *  work,
CriSint32  work_size 
)

ADXボイスプールの作成

引数
[in]configADXボイスプール作成用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriAtomExVoicePoolHn ボイスプールハンドル
説明:
ADXボイスプールを作成します。
ボイスプールを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomExVoicePool_CalculateWorkSizeForAdxVoicePool 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)

本関数を実行することで、ADX再生が可能なボイスがプールされます。
AtomExプレーヤーでADXデータ(もしくはADXデータを含むキュー)の再生を行うと、 AtomExプレーヤーは作成されたADXボイスプールからボイスを取得し、再生を行います。

ボイスプールの作成に成功すると、戻り値としてボイスプールハンドルが返されます。
アプリケーション終了時には、作成したボイスプールを criAtomExVoicePool_Free 関数で破棄する必要があります。

ボイスプールの作成に失敗すると、本関数はNULLを返します。
ボイスプールの作成に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
ボイスプール作成時には、プール作成用コンフィグ構造体 ( CriAtomExAdxVoicePoolConfig 構造体の num_voices ) で指定した数分のボイスが、ライブラリ内で作成されます。
作成するボイスの数が多いほど、同時に再生可能なADX音声の数は増えますが、 反面、使用するメモリは増加します。

ボイスプール作成時には、ボイス数の他に、再生可能な音声のチャンネル数、 サンプリング周波数、ストリーム再生の有無を指定します。

ボイスプール作成時に指定する音声チャンネル数( CriAtomExAdxVoicePoolConfig 構造体の player_config.max_channels )は、ボイスプール内のボイスが再生できる 音声データのチャンネル数になります。
チャンネル数を少なくすることで、ボイスプールの作成に必要なメモリサイズは 小さくなりますが、指定されたチャンネル数を越えるデータは再生できなくなります。
例えば、ボイスプールをモノラルで作成した場合、ステレオのデータは再生できません。
(ステレオデータを再生する場合、AtomExプレーヤーは、ステレオが再生可能な ボイスプールからのみボイスを取得します。)
ただし、ステレオのボイスプールを作成した場合、モノラルデータ再生時にステレオ ボイスプールのボイスが使用される可能性はあります。

サンプリングレート( CriAtomExAdxVoicePoolConfig 構造体の player_config.max_sampling_rate )についても、値を下げることでもボイスプール に必要なメモリサイズは小さくすることが可能ですが、指定されたサンプリングレート を越えるデータは再生できなくなります。
(指定されたサンプリングレート以下のデータのみが再生可能です。)

ストリーミング再生の有無(::CriAtomExAdxVoicePoolConfig 構造体の player_config.streaming_flag )についても、オンメモリ再生のみのボイスプールは ストリーミング再生可能なボイスプールに比べ、サイズが小さくなります。

尚、AtomExプレーヤーがデータを再生した際に、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。
(ボイスプライオリティの詳細は criAtomExPlayer_SetVoicePriority 関数の説明をご参照ください。)
注意
本関数を実行する前に、ライブラリを初期化しておく必要があります。

本関数にワーク領域をセットした場合、セットした領域のメモリをボイスプール破棄時 までアプリケーション中で保持し続ける必要があります。
(セット済みのワーク領域に値を書き込んだり、メモリ解放したりしてはいけません。)

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
ストリーム再生用のボイスプールは、内部的にボイスの数分だけローダー( CriFsLoaderHn ) を確保します。
ストリーム再生用のボイスプールを作成する場合、ボイス数分のローダーが確保できる設定で Atomライブラリ(またはCRI File Systemライブラリ)を初期化する必要があります。

本関数は完了復帰型の関数です。
ボイスプールの作成にかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ボイスプールの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照
CriAtomExAdxVoicePoolConfig, criAtomExVoicePool_CalculateWorkSizeForAdxVoicePool, criAtomExVoicePool_Free

◆ criAtomExVoicePool_CalculateWorkSizeForHcaVoicePool()

CriSint32 criAtomExVoicePool_CalculateWorkSizeForHcaVoicePool ( const CriAtomExHcaVoicePoolConfig config)

HCAボイスプール作成用ワーク領域サイズの計算

引数
[in]configHCAボイスプール作成用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
HCAボイスプールの作成に必要なワーク領域のサイズを計算します。
criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomExVoicePool_AllocateHcaVoicePool 関数でボイスプールを作成する際には、 criAtomExVoicePool_AllocateHcaVoicePool 関数に本関数が返すサイズ分のメモリをワーク 領域として渡す必要があります。

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

引数にNULLを指定した場合、デフォルト設定 ( criAtomExVoicePool_SetDefaultConfigForHcaVoicePool マクロ使用時と 同じパラメーター)でワーク領域サイズを計算します。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
ワーク領域のサイズはライブラリ初期化時( criAtomEx_Initialize 関数実行時) に指定したパラメーターによって変化します。
そのため、本関数を実行する前に、ライブラリを初期化しておく必要があります。
参照
criAtomExVoicePool_AllocateHcaVoicePool

◆ criAtomExVoicePool_AllocateHcaVoicePool()

CriAtomExVoicePoolHn criAtomExVoicePool_AllocateHcaVoicePool ( const CriAtomExHcaVoicePoolConfig config,
void *  work,
CriSint32  work_size 
)

HCAボイスプールの作成

引数
[in]configHCAボイスプール作成用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriAtomExVoicePoolHn ボイスプールハンドル
説明:
HCAボイスプールを作成します。
ボイスプールを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomExVoicePool_CalculateWorkSizeForHcaVoicePool 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)

本関数を実行することで、HCA再生が可能なボイスがプールされます。
AtomExプレーヤーでHCAデータ(もしくはHCAデータを含むキュー)の再生を行うと、 AtomExプレーヤーは作成されたHCAボイスプールからボイスを取得し、再生を行います。

ボイスプールの作成に成功すると、戻り値としてボイスプールハンドルが返されます。
アプリケーション終了時には、作成したボイスプールを criAtomExVoicePool_Free 関数で破棄する必要があります。

ボイスプールの作成に失敗すると、本関数はNULLを返します。
ボイスプールの作成に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
ボイスプール作成時には、プール作成用コンフィグ構造体 ( CriAtomExHcaVoicePoolConfig 構造体の num_voices ) で指定した数分のボイスが、ライブラリ内で作成されます。
作成するボイスの数が多いほど、同時に再生可能なHCA音声の数は増えますが、 反面、使用するメモリは増加します。

ボイスプール作成時には、ボイス数の他に、再生可能な音声のチャンネル数、 サンプリング周波数、ストリーム再生の有無を指定します。

ボイスプール作成時に指定する音声チャンネル数( CriAtomExHcaVoicePoolConfig 構造体の player_config.max_channels )は、ボイスプール内のボイスが再生できる 音声データのチャンネル数になります。
チャンネル数を少なくすることで、ボイスプールの作成に必要なメモリサイズは 小さくなりますが、指定されたチャンネル数を越えるHCAデータは再生できなくなります。
例えば、ボイスプールをモノラルで作成した場合、ステレオのHCAデータは再生できません。
(ステレオHCAデータを再生する場合、AtomExプレーヤーは、ステレオHCAが再生可能な ボイスプールからのみボイスを取得します。)
ただし、ステレオのボイスプールを作成した場合、モノラルデータ再生時にステレオ ボイスプールのボイスが使用される可能性はあります。

サンプリングレート( CriAtomExHcaVoicePoolConfig 構造体の player_config.max_sampling_rate )についても、値を下げることでもボイスプール に必要なメモリサイズは小さくすることが可能ですが、指定されたサンプリングレート を越えるHCAデータは再生できなくなります。
(指定されたサンプリングレート以下のHCAデータのみが再生可能です。)

ストリーミング再生の有無(::CriAtomExHcaVoicePoolConfig 構造体の player_config.streaming_flag )についても、オンメモリ再生のみのボイスプールは ストリーミング再生可能なボイスプールに比べ、サイズが小さくなります。

尚、AtomExプレーヤーがデータを再生した際に、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。
(ボイスプライオリティの詳細は criAtomExPlayer_SetVoicePriority 関数の説明をご参照ください。)
注意
本関数を実行する前に、ライブラリを初期化しておく必要があります。

本関数にワーク領域をセットした場合、セットした領域のメモリをボイスプール破棄時 までアプリケーション中で保持し続ける必要があります。
(セット済みのワーク領域に値を書き込んだり、メモリ解放したりしてはいけません。)

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
ストリーム再生用のボイスプールは、内部的にボイスの数分だけローダー( CriFsLoaderHn ) を確保します。
ストリーム再生用のボイスプールを作成する場合、ボイス数分のローダーが確保できる設定で Atomライブラリ(またはCRI File Systemライブラリ)を初期化する必要があります。

本関数は完了復帰型の関数です。
ボイスプールの作成にかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ボイスプールの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照
CriAtomExHcaVoicePoolConfig, criAtomExVoicePool_CalculateWorkSizeForHcaVoicePool, criAtomExVoicePool_Free

◆ criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool()

CriSint32 criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool ( const CriAtomExHcaMxVoicePoolConfig config)

HCA-MXボイスプール作成用ワーク領域サイズの計算

引数
[in]configHCA-MXボイスプール作成用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
HCA-MXボイスプールの作成に必要なワーク領域のサイズを計算します。
criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomExVoicePool_AllocateHcaMxVoicePool 関数でボイスプールを作成する際には、 criAtomExVoicePool_AllocateHcaMxVoicePool 関数に本関数が返すサイズ分のメモリをワーク 領域として渡す必要があります。

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

引数にNULLを指定した場合、デフォルト設定 ( criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool マクロ使用時と 同じパラメーター)でワーク領域サイズを計算します。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
ワーク領域のサイズはHCA-MX初期化時( criAtomExHcaMx_Initialize 関数実行時) に指定したパラメーターによって変化します。
そのため、本関数を実行する前に、HCA-MXを初期化しておく必要があります。
参照
criAtomExVoicePool_AllocateHcaMxVoicePool

◆ criAtomExVoicePool_AllocateHcaMxVoicePool()

CriAtomExVoicePoolHn criAtomExVoicePool_AllocateHcaMxVoicePool ( const CriAtomExHcaMxVoicePoolConfig config,
void *  work,
CriSint32  work_size 
)

HCA-MXボイスプールの作成

引数
[in]configHCA-MXボイスプール作成用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriAtomExVoicePoolHn ボイスプールハンドル
説明:
HCA-MXボイスプールを作成します。
ボイスプールを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)

本関数を実行することで、HCA-MX再生が可能なボイスがプールされます。
AtomExプレーヤーでHCA-MXデータ(もしくはHCA-MXデータを含むキュー)の再生を行うと、 AtomExプレーヤーは作成されたHCA-MXボイスプールからボイスを取得し、再生を行います。

ボイスプールの作成に成功すると、戻り値としてボイスプールハンドルが返されます。
アプリケーション終了時には、作成したボイスプールを criAtomExVoicePool_Free 関数で破棄する必要があります。

ボイスプールの作成に失敗すると、本関数はNULLを返します。
ボイスプールの作成に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
ボイスプール作成時には、プール作成用コンフィグ構造体 ( CriAtomExHcaMxVoicePoolConfig 構造体の num_voices ) で指定した数分のボイスが、ライブラリ内で作成されます。
作成するボイスの数が多いほど、同時に再生可能なHCA-MX音声の数は増えますが、 反面、使用するメモリは増加します。

ボイスプール作成時には、ボイス数の他に、再生可能な音声のチャンネル数、 サンプリング周波数、ストリーム再生の有無を指定します。

ボイスプール作成時に指定する音声チャンネル数( CriAtomExHcaMxVoicePoolConfig 構造体の player_config.max_channels )は、ボイスプール内のボイスが再生できる 音声データのチャンネル数になります。
チャンネル数を少なくすることで、ボイスプールの作成に必要なメモリサイズは 小さくなりますが、指定されたチャンネル数を越えるHCA-MXデータは再生できなくなります。
例えば、ボイスプールをモノラルで作成した場合、ステレオのHCA-MXデータは再生できません。
(ステレオHCA-MXデータを再生する場合、AtomExプレーヤーは、ステレオHCA-MXが再生可能な ボイスプールからのみボイスを取得します。)
ただし、ステレオのボイスプールを作成した場合、モノラルデータ再生時にステレオ ボイスプールのボイスが使用される可能性はあります。

サンプリングレート( CriAtomExHcaMxVoicePoolConfig 構造体の player_config.max_sampling_rate )についても、値を下げることでもボイスプール に必要なメモリサイズは小さくすることが可能ですが、指定されたサンプリングレート 以外のHCA-MXデータは再生できなくなります。
(他のボイスプールと異なり、同一サンプリングレートのデータのみが再生可能です。)

ストリーミング再生の有無(::CriAtomExHcaMxVoicePoolConfig 構造体の player_config.streaming_flag )についても、オンメモリ再生のみのボイスプールは ストリーミング再生可能なボイスプールに比べ、サイズが小さくなります。

尚、AtomExプレーヤーがデータを再生した際に、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。
(ボイスプライオリティの詳細は criAtomExPlayer_SetVoicePriority 関数の説明をご参照ください。)
注意
本関数を実行する前に、必ずHCA-MXの初期化処理( criAtomExHcaMx_Initialize 関数) を実行しておく必要があります。
また、 criAtomExHcaMx_Initialize 関数実行時に指定した数以上のHCA-MXデータは再生できません。
HCA-MXボイスプールを作成する際には、 CriAtomExHcaMxVoicePoolConfig 構造体の num_voices の値が、HCA-MX初期化時に指定する CriAtomExHcaMxConfig 構造体の max_voices の数を超えないよう、 ご注意ください。

本関数にワーク領域をセットした場合、セットした領域のメモリをボイスプール破棄時 までアプリケーション中で保持し続ける必要があります。
(セット済みのワーク領域に値を書き込んだり、メモリ解放したりしてはいけません。)

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
ストリーム再生用のボイスプールは、内部的にボイスの数分だけローダー( CriFsLoaderHn ) を確保します。
ストリーム再生用のボイスプールを作成する場合、ボイス数分のローダーが確保できる設定で Atomライブラリ(またはCRI File Systemライブラリ)を初期化する必要があります。

本関数は完了復帰型の関数です。
ボイスプールの作成にかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ボイスプールの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照
CriAtomExHcaMxVoicePoolConfig, criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool, criAtomExVoicePool_Free

◆ criAtomExVoicePool_CalculateWorkSizeForWaveVoicePool()

CriSint32 criAtomExVoicePool_CalculateWorkSizeForWaveVoicePool ( const CriAtomExWaveVoicePoolConfig config)

Waveボイスプール作成用ワーク領域サイズの計算

引数
[in]configWaveボイスプール作成用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
Waveボイスプールの作成に必要なワーク領域のサイズを計算します。
criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomExVoicePool_AllocateWaveVoicePool 関数でボイスプールを作成する際には、 criAtomExVoicePool_AllocateWaveVoicePool 関数に本関数が返すサイズ分のメモリをワーク 領域として渡す必要があります。

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

引数にNULLを指定した場合、デフォルト設定 ( criAtomExVoicePool_SetDefaultConfigForWaveVoicePool マクロ使用時と 同じパラメーター)でワーク領域サイズを計算します。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
ワーク領域のサイズはライブラリ初期化時( criAtomEx_Initialize 関数実行時) に指定したパラメーターによって変化します。
そのため、本関数を実行する前に、ライブラリを初期化しておく必要があります。
参照
criAtomExVoicePool_AllocateWaveVoicePool

◆ criAtomExVoicePool_AllocateWaveVoicePool()

CriAtomExVoicePoolHn criAtomExVoicePool_AllocateWaveVoicePool ( const CriAtomExWaveVoicePoolConfig config,
void *  work,
CriSint32  work_size 
)

Waveボイスプールの作成

引数
[in]configWaveボイスプール作成用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriAtomExVoicePoolHn ボイスプールハンドル
説明:
Waveボイスプールを作成します。
ボイスプールを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomExVoicePool_CalculateWorkSizeForWaveVoicePool 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)

本関数を実行することで、Wave再生が可能なボイスがプールされます。
AtomExプレーヤーでWaveデータ(もしくはWaveデータを含むキュー)の再生を行うと、 AtomExプレーヤーは作成されたWaveボイスプールからボイスを取得し、再生を行います。

ボイスプールの作成に成功すると、戻り値としてボイスプールハンドルが返されます。
アプリケーション終了時には、作成したボイスプールを criAtomExVoicePool_Free 関数で破棄する必要があります。

ボイスプールの作成に失敗すると、本関数はNULLを返します。
ボイスプールの作成に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
ボイスプール作成時には、プール作成用コンフィグ構造体 ( CriAtomExWaveVoicePoolConfig 構造体の num_voices ) で指定した数分のボイスが、ライブラリ内で作成されます。
作成するボイスの数が多いほど、同時に再生可能なWave音声の数は増えますが、 反面、使用するメモリは増加します。

ボイスプール作成時には、ボイス数の他に、再生可能な音声のチャンネル数、 サンプリング周波数、ストリーム再生の有無を指定します。

ボイスプール作成時に指定する音声チャンネル数( CriAtomExWaveVoicePoolConfig 構造体の player_config.max_channels )は、ボイスプール内のボイスが再生できる 音声データのチャンネル数になります。
チャンネル数を少なくすることで、ボイスプールの作成に必要なメモリサイズは 小さくなりますが、指定されたチャンネル数を越えるWaveデータは再生できなくなります。
例えば、ボイスプールをモノラルで作成した場合、ステレオのWaveデータは再生できません。
(ステレオWaveデータを再生する場合、AtomExプレーヤーは、ステレオWaveが再生可能な ボイスプールからのみボイスを取得します。)
ただし、ステレオのボイスプールを作成した場合、モノラルデータ再生時にステレオ ボイスプールのボイスが使用される可能性はあります。

サンプリングレート( CriAtomExWaveVoicePoolConfig 構造体の player_config.max_sampling_rate )についても、値を下げることでもボイスプール に必要なメモリサイズは小さくすることが可能ですが、指定されたサンプリングレート を越えるWaveデータは再生できなくなります。
(指定されたサンプリングレート以下のWaveデータのみが再生可能です。)

ストリーミング再生の有無(::CriAtomExWaveVoicePoolConfig 構造体の player_config.streaming_flag )についても、オンメモリ再生のみのボイスプールは ストリーミング再生可能なボイスプールに比べ、サイズが小さくなります。

尚、AtomExプレーヤーがデータを再生した際に、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。
(ボイスプライオリティの詳細は criAtomExPlayer_SetVoicePriority 関数の説明をご参照ください。)
注意
本関数を実行する前に、ライブラリを初期化しておく必要があります。

本関数にワーク領域をセットした場合、セットした領域のメモリをボイスプール破棄時 までアプリケーション中で保持し続ける必要があります。
(セット済みのワーク領域に値を書き込んだり、メモリ解放したりしてはいけません。)

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
ストリーム再生用のボイスプールは、内部的にボイスの数分だけローダー( CriFsLoaderHn ) を確保します。
ストリーム再生用のボイスプールを作成する場合、ボイス数分のローダーが確保できる設定で Atomライブラリ(またはCRI File Systemライブラリ)を初期化する必要があります。

本関数は完了復帰型の関数です。
ボイスプールの作成にかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ボイスプールの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。

再生可能なフォーマットは、32bit以下の非圧縮PCMデータのみです。
ループ再生を行う場合、ストリーム再生用の音声データについては、 smplチャンクがdataチャンクよりも手前に配置されている必要があります。
参照
CriAtomExWaveVoicePoolConfig, criAtomExVoicePool_CalculateWorkSizeForWaveVoicePool, criAtomExVoicePool_Free

◆ criAtomExVoicePool_CalculateWorkSizeForAiffVoicePool()

CriSint32 criAtomExVoicePool_CalculateWorkSizeForAiffVoicePool ( const CriAtomExAiffVoicePoolConfig config)

AIFFボイスプール作成用ワーク領域サイズの計算

引数
[in]configAIFFボイスプール作成用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
AIFFボイスプールの作成に必要なワーク領域のサイズを計算します。
criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomExVoicePool_AllocateAiffVoicePool 関数でボイスプールを作成する際には、 criAtomExVoicePool_AllocateAiffVoicePool 関数に本関数が返すサイズ分のメモリをワーク 領域として渡す必要があります。

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

引数にNULLを指定した場合、デフォルト設定 ( criAtomExVoicePool_SetDefaultConfigForAiffVoicePool マクロ使用時と 同じパラメーター)でワーク領域サイズを計算します。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
ワーク領域のサイズはライブラリ初期化時( criAtomEx_Initialize 関数実行時) に指定したパラメーターによって変化します。
そのため、本関数を実行する前に、ライブラリを初期化しておく必要があります。
参照
criAtomExVoicePool_AllocateAiffVoicePool

◆ criAtomExVoicePool_AllocateAiffVoicePool()

CriAtomExVoicePoolHn criAtomExVoicePool_AllocateAiffVoicePool ( const CriAtomExAiffVoicePoolConfig config,
void *  work,
CriSint32  work_size 
)

AIFFボイスプールの作成

引数
[in]configAIFFボイスプール作成用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriAtomExVoicePoolHn ボイスプールハンドル
説明:
AIFFボイスプールを作成します。
ボイスプールを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomExVoicePool_CalculateWorkSizeForAiffVoicePool 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)

本関数を実行することで、AIFF再生が可能なボイスがプールされます。
AtomExプレーヤーでAIFFデータ(もしくはAIFFデータを含むキュー)の再生を行うと、 AtomExプレーヤーは作成されたAIFFボイスプールからボイスを取得し、再生を行います。

ボイスプールの作成に成功すると、戻り値としてボイスプールハンドルが返されます。
アプリケーション終了時には、作成したボイスプールを criAtomExVoicePool_Free 関数で破棄する必要があります。

ボイスプールの作成に失敗すると、本関数はNULLを返します。
ボイスプールの作成に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
ボイスプール作成時には、プール作成用コンフィグ構造体 ( CriAtomExAiffVoicePoolConfig 構造体の num_voices ) で指定した数分のボイスが、ライブラリ内で作成されます。
作成するボイスの数が多いほど、同時に再生可能なAIFF音声の数は増えますが、 反面、使用するメモリは増加します。

ボイスプール作成時には、ボイス数の他に、再生可能な音声のチャンネル数、 サンプリング周波数、ストリーム再生の有無を指定します。

ボイスプール作成時に指定する音声チャンネル数( CriAtomExAiffVoicePoolConfig 構造体の player_config.max_channels )は、ボイスプール内のボイスが再生できる 音声データのチャンネル数になります。
チャンネル数を少なくすることで、ボイスプールの作成に必要なメモリサイズは 小さくなりますが、指定されたチャンネル数を越えるAIFFデータは再生できなくなります。
例えば、ボイスプールをモノラルで作成した場合、ステレオのAIFFデータは再生できません。
(ステレオAIFFデータを再生する場合、AtomExプレーヤーは、ステレオAIFFが再生可能な ボイスプールからのみボイスを取得します。)
ただし、ステレオのボイスプールを作成した場合、モノラルデータ再生時にステレオ ボイスプールのボイスが使用される可能性はあります。

サンプリングレート( CriAtomExAiffVoicePoolConfig 構造体の player_config.max_sampling_rate )についても、値を下げることでもボイスプール に必要なメモリサイズは小さくすることが可能ですが、指定されたサンプリングレート を越えるAIFFデータは再生できなくなります。
(指定されたサンプリングレート以下のAIFFデータのみが再生可能です。)

ストリーミング再生の有無(::CriAtomExAiffVoicePoolConfig 構造体の player_config.streaming_flag )についても、オンメモリ再生のみのボイスプールは ストリーミング再生可能なボイスプールに比べ、サイズが小さくなります。

尚、AtomExプレーヤーがデータを再生した際に、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。
(ボイスプライオリティの詳細は criAtomExPlayer_SetVoicePriority 関数の説明をご参照ください。)
注意
本関数を実行する前に、ライブラリを初期化しておく必要があります。

本関数にワーク領域をセットした場合、セットした領域のメモリをボイスプール破棄時 までアプリケーション中で保持し続ける必要があります。
(セット済みのワーク領域に値を書き込んだり、メモリ解放したりしてはいけません。)

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
ストリーム再生用のボイスプールは、内部的にボイスの数分だけローダー( CriFsLoaderHn ) を確保します。
ストリーム再生用のボイスプールを作成する場合、ボイス数分のローダーが確保できる設定で Atomライブラリ(またはCRI File Systemライブラリ)を初期化する必要があります。

本関数は完了復帰型の関数です。
ボイスプールの作成にかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ボイスプールの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。

再生可能なフォーマットは、32bit以下の非圧縮PCMデータのみです。
ループ再生を行う場合、ストリーム再生用の音声データについては、 INSTチャンクがSSNDチャンクよりも手前に配置されている必要があります。
参照
CriAtomExAiffVoicePoolConfig, criAtomExVoicePool_CalculateWorkSizeForAiffVoicePool, criAtomExVoicePool_Free

◆ criAtomExVoicePool_CalculateWorkSizeForRawPcmVoicePool()

CriSint32 criAtomExVoicePool_CalculateWorkSizeForRawPcmVoicePool ( const CriAtomExRawPcmVoicePoolConfig config)

RawPCMボイスプール作成用ワーク領域サイズの計算

引数
[in]configRawPCMボイスプール作成用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
RawPCMボイスプールの作成に必要なワーク領域のサイズを計算します。
criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomExVoicePool_AllocateRawPcmVoicePool 関数でボイスプールを作成する際には、 criAtomExVoicePool_AllocateRawPcmVoicePool 関数に本関数が返すサイズ分のメモリをワーク 領域として渡す必要があります。

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

引数にNULLを指定した場合、デフォルト設定 ( criAtomExVoicePool_SetDefaultConfigForRawPcmVoicePool マクロ使用時と 同じパラメーター)でワーク領域サイズを計算します。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
ワーク領域のサイズはライブラリ初期化時( criAtomEx_Initialize 関数実行時) に指定したパラメーターによって変化します。
そのため、本関数を実行する前に、ライブラリを初期化しておく必要があります。
参照
criAtomExVoicePool_AllocateRawPcmVoicePool

◆ criAtomExVoicePool_AllocateRawPcmVoicePool()

CriAtomExVoicePoolHn criAtomExVoicePool_AllocateRawPcmVoicePool ( const CriAtomExRawPcmVoicePoolConfig config,
void *  work,
CriSint32  work_size 
)

RawPCMボイスプールの作成

引数
[in]configRawPCMボイスプール作成用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriAtomExVoicePoolHn ボイスプールハンドル
説明:
RawPCMボイスプールを作成します。
ボイスプールを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomExVoicePool_CalculateWorkSizeForRawPcmVoicePool 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)

本関数を実行することで、RawPCM再生が可能なボイスがプールされます。
AtomExプレーヤーでRawPCMデータ(もしくはRawPCMデータを含むキュー)の再生を行うと、 AtomExプレーヤーは作成されたRawPCMボイスプールからボイスを取得し、再生を行います。

ボイスプールの作成に成功すると、戻り値としてボイスプールハンドルが返されます。
アプリケーション終了時には、作成したボイスプールを criAtomExVoicePool_Free 関数で破棄する必要があります。

ボイスプールの作成に失敗すると、本関数はNULLを返します。
ボイスプールの作成に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
ボイスプール作成時には、プール作成用コンフィグ構造体 ( CriAtomExRawPcmVoicePoolConfig 構造体の num_voices ) で指定した数分のボイスが、ライブラリ内で作成されます。
作成するボイスの数が多いほど、同時に再生可能なRawPCM音声の数は増えますが、 反面、使用するメモリは増加します。

ボイスプール作成時には、ボイス数の他に、再生可能な音声のチャンネル数、 サンプリング周波数、ストリーム再生の有無を指定します。

ボイスプール作成時に指定する音声チャンネル数( CriAtomExRawPcmVoicePoolConfig 構造体の player_config.max_channels )は、実際に供給するRawPCMのフォーマットの チャンネル数を指定します。

サンプリングレート( CriAtomExRawPcmVoicePoolConfig 構造体の player_config.max_sampling_rate )についても、実際に供給するRawPCMの フォーマットのサンプリングレートを指定します。

尚、AtomExプレーヤーがデータを再生した際に、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。
(ボイスプライオリティの詳細は criAtomExPlayer_SetVoicePriority 関数の説明をご参照ください。)
注意
本関数を実行する前に、ライブラリを初期化しておく必要があります。

本関数にワーク領域をセットした場合、セットした領域のメモリをボイスプール破棄時 までアプリケーション中で保持し続ける必要があります。
(セット済みのワーク領域に値を書き込んだり、メモリ解放したりしてはいけません。)

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
ストリーム再生用のボイスプールは、内部的にボイスの数分だけローダー( CriFsLoaderHn ) を確保します。
ストリーム再生用のボイスプールを作成する場合、ボイス数分のローダーが確保できる設定で Atomライブラリ(またはCRI File Systemライブラリ)を初期化する必要があります。

本関数は完了復帰型の関数です。
ボイスプールの作成にかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ボイスプールの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照
CriAtomExRawPcmVoicePoolConfig, criAtomExVoicePool_CalculateWorkSizeForRawPcmVoicePool, criAtomExVoicePool_Free

◆ criAtomExVoicePool_AllocateInstrumentVoicePool()

CriAtomExVoicePoolHn criAtomExVoicePool_AllocateInstrumentVoicePool ( const CriAtomExInstrumentVoicePoolConfig config,
void *  work,
CriSint32  work_size 
)

インストゥルメントボイスプールの作成

引数
[in]configインストゥルメントボイスプール作成用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
戻り値
CriAtomExInstrumentVoicePoolHn インストゥルメントボイスプールハンドル
説明:
インストゥルメントボイスプールを作成します。
ボイスプールを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomExVoicePool_CalculateWorkSizeForInstrumentVoicePool 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)

本関数を実行することで、インストゥルメントトラックの再生が可能なボイスがプールされます。
AtomExプレーヤーでインストゥルメントトラックの再生を行うと、 AtomExプレーヤーは作成されたインストゥルメントボイスプールからボイスを取得し、再生を行います。

ボイスプールの作成に成功すると、戻り値としてボイスプールハンドルが返されます。
アプリケーション終了時には、作成したボイスプールを criAtomExVoicePool_Free 関数で破棄する必要があります。

ボイスプールの作成に失敗すると、本関数はNULLを返します。
ボイスプールの作成に失敗した理由については、エラーコールバックのメッセージで確認可能です。
参照
CriAtomExInstrumentVoicePoolConfig, criAtomExVoicePool_CalculateWorkSizeForInstrumentVoicePool, criAtomExVoicePool_Free,

◆ criAtomExVoicePool_Free()

void criAtomExVoicePool_Free ( CriAtomExVoicePoolHn  pool)

ボイスプールの破棄

引数
[in]poolボイスプールハンドル
説明:
作成済みのボイスプールを破棄します。
criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 ボイスプール作成時に確保されたメモリ領域が解放されます。
(ボイスプール作成時にワーク領域を渡した場合、本関数実行後であれば ワーク領域を解放可能です。)
注意
本関数は完了復帰型の関数です。
音声再生中にボイスプールを破棄した場合、本関数内で再生停止を待ってから リソースの解放が行われます。
(ファイルから再生している場合は、さらに読み込み完了待ちが行われます。)
そのため、本関数内で処理が長時間(数フレーム)ブロックされる可能性があります。
ボイスプールの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照
criAtomExVoicePool_AllocateStandardVoicePool

◆ criAtomExVoicePool_FreeAll()

void criAtomExVoicePool_FreeAll ( void  )

全てのボイスプールを破棄

説明:
作成済みのボイスプールを全て破棄します。
criAtomEx_SetUserAllocator マクロを使用してアロケーターを登録済みの場合、 ボイスプール作成時に確保されたメモリ領域が解放されます。
(ボイスプール作成時にワーク領域を渡した場合、本関数実行後であれば ワーク領域を解放可能です。)
注意
本関数は完了復帰型の関数です。
音声再生中にボイスプールを破棄した場合、本関数内で再生停止を待ってから リソースの解放が行われます。
(ファイルから再生している場合は、さらに読み込み完了待ちが行われます。)
そのため、本関数内で処理が長時間(数フレーム)ブロックされる可能性があります。
ボイスプールの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照
criAtomExVoicePool_AllocateStandardVoicePool

◆ criAtomExVoicePool_EnumerateVoicePools()

void criAtomExVoicePool_EnumerateVoicePools ( CriAtomExVoicePoolCbFunc  func,
void *  obj 
)

ボイスプールの列挙

引数
[in]funcボイスプールコールバック関数
[in]objユーザ指定オブジェクト
説明:
アプリケーション中で作成したボイスプールを列挙します。

本関数を実行すると、第 1 引数( func ) でセットされたコールバック関数がボイスプールの数分だけ呼び出されます。
(ボイスプールハンドルが、引数としてコールバック関数に渡されます。)
備考:
第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。
コールバック関数のその他の引数については、 別途 CriAtomExVoicePoolCbFunc の説明をご参照ください。
参照
CriAtomExVoicePoolCbFunc

◆ criAtomExVoicePool_GetNumUsedVoices()

void criAtomExVoicePool_GetNumUsedVoices ( CriAtomExVoicePoolHn  pool,
CriSint32 *  cur_num,
CriSint32 *  limit 
)

ボイスの使用状況の取得

引数
[in]poolボイスプールハンドル
[out]cur_num現在使用中のボイス数
[out]limit利用可能なボイスの最大数
説明:
ボイスプール内のボイスのうち、現在使用中のボイスの数、および利用可能な 最大ボイス数(=プール作成時に指定した max_voices の数)を取得します。

◆ criAtomExVoicePool_GetPlayerHandle()

CriAtomPlayerHn criAtomExVoicePool_GetPlayerHandle ( CriAtomExVoicePoolHn  pool,
CriSint32  index 
)

プレーヤーハンドルの取得

引数
[in]poolボイスプールハンドル
[in]indexプレーヤーインデックス
戻り値
CriAtomPlayerHn Atomプレーヤーハンドル
説明:
ボイスプール内で作成されたAtomプレーヤーハンドルを取得します。
備考:
本関数は情報取得用途にのみ利用可能なデバッグ関数です。

◆ criAtomExVoicePool_CalculateWorkSizeForInstrumentVoicePool()

CriSint32 criAtomExVoicePool_CalculateWorkSizeForInstrumentVoicePool ( const CriAtomExInstrumentVoicePoolConfig config)

インストゥルメントボイスプール作成用ワーク領域サイズの計算

引数
[in]configインストゥルメントボイスプール作成用コンフィグ構造体
戻り値
CriSint32 ワーク領域サイズ
戻り値
0以上正常に処理が完了
-1エラーが発生
説明:
インストゥルメントボイスプールの作成に必要なワーク領域のサイズを計算します。
criAtomEx_SetUserAllocator マクロによるアロケーター登録を行わずに criAtomExVoicePool_AllocateInstrumentVoicePool 関数でボイスプールを作成する際には、 criAtomExVoicePool_AllocateInstrumentVoicePool 関数に本関数が返すサイズ分のメモリをワーク 領域として渡す必要があります。

ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。
ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
参照
criAtomExVoicePool_AllocateInstrumentVoicePool