// 初期化 void ADX2Manager::init( const std::string& acf ) { // エラー検知用のコールバック関数 auto errorCallback = []( const CriChar8* errID, CriUint32 p1, CriUint32 p2, CriUint32* parray ) { const CriChar8* errMsg; errMsg = criErr_ConvertIdToMessage( errID, p1, p2 ); CCLOG( "%s\n", errMsg ); }; // メモリ確保, 解放関数 auto userAlloc = []( void* obj, CriUint32 size ) { return malloc( size ); }; auto userFree = []( void* obj, void* ptr ) { free( ptr ); }; // エラーコールバック関数の登録 criErr_SetCallback( errorCallback ); // ユーザアロケータの登録 criAtomEx_SetUserAllocator( userAlloc, userFree, NULL ); // プラットフォーム別の初期化 initPlatformSetting(); // ファイルパスを取得します auto acfPath = ADX2Converter::toFilePath( acf.c_str() ); // ACFファイルの登録 criAtomEx_RegisterAcfFile( NULL, acfPath.c_str(), NULL, 0 ); // DSPバス設定のアタッチ criAtomEx_AttachDspBusSetting( "DspBusSetting_0", NULL, 0 ); // D-BASの生成 mDbasID = criAtomDbas_Create( NULL, NULL, 0 ); }
/*初期化*/ SoundsManager::SoundsManager() { /* エラーコールバック関数の登録 */ criErr_SetCallback(user_error_callback_func); /* メモリアロケータの登録 */ criAtomEx_SetUserAllocator(user_alloc_func, user_free_func, NULL); /*ライブラリの初期化*/ criAtomEx_Initialize_WASAPI(NULL, NULL, 0); /* ストリーミング用バッファの作成 */ dbas = criAtomDbas_Create(NULL, NULL, 0); /* 全体設定ファイルの登録 */ //criAtomEx_RegisterAcfFile(NULL, PATH ACF_FILE, NULL, 0); criAtomEx_RegisterAcfFile(NULL, ACF_FILE, NULL, 0); /* DSPバス設定の登録 */ criAtomEx_AttachDspBusSetting("DspBusSetting_0", NULL, 0); /* ボイスプールの作成(ストリーム再生対応) */ criAtomExVoicePool_SetDefaultConfigForStandardVoicePool(&vpconfig); vpconfig.player_config.streaming_flag = CRI_TRUE; voice_pool = criAtomExVoicePool_AllocateStandardVoicePool(&vpconfig, NULL, 0); /* MEMO: ストリーム再生無しなら、ボイスプールは構造体NULL指定で可 */ /* サウンドデータの読み込み */ //CriFsBinderHn awb_binder; // acb_hn = criAtomExAcb_LoadAcbFile(NULL, SE_ACB_FILE, AWB_FILE, NULL, NULL, 0); acb_hn = criAtomExAcb_LoadAcbFile(NULL, ACB_FILE, NULL, AWB_FILE, NULL, 0); /* プレーヤの作成 */ player = criAtomExPlayer_Create(NULL, NULL, 0); int a = 0; a++; }