Zero3でMIDI再生するソフト(GSPlayer) | objective-cをちょい研究!ブログ

objective-cをちょい研究!ブログ

WILLCOMを卒業してiOS開発者に転身しました。。
コメント&トラックバック大歓迎です。

GSPlayerというZero3でもMIDIが再生できるソフトがありました。
MIDI再生部分についてはプラグインという形でDLL化していて、
ソースも公開されているようなので、ちょっと試しに動かしてみました。
プラグインのgspmidi.dllというDLLより、mapGetDecoderという関数を
インポートすればいろいろな関数が使えるようです。


http://hp.vector.co.jp/authors/VA032810/index.htm
MIDI Plug-in から gspmidi101.zip をダウンロードして解凍
ppc\gspmidi.arm.CAB を解凍
0gspmidi.001 を gspmidi.dll にリネームしてDLLを抽出
Sourcecode(gspmidi101src.zip)よりmapplugin.hをインクルード


<C++ソース>

MAP_DEC_PLUGIN* (__stdcall WINAPI *mapGetDecoder)(); //関数宣言
HINSTANCE hDll = LoadLibrary(_T(gspmidi.dll"));    //DLLインポート

mapGetDecoder = (MAP_DEC_PLUGIN*(__stdcall WINAPI *)())

    GetProcAddress( hDll,TEXT("mapGetDecoder")); //関数アドレス取得


//関数実行(関数コレクション取得)

MAP_DEC_PLUGIN* b = mapGetDecoder();

b->GetFileExtCount(); //← こんな感じで呼出し実験。
FreeLibrary(hDll);

※TABの代わりに全角スペース使ってます。コピペの際は置換して下さい。