DxLibEx
DxLibEx copied to clipboard
sound handleのラッパーを作成する
参考にする物
- #4 のgraph2dクラス
- 現在 https://github.com/Nagarei/DxLibEx/blob/7ff15154645b83ff96d42743b4ac828317a5d81a/dxlibex/DxLibEx.h#L1379 コメントアウトになっているコード
- https://github.com/TakeObara/DoNotPushGame/blob/master/Don't_push/Don't_push/source/DxSoundHandle.h のDxSHandle
https://github.com/Nagarei/DxLibEx/tree/sound_c_dev
こちらで開発することに。
extern int LoadSoundMem(const TCHAR *FileName, int BufferNum = 3, int UnionHandle = -1);
このUnionHandleってなんでしょうかね・・・。全然わからない。
それと第二引数をどうラップする際扱いましょう? http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=3767
第二引数はDxLibの仕様のまま特に何もしなくても良いのではないでしょうか?
ああ、play関数が呼べる回数だから別に放置でいいのか。なにか勘違いしていたようで。
第三引数は一体何なんだろう、ソース覗いても
DxSound.cpp l.935
else
{
// クリティカルセクションの取得
CRITICALSECTION_LOCK( &HandleManageArray[ DX_HANDLETYPE_SOUND ].CriticalSection ) ;
// ストリームサウンドハンドルリストに追加
Sound->Type = DX_SOUNDTYPE_STREAMSTYLE ;
Sound->ValidBufferNum = 1 ;
AddHandleList( &SoundSysData.StreamSoundListFirst, &Sound->Stream.StreamSoundList, SoundHandle, Sound ) ;
// クリティカルセクションの解放
CriticalSection_Unlock( &HandleManageArray[ DX_HANDLETYPE_SOUND ].CriticalSection ) ;
// 共有情報をセット
Sound->Stream.BufferBorrowSoundHandle = UnionHandle ;
UniSound->Stream.BufferBorrowSoundHandleCount ++ ;
}
BufferBorrowSoundHandleCountとか典型的な参照カウントだなということから、リソース共有してるんだなということはわかるけど、使いみちがわからない
https://github.com/Nagarei/DxLibEx/commit/53b10488b90185fea3fcebfc839576e6159984fc より、命名規則変更。