DxLibEx icon indicating copy to clipboard operation
DxLibEx copied to clipboard

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

Open yumetodo opened this issue 9 years ago • 5 comments

参考にする物

  • #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

yumetodo avatar Jan 29 '16 16:01 yumetodo

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

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

yumetodo avatar Feb 21 '16 15:02 yumetodo

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

yumetodo avatar Feb 24 '16 15:02 yumetodo

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

Nagarei avatar Feb 25 '16 11:02 Nagarei

ああ、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 avatar Feb 25 '16 13:02 yumetodo

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

yumetodo avatar Feb 26 '16 06:02 yumetodo