diff options
author | alcomposer <alex.w.mitchell@gmail.com> | 2022-11-18 18:34:26 +1030 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-08-28 12:42:15 +0200 |
commit | deaf6c3bb162dfcf33846e16696731a66a0a9ba3 (patch) | |
tree | 8f7b941f6b6ea2d272d5db5946a81683a55e6e3e | |
parent | 713bfaf5eac1eb8a770e5ee825db29de99f3d0f7 (diff) | |
download | redot-engine-deaf6c3bb162dfcf33846e16696731a66a0a9ba3.tar.gz |
Context aware MIDI event printing
-rw-r--r-- | core/input/input_event.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/core/input/input_event.cpp b/core/input/input_event.cpp index e37886cbe9..9e341b2157 100644 --- a/core/input/input_event.cpp +++ b/core/input/input_event.cpp @@ -1722,7 +1722,27 @@ String InputEventMIDI::as_text() const { } String InputEventMIDI::to_string() { - return vformat("InputEventMIDI: channel=%d, message=%d, pitch=%d, velocity=%d, pressure=%d, controller_number=%d, controller_value=%d", channel, message, pitch, velocity, pressure, controller_number, controller_value); + String ret; + switch (message) { + case MIDIMessage::NOTE_ON: + ret = vformat("Note On: channel=%d, pitch=%d, velocity=%d", channel, pitch, velocity); + break; + case MIDIMessage::NOTE_OFF: + ret = vformat("Note Off: channel=%d, pitch=%d, velocity=%d", channel, pitch, velocity); + break; + case MIDIMessage::PITCH_BEND: + ret = vformat("Pitch Bend: channel=%d, pitch=%d", channel, pitch); + break; + case MIDIMessage::CHANNEL_PRESSURE: + ret = vformat("Channel Pressure: channel=%d, pressure=%d", channel, pressure); + break; + case MIDIMessage::CONTROL_CHANGE: + ret = vformat("Control Change: channel=%d, controller_number=%d, controller_value=%d", channel, controller_number, controller_value); + break; + default: + ret = vformat("channel=%d, message=%d, pitch=%d, velocity=%d, pressure=%d, controller_number=%d, controller_value=%d, instrument=%d", channel, message, pitch, velocity, pressure, controller_number, controller_value, instrument); + } + return "InputEventMIDI: " + ret; } void InputEventMIDI::_bind_methods() { |