・入出力デバイスの取り出しと、MIDI機器からのMIDI入力を別なMIDI機器に出力する「WebMIDI」class
・実際のMIDI機器からの入力と同様の信号を作り出す、仮想MIDI入力デバイス「VMIDI_InputDevice」class
・仮想MIDI入力デバイスの1つ1つの鍵盤オブジェクトの「VMIDI_InputKey」class
上記3つの class を作りましたのでテストしてみる。
まぁ、「WebMIDI」についてはこちらを、「VMIDI_InputDevice」と「VMIDI_InputKey」はこちらのファイルの内容をある程度扱いやすくするべく書き直しただけです。
なお、「VMIDI_InputDevice」には「プログラムチェンジ」や「コントロールチェンジ機能」は実装してません。めんどい。多分そのうち書くかも。
あと、MIDI Port Interface 的に .open() と .close() の Promise がないとダメみたいなんだけど、まぁ、いいかと思って書いてない。
鍵盤ボタンを押すか、PCのキーボードのキーを押してください