プラグイン
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" を指定してください。