MIDIプログラミングをする際に理解できた、MidiInport.MessageRecieved イベントなどで取得できるMidiMessageType 列挙型の内容について備忘録的に投稿しています。
MidiInport.MessageRecievedイベントで取得
公式ページの「UWPアプリを開発する|MIDI」などで利用されているMidiInport.MessageRecieved イベントで取得できるMidiコードには沢山の種類があって分かり辛かったので自分なりにまとめてみました。
MidiMessageType の取得方法は別記事をご覧ください。
MidiMessageType 列挙型
MidiActiveSensingMessage | 接続された機器が正常に動作している事を確認するために使用される |
MidiChannelPressureMessage | 鍵盤全体の押さえる強さに適用される(MidiPolyphonicKeyPressureMessageは個別の鍵盤に適用) |
MidiContinueMessage | |
MidiControlChangeMessage | ボリュームやサスティンなど機器の制御をするために適用 |
MidiSystemExclusiveMessage | |
MidiTimeCodeMessage | 複数の機器を同期させる |
MidiNoteOffMessage | 鍵盤などが離された場合に適用 |
MidiNoteOnMessage | 鍵盤などが押された場合に適用 |
MidiPitchBendChangeMessage | 機器のピッチ機能が利用された場合に適用 |
MidiPolyphonicKeyPressureMessage | 個別の鍵盤の押さえる強さに適用される(MidiChannelPressureMessageは鍵盤全体に適用) |
MidiProgramChangeMessage | 機器で利用する音源を変更するために適用 |
MidiSongPositionPointerMessage | 再生位置を同期させるためのポインターに適用 |
MidiSongSelectMessage | |
MidiStartMessage | |
MidiStopMessage。 | |
MidiSystemExclusiveMessage。 | 機器に固有の機能を制御するために適用 |
SystemResetMessage | 機器をリセットするために適用 |
MidiTimingClockMessage | 複数の機器を同期させるためのクロックに適用 |
MidiTuneRequestMessage |
空欄は、調べたけれど意味不明だったので、今回は必要ないので放置。
とりあえず、ProgramChangeとControlChangeが使えれば今は問題ないので、後で必要になったら試してから追記します。
まとめ
今回は短い記事ですが、[Microsoft.Windows.SDK.Contracts]内の[MidiInport.MessageRecieved]で取得できるMidiMessageType 列挙型について書きました。
簡単に考えていましたが、機器をコントロールするためのコードの種類が多くて、挫折しそうです。
C#でMidi機器をコントロールしたい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。