プラグイン: Sound

プラグイン

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

Sound

# Decoder

1. プロジェクトの作成
   メインメニューの「ファイル」→「新規作成」→「プロジェクト」を選んで、「Win32 コンソールアプリケーション」で 空のDLLのプロジェクトを作成します。
   次にプロジェクトのプロパティを開き、「構成プロパティ」→「C/C++」→「全般」にある「追加のインクルードディレクトリ」に Mix のインクルードファイルがあるディレクトリ(※)を指定します。
   ※ "Mix\Engine\Include\"

2. デコーダクラスの作成
   Mix::Plugin::Sound::IDecoder を継承したクラスを作成し、必要なメソッドを実装します。

   Mix::Plugin::Sound::IDecoder::Initialize
   Mix::Plugin::Sound::IDecoder::Destroy
   Mix::Plugin::Sound::IDecoder::GetFormat
   Mix::Plugin::Sound::IDecoder::GetSize
   Mix::Plugin::Sound::IDecoder::GetPosition
   Mix::Plugin::Sound::IDecoder::Read
   Mix::Plugin::Sound::IDecoder::Reset

3. DLL エクスポートのソースファイルの作成
   プロジェクトに "main.cpp" を追加し、以下の関数を実装します。

   - Mix::Plugin::INFORMATION __stdcall GetInformation( void )
     このプラグインの情報を取得する関数です。

   - bool __stdcall CheckFormat( const void* pKey, unsigned int& keySize )
     このプラグインでデコードできるかどうかを判定する関数です。
     pKey には keySize( バイト単位 ) 分の先頭のデータが渡されます。
     その内容をみてデコード可能な場合は true を返してください。
     また、pKey に NULL が設定されていた場合、keySize にはデコード可能かどうかを判定する際に必要なキーのサイズを渡して true を返してください。

   - bool __stdcall CreateDecoder( Mix::Plugin::Sound::IDecoder** ppDecoder )
     デコーダを作成する関数です。
     ppDecoder には作成したデコーダを渡してください。
     作成に成功した場合は true を返します。

4. DLL エクスポートのモジュール定義ファイルの作成
   プロジェクトに以下のモジュール文を記述したファイル "main.def" を追加してください。

       EXPORTS
           GetInformation
           CheckFormat
           CreateDecoder

   最後にプロジェクトのプロパティの「構成プロパティ」→「リンカ」→「入力」にある「モジュール定義ファイル」に "main.def" を指定してください。