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

データ構造

struct  CriAtomExHcaMxConfigTag
 HCA-MX初期化用コンフィグ構造体HCA-MXの動作仕様を指定するための構造体です。
criAtomExHcaMx_Initialize 関数の引数に指定します。
[詳解]
 

マクロ定義

#define criAtomExHcaMx_SetDefaultConfig(p_config)
 HCA-MX初期化コンフィグ構造体にデフォルト値をセット [詳解]
 

型定義

typedef struct CriAtomExHcaMxConfigTag CriAtomExHcaMxConfig
 HCA-MX初期化用コンフィグ構造体HCA-MXの動作仕様を指定するための構造体です。
criAtomExHcaMx_Initialize 関数の引数に指定します。
[詳解]
 

関数

CriSint32 criAtomExHcaMx_CalculateWorkSize (const CriAtomExHcaMxConfig *config)
 HCA-MX初期化用ワーク領域サイズの計算 [詳解]
 
void criAtomExHcaMx_SetConfigForWorkSizeCalculation (const CriAtomExHcaMxConfig *config)
 ワーク領域サイズ計算用コンフィグ構造体の設定 [詳解]
 
void criAtomExHcaMx_Initialize (const CriAtomExHcaMxConfig *config, void *work, CriSint32 work_size)
 HCA-MXの初期化 [詳解]
 
void criAtomExHcaMx_Finalize (void)
 HCA-MXの終了 [詳解]
 
void criAtomExHcaMx_SetBusSendLevelByName (CriSint32 mixer_id, const CriChar8 *bus_name, CriFloat32 level)
 ミキサのバスセンドレベル設定 [詳解]
 
void criAtomExHcaMx_SetFrequencyRatio (CriSint32 mixer_id, CriFloat32 ratio)
 ミキサの出力周波数調整比の設定 [詳解]
 
void criAtomExHcaMx_SetAsrRackId (CriSint32 mixer_id, CriSint32 rack_id)
 ASRラックIDの指定 [詳解]
 

詳解

マクロ定義詳解

◆ criAtomExHcaMx_SetDefaultConfig

#define criAtomExHcaMx_SetDefaultConfig (   p_config)
値:
{\
(p_config)->server_frequency = 60.0f;\
(p_config)->num_mixers = 1;\
(p_config)->max_voices = 16;\
(p_config)->max_input_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
(p_config)->max_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
(p_config)->output_channels = CRIATOM_DEFAULT_OUTPUT_CHANNELS;\
(p_config)->output_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
(p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
}

HCA-MX初期化コンフィグ構造体にデフォルト値をセット

説明:
criAtomExHcaMx_Initialize 関数に設定するコンフィグ構造体 ( CriAtomExHcaMxConfig )に、デフォルト値をセットします。
参照
criAtomExHcaMx_Initialize, CriAtomExHcaMxConfig

型定義詳解

◆ CriAtomExHcaMxConfig

HCA-MX初期化用コンフィグ構造体HCA-MXの動作仕様を指定するための構造体です。
criAtomExHcaMx_Initialize 関数の引数に指定します。

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

関数詳解

◆ criAtomExHcaMx_CalculateWorkSize()

CriSint32 criAtomExHcaMx_CalculateWorkSize ( const CriAtomExHcaMxConfig config)

HCA-MX初期化用ワーク領域サイズの計算

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

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

引数にNULLを指定した場合、デフォルト設定 ( criAtomExHcaMx_SetDefaultConfig 適用時と同じパラメーター)で ワーク領域サイズを計算します。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
参照
criAtomEx_SetUserAllocator, criAtomExHcaMx_Initialize

◆ criAtomExHcaMx_SetConfigForWorkSizeCalculation()

void criAtomExHcaMx_SetConfigForWorkSizeCalculation ( const CriAtomExHcaMxConfig config)

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

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

HCA-MXボイスプールの作成に必要なワーク領域のサイズは、 HCA-MX初期化時( criAtomExHcaMx_Initialize 関数実行時) に設定する構造体のパラメーターによって変化します。
そのため、通常はボイスプールの作成に必要なワーク領域サイズを計算する前に、 HCA-MXを初期化する必要があります。
本関数を使用してHCA-MX初期化用コンフィグ構造体を登録した場合、 criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool 関数が初期化処理なしに使用可能となります。
備考:
引数( config )に NULL を指定した場合、デフォルト設定 ( criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool 適用時と同じパラメーター)でワーク領域サイズを計算します。

現状、本関数で一旦コンフィグ構造体を設定すると、 設定前の状態(未初期化状態でのワーク領域サイズ計算をエラーとする動作) に戻すことができなくなります。
(関数を再度実行してパラメーターを上書きすることは可能です。)
注意
本関数で登録した初期化用コンフィグ構造体は、 HCA-MX未初期化状態でのワーク領域サイズ計算にしか使用されません。
HCA-MX初期化後には本関数に設定したパラメーターではなく、 初期化時に指定されたパラメーターがワーク領域サイズの計算に使用されます。
(本関数で登録する構造体のパラメーターと、 HCA-MX初期化時に使用する構造体のパラメーターが異なる場合、 ワーク領域サイズが不足し、ハンドルの作成に失敗する恐れがあります。)
例:
CriAtomExHcaMxConfig hca_mx_config;
// ワーク領域計算用にHCA-MX初期化設定を仮登録
// HCA-MXボイスプール作成用ワーク領域サイズの計算
#define criAtomExHcaMx_SetDefaultConfig(p_config)
HCA-MX初期化コンフィグ構造体にデフォルト値をセット
Definition: cri_le_atom_ex.h:543
void criAtomExHcaMx_SetConfigForWorkSizeCalculation(const CriAtomExHcaMxConfig *config)
ワーク領域サイズ計算用コンフィグ構造体の設定
CriSint32 criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool(const CriAtomExHcaMxVoicePoolConfig *config)
HCA-MXボイスプール作成用ワーク領域サイズの計算
HCA-MX初期化用コンフィグ構造体HCA-MXの動作仕様を指定するための構造体です。 criAtomExHcaMx_Initialize 関数の引数に指定します。
Definition: cri_le_atom_ex.h:2436
参照
criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool, criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool

◆ criAtomExHcaMx_Initialize()

void criAtomExHcaMx_Initialize ( const CriAtomExHcaMxConfig config,
void *  work,
CriSint32  work_size 
)

HCA-MXの初期化

引数
[in]configHCA-MX初期化用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
説明:
HCA-MXの初期化を行います。
本関数を実行することで、HCA-MXデータの出力機能が起動されます。
備考:
HCA-MXの初期化に必要なワークメモリのサイズは、HCA-MX初期化用コンフィグ 構造体( CriAtomExHcaMxConfig )の内容によって変化します。

引数にNULLを指定した場合、デフォルト設定 ( criAtomExHcaMx_SetDefaultConfig 適用時と同じパラメーター)で初期化処理を行います。

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意
本関数を実行する前に、ライブラリを初期化しておく必要があります。

本関数は完了復帰型の関数です。
本関数を実行すると、しばらくの間Atomライブラリのサーバー処理がブロックされます。
音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。
本関数を実行後、必ず対になる criAtomExHcaMx_Finalize 関数を実行してください。
また、 criAtomExHcaMx_Finalize 関数を実行するまでは、本関数を再度実行しないでください。
参照
criAtomEx_SetUserAllocator, criAtomExHcaMx_CalculateWorkSize

◆ criAtomExHcaMx_Finalize()

void criAtomExHcaMx_Finalize ( void  )

HCA-MXの終了

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

◆ criAtomExHcaMx_SetBusSendLevelByName()

void criAtomExHcaMx_SetBusSendLevelByName ( CriSint32  mixer_id,
const CriChar8 *  bus_name,
CriFloat32  level 
)

ミキサのバスセンドレベル設定

引数
[in]mixer_idミキサID
[in]bus_nameバス名
[in]levelセンドレベル値(0.0f〜1.0f)
説明:
ミキサのバスセンドレベルを設定します。
デフォルト状態では、HCA-MXのデコード結果はミキサに格納された後、 バス0へ1.0fのレベルで送信されます。
本関数を使用することで、デコード結果を他のバスへもセンドすることが可能になります。
(ミキサごとに異なるバスエフェクトを適用可能になります。)

◆ criAtomExHcaMx_SetFrequencyRatio()

void criAtomExHcaMx_SetFrequencyRatio ( CriSint32  mixer_id,
CriFloat32  ratio 
)

ミキサの出力周波数調整比の設定

引数
[in]mixer_idミキサID
[in]ratioセンドレベル値(0.25f〜4.0f)
説明:
ミキサの出力周波数調整比を設定します。
周波数調整比は、音声データの周波数と再生周波数の比率で、再生速度の倍率と等価です。
周波数比が1.0fを超える場合、音声データは原音より高速に再生され、 1.0f未満の場合は、音声データは原音より低速で再生されます。
本関数を使用することで、対象のミキサを使用するプレーヤーで再生される全てのHCA-MXボイス (HCA-MX用にエンコードされた音声データの再生)について、再生速度が変更されます (HCA-MXボイスを再生する場合、個々のプレーヤーでの再生速度の設定は無視されます)。

◆ criAtomExHcaMx_SetAsrRackId()

void criAtomExHcaMx_SetAsrRackId ( CriSint32  mixer_id,
CriSint32  rack_id 
)

ASRラックIDの指定

引数
[in]mixer_idミキサID
[in]rack_idASRラックID
説明:
ミキサの出力先ASRラックIDを指定します。
本関数を使用することで、対象のミキサを使用するプレーヤーで再生される全てのHCA-MXボイス (HCA-MX用にエンコードされた音声データの再生)について、出力先ASRラックIDが変更されます (HCA-MXボイスを再生する場合、個々のプレーヤーでのASRラックIDの設定は無視されます)。
注意
本関数は ミキサのサウンドレンダラタイプにASRを使用する場合にのみ効果があります。
(他のサウンドレンダラタイプの場合、本関数の設定値は無視されます。)
参照
CriAtomExAsr_CreateRack