GSPlayerのMIDIプラグインですが、MIDIファイル名を渡してあげるとWAVEデータとして返してくれるようです。
そのデータをSoundAPIのwaveOutWriteに渡してあげればよいみたい。
<簡単な流れ>(SoundAPIは青、プラグインは紫)
//プラグインを読込む
//ファイル情報
waveOutOpen(引数…) //オーディオデバイスのオープン
waveOutWrite(引数…) //WAVEデータを再生 |
http://www13.plala.or.jp/kymats/study/MULTIMEDIA/waveOut_create.html
WAVEデータの作成と再生(Windowsプログラミング研究所様)
この方法でMIDIを鳴らすことはできそうだけど、プラグインにはMIDIメッセージではなくてMIDIファイルを渡すので、メロディキーボードやLED連動再生みたいなリアルタイムな再生させるのは難しそう。
まずは、SoundAPI側の勉強がてらに、Zero3WAVEキーボードでも作ってみるかな。
(WAVE鳴らすだけならPlaySound関数でも十分だけど…)