GspMidiPlay ~MIDI再生アプリ開発用DLL~ V1.02 [CF1.0~] | objective-cをちょい研究!ブログ

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

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

GSPlayerのMIDIプラグインを使ってMIDI再生できるアプリ開発用のDLLです。


【概要】

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

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


【バージョンアップ】

・プラグイン初期化関数の成否の戻り値追加

・MIDIファイルクローズ関数追加

・VB用のClassヘッダーファイル作成


【ダウンロード】

DLLとLIBファイル、C++用ヘッダ、VB用ヘッダです。

DLLのC++ソースも同梱してます。
http://www.ne.jp/asahi/phs/phs/blog/gspmidiplay102.lzh


※DLLのソースをビルドするには、mapplugin.hファイルが必要です。GSPlayerMIDIプラグインの公開ソース から入手して下さい。

★Zero3プログラムランキング★

↑↑やる気アップになりますので投票お願いします↑↑


【使い方】


C++プログラムで使う場合


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

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

 GspMidiPlay.lib


VBプログラムで使う場合


1.GspMidiPlay.vbをVBソースと同じフォルダにコピーしてプロジェクトに追加します。

2.GspMidiPlay.dllを自作したEXEファイルと同じフォルダにコピーします。


【関数一覧】
今のところ次の関数に対応しました。

int GSMidiInit();    //プラグイン初期化 0=成功/-1=失敗
void GSMidiClose(); //プラグイン開放

void GSMidiOpenFile(LPWSTR fileName); //MIDIファイルオープン
void GSMidiCloseFile();  //MIDIファイルクローズ
void GSMidiPlay();  //再生
void GSMidiPause(); //一時停止
void GSMidiStop();  //停止


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

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

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


【関連参考】

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

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