MIDI再生アプリ開発(GSPlayerのMIDI再生プラグイン) | objective-cをちょい研究!ブログ

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

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

バージョンアップ済みです。最新版をダウンロードしてください。


GSPlayerのMIDIプラグインは、MIDIファイルをWAVEデータに変換してGSPlayer本体に渡すという処理をしていました。実際の再生はGSPlayer本体で行っています。
そこで、このMIDIプラグインを使ってWAVEデータを再生できるDLLファイルを作ってみました。


何ができるかって言うと、GSPlayerとMIDIプラグインがインストールされていれば、ZERO3でMIDIを再生するアプリケーションの開発ができるようにしました。


GSPlayerのインストールはここが参考になります。
http://blog.livedoor.jp/cat49660/archives/50052947.html
GSPlayer+MIDI(W-ZERO3) (W-ZERO3(アドエス)でフリーソフト!!さん)

デバイス本体にインストールしてください。


DLLとLIBファイルの公開です。(C++用)
http://www.ne.jp/asahi/phs/phs/blog/gspmidiplay.lzh


DLLのソースです。(C++用)
http://www.ne.jp/asahi/phs/phs/blog/gspmidiplaysource.lzh

※mapplugin.hファイルは同梱してません。GSPlayerMIDIプラグインの公開ソース から入手して下さい。


VB用のヘッダーファイルは準備中です。


【ライブラリを読み込む】
自作のC++プログラムに生成したライブラリを組み込みます。


1.ライブラリ(GspMidiPlay.lib)とヘッダー(gsPlay.h)をC++ソースと同じフォルダにコピーします。
2.ライブラリの参照設定します。

ソリューションエクスプローラのプロジェクトを右クリック
プロパティ→構成プロパティ→リンカ→入力
[追加の依存ファイル]欄に下記を貼り付け

GspMidiPlay.lib


【関数一覧】
今のところ次の関数に対応しました。
void GSMidiInit();  //プラグイン初期化
void GSMidiOpen(LPWSTR fileName); //MIDIファイルオープン
void GSMidiPlay();  //再生
void GSMidiPause(); //一時停止
void GSMidiStop();  //停止
void GSMidiClose(); //プラグイン開放


LIBを使ったサンプルソースです(C++)
Windowsフォルダにある運命.midを再生します。
http://www.ne.jp/asahi/phs/phs/blog/gsplayermiditest5.lzh

長いソースになってますが、ほとんどはデフォルトで生成されたものです。

追加箇所は、「//***追加 by APO」で検索してみてください。