From deaf6c3bb162dfcf33846e16696731a66a0a9ba3 Mon Sep 17 00:00:00 2001 From: alcomposer Date: Fri, 18 Nov 2022 18:34:26 +1030 Subject: [PATCH] Context aware MIDI event printing --- core/input/input_event.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/core/input/input_event.cpp b/core/input/input_event.cpp index e37886cbe99..9e341b2157f 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() {