Nagarei / DxLibEx

DXライブラリC++化プロジェクト
Boost Software License 1.0
31 stars 3 forks source link

sound handleのラッパーを作成する #42

Open yumetodo opened 8 years ago

yumetodo commented 8 years ago

参考にする物

yumetodo commented 8 years ago

https://github.com/Nagarei/DxLibEx/tree/sound_c_dev

こちらで開発することに。

yumetodo commented 8 years ago
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

Nagarei commented 8 years ago

第二引数はDxLibの仕様のまま特に何もしなくても良いのではないでしょうか?

yumetodo commented 8 years ago

ああ、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とか典型的な参照カウントだなということから、リソース共有してるんだなということはわかるけど、使いみちがわからない

yumetodo commented 8 years ago

https://github.com/Nagarei/DxLibEx/commit/53b10488b90185fea3fcebfc839576e6159984fc より、命名規則変更。