Next MIDI ProjectというサイトでMIDIデータが操作できるライブラリが配布されており、使ってみたいと思ったのですが公式サイトにあるサンプルコードが少なすぎて自分の知識じゃやりたいことができませんでした。
C#が出来る方がいらっしゃれば是非サンプルコードを拝見させてください。
やりたいことは以下の内容です。
1.MIDIキーボードの鍵盤を押下したときに、なんらかの関数を実行するようにしたい。
2.MIDIキーボードのどの鍵盤が押下されたのか知りたい。
の2点です。
よろしくお願いいたします。
========以下追記=======
こちらでも色々試した後質問したわけで、丸投げしたつもりはないのですが
言い回しやコードを載せなかったのが問題だったようですね。
ということで、少しコードを載せておきます。
下記はMIDIポートの開放までを行ったものです。
MIDI機材のメーカー名等の情報は取れますが、鍵盤にアクションがあったときの情報が取れません。
おそらくイベントなるものが発生するようなのですが、デリゲートやイベントはあまり使わないため
よくわかりませんでした。
下記は鍵盤を押下するとOnReceived関数が実行されると思って書いたコードです。
しかし想定通りにはなりませんでした。
コードの原因がわかる方がいらっしゃれば是非ご教授いただきたいです。
よろしくお願いします。
csharp
1 void Start () 2 { 3 int portCount = MidiInPort.PortCount; 4 5 for(int i=0; i<portCount; i++) 6 { 7 port = new MidiInPort(i); 8 } 9 10 port.Open(); 11 12 Debug.Log("ポートが開いているか?:" + port.IsOpen); 13 14 Debug.Log(port.Name); 15 } 16 17 protected virtual void OnReceived(DataEventArgs<MidiEvent> e) 18 { 19 20 }