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 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 CriAtomExVoicePoolTag * CriAtomExVoicePoolHn
 ボイスプールハンドル
typedef CriUint32 CriAtomExVoicePoolIdentifier
 ボイスプール識別子
typedef CriAtomExStandardVoicePoolConfigTag CriAtomExStandardVoicePoolConfig
 標準ボイスプール作成用コンフィグ構造体
typedef CriAtomExAdxVoicePoolConfigTag CriAtomExAdxVoicePoolConfig
 ADXボイスプール作成用コンフィグ構造体
typedef CriAtomExHcaVoicePoolConfigTag CriAtomExHcaVoicePoolConfig
 HCAボイスプール作成用コンフィグ構造体
typedef CriAtomExHcaMxVoicePoolConfigTag CriAtomExHcaMxVoicePoolConfig
 HCA-MXボイスプール作成用コンフィグ構造体
typedef CriAtomExWaveVoicePoolConfigTag CriAtomExWaveVoicePoolConfig
 Waveボイスプール作成用コンフィグ構造体
typedef CriAtomExAiffVoicePoolConfigTag CriAtomExAiffVoicePoolConfig
 AIFFボイスプール作成用コンフィグ構造体
typedef CriAtomExRawPcmVoicePoolConfigTag CriAtomExRawPcmVoicePoolConfig
 RawPCMボイスプール作成用コンフィグ構造体
typedef CriAtomExInstrumentVoicePoolConfigTag CriAtomExInstrumentVoicePoolConfig
 インストゥルメントボイスプール作成用コンフィグ構造体

関数

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

マクロ定義

#define CRIATOMEX_DEFAULT_VOICES_PER_POOL   (8)

デフォルトボイス数

説明:
ボイスプール当たりのボイス数のデフォルト値です。
ボイスプール作成時にデフォルト値設定を使用すると、 CRIATOMEX_DEFAULT_VOICES_PER_POOL 数分のボイスが確保されます。
参照:
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);\
}
標準ボイスプール作成用コンフィグ構造体にデフォルト値をセット

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

#define criAtomExVoicePool_SetDefaultConfigForAdxVoicePool ( p_config   ) 

値:

{\
    (p_config)->identifier = 0;\
    (p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
    criAtomPlayer_SetDefaultConfigForAdxPlayer(&(p_config)->player_config);\
}
ADXボイスプール作成用コンフィグ構造体にデフォルト値をセット

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

#define criAtomExVoicePool_SetDefaultConfigForHcaVoicePool ( p_config   ) 

値:

{\
    (p_config)->identifier = 0;\
    (p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
    criAtomPlayer_SetDefaultConfigForHcaPlayer(&(p_config)->player_config);\
}
HCAボイスプール作成用コンフィグ構造体にデフォルト値をセット

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

#define criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool ( p_config   ) 

値:

{\
    (p_config)->identifier = 0;\
    (p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
    criAtomPlayer_SetDefaultConfigForHcaMxPlayer(&(p_config)->player_config);\
}
HCA-MXボイスプール作成用コンフィグ構造体にデフォルト値をセット

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

#define criAtomExVoicePool_SetDefaultConfigForWaveVoicePool ( p_config   ) 

値:

{\
    (p_config)->identifier = 0;\
    (p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
    criAtomPlayer_SetDefaultConfigForWavePlayer(&(p_config)->player_config);\
}
Waveボイスプール作成用コンフィグ構造体にデフォルト値をセット

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

#define criAtomExVoicePool_SetDefaultConfigForAiffVoicePool ( p_config   ) 

値:

{\
    (p_config)->identifier = 0;\
    (p_config)->num_voices = CRIATOMEX_DEFAULT_VOICES_PER_POOL;\
    criAtomPlayer_SetDefaultConfigForAiffPlayer(&(p_config)->player_config);\
}
AIFFボイスプール作成用コンフィグ構造体にデフォルト値をセット

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

#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_config RawPCMボイスプール作成用コンフィグ構造体へのポインタ
説明:
criAtomExVoicePool_AllocateRawPcmVoicePool 関数に設定するコンフィグ構造体 ( CriAtomExRawPcmVoicePoolConfig )に、デフォルトの値をセットします。
参照:
CriAtomExRawPcmVoicePoolConfig, criAtomExVoicePool_AllocateRawPcmVoicePool

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


型定義

typedef struct CriAtomExVoicePoolTag* CriAtomExVoicePoolHn

ボイスプールハンドル

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

typedef CriUint32 CriAtomExVoicePoolIdentifier

ボイスプール識別子

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

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

typedef struct CriAtomExStandardVoicePoolConfigTag CriAtomExStandardVoicePoolConfig

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

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

typedef struct CriAtomExAdxVoicePoolConfigTag CriAtomExAdxVoicePoolConfig

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

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

typedef struct CriAtomExHcaVoicePoolConfigTag CriAtomExHcaVoicePoolConfig

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

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

typedef struct CriAtomExHcaMxVoicePoolConfigTag CriAtomExHcaMxVoicePoolConfig

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

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

typedef struct CriAtomExWaveVoicePoolConfigTag CriAtomExWaveVoicePoolConfig

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

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

typedef struct CriAtomExAiffVoicePoolConfigTag CriAtomExAiffVoicePoolConfig

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

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

typedef struct CriAtomExRawPcmVoicePoolConfigTag CriAtomExRawPcmVoicePoolConfig

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

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

typedef struct CriAtomExInstrumentVoicePoolConfigTag CriAtomExInstrumentVoicePoolConfig

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

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


関数

CriSint32 CRIAPI 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

CriAtomExVoicePoolHn CRIAPI 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

CriSint32 CRIAPI criAtomExVoicePool_CalculateWorkSizeForAdxVoicePool ( const CriAtomExAdxVoicePoolConfig config  ) 

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

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

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

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

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

ADXボイスプールの作成

引数:
[in] config ADXボイスプール作成用コンフィグ構造体
[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

CriSint32 CRIAPI criAtomExVoicePool_CalculateWorkSizeForHcaVoicePool ( const CriAtomExHcaVoicePoolConfig config  ) 

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

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

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

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

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

HCAボイスプールの作成

引数:
[in] config HCAボイスプール作成用コンフィグ構造体
[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

CriSint32 CRIAPI criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool ( const CriAtomExHcaMxVoicePoolConfig config  ) 

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

引数:
[in] config HCA-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

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

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

引数:
[in] config HCA-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

CriSint32 CRIAPI criAtomExVoicePool_CalculateWorkSizeForWaveVoicePool ( const CriAtomExWaveVoicePoolConfig config  ) 

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

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

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

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

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

Waveボイスプールの作成

引数:
[in] config Waveボイスプール作成用コンフィグ構造体
[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ライブラリ)を初期化する必要があります。

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

現状、Waveファイルのチャンク解析は厳密には行っていません。
チャンクの並び順がRIFFチャンク、fmtチャンク、dataチャンクではない場合や、 その他のチャンクを含むWaveファイルは、解析に失敗する可能性があります。
また、現時点で対応しているフォーマットは、モノラルまたはステレオの 16bit 非圧縮データのみです。
参照:
CriAtomExWaveVoicePoolConfig, criAtomExVoicePool_CalculateWorkSizeForWaveVoicePool, criAtomExVoicePool_Free

CriSint32 CRIAPI criAtomExVoicePool_CalculateWorkSizeForAiffVoicePool ( const CriAtomExAiffVoicePoolConfig config  ) 

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

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

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

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

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

AIFFボイスプールの作成

引数:
[in] config AIFFボイスプール作成用コンフィグ構造体
[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ライブラリ)を初期化する必要があります。

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

現状、AIFFファイルのチャンク解析は厳密には行っていません。
チャンクの並び順がFORMチャンク、COMMチャンク、SSNDチャンクではない場合や、 その他のチャンクを含むAIFFファイルは、解析に失敗する可能性があります。
また、現時点で対応しているフォーマットは、モノラルまたはステレオの 16bit 非圧縮データのみです。
参照:
CriAtomExAiffVoicePoolConfig, criAtomExVoicePool_CalculateWorkSizeForAiffVoicePool, criAtomExVoicePool_Free

CriSint32 CRIAPI criAtomExVoicePool_CalculateWorkSizeForRawPcmVoicePool ( const CriAtomExRawPcmVoicePoolConfig config  ) 

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

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

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

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

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

RawPCMボイスプールの作成

引数:
[in] config RawPCMボイスプール作成用コンフィグ構造体
[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

CriAtomExVoicePoolHn CRIAPI 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,

void CRIAPI criAtomExVoicePool_Free ( CriAtomExVoicePoolHn  pool  ) 

ボイスプールの破棄

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

void CRIAPI criAtomExVoicePool_FreeAll ( void   ) 

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

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

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

ボイスの使用状況の取得

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

CriAtomPlayerHn CRIAPI criAtomExVoicePool_GetPlayerHandle ( CriAtomExVoicePoolHn  pool,
CriSint32  index 
)

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

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

CriSint32 CRIAPI criAtomExVoicePool_CalculateWorkSizeForInstrumentVoicePool ( const CriAtomExInstrumentVoicePoolConfig config  ) 

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

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

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


CRI Middleware logo Copyright (c) 2006-2018 CRI Middleware Co., Ltd.