summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralcomposer <alex.w.mitchell@gmail.com>2022-11-18 18:34:26 +1030
committerRémi Verschelde <rverschelde@gmail.com>2023-08-28 12:42:15 +0200
commitdeaf6c3bb162dfcf33846e16696731a66a0a9ba3 (patch)
tree8f7b941f6b6ea2d272d5db5946a81683a55e6e3e
parent713bfaf5eac1eb8a770e5ee825db29de99f3d0f7 (diff)
downloadredot-engine-deaf6c3bb162dfcf33846e16696731a66a0a9ba3.tar.gz
Context aware MIDI event printing
-rw-r--r--core/input/input_event.cpp22
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() {