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(); //← こんな感じで呼出し実験。 |