diff options
author | Marcelo Fernandez <marcelofg55@gmail.com> | 2019-03-18 15:53:35 -0300 |
---|---|---|
committer | Marcelo Fernandez <marcelofg55@gmail.com> | 2019-03-18 15:54:32 -0300 |
commit | ea0c398a196358a34e40dc7b93426913f11c160a (patch) | |
tree | 40023b05f1e65e05940d558e291cfd68b96a8ec6 /core/os/midi_driver.cpp | |
parent | df7d3708c5b535c3696943322a14ec19a175e30c (diff) | |
download | redot-engine-ea0c398a196358a34e40dc7b93426913f11c160a.tar.gz |
Fix MIDI Note Off missing on some devices
Diffstat (limited to 'core/os/midi_driver.cpp')
-rw-r--r-- | core/os/midi_driver.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/os/midi_driver.cpp b/core/os/midi_driver.cpp index 0d7ad23d68..7cb7ae130f 100644 --- a/core/os/midi_driver.cpp +++ b/core/os/midi_driver.cpp @@ -75,6 +75,11 @@ void MIDIDriver::receive_input_packet(uint64_t timestamp, uint8_t *data, uint32_ if (length >= 3) { event->set_pitch(data[1]); event->set_velocity(data[2]); + + if (event->get_message() == MIDI_MESSAGE_NOTE_ON && event->get_velocity() == 0) { + // https://www.midi.org/forum/228-writing-midi-software-send-note-off,-or-zero-velocity-note-on + event->set_message(MIDI_MESSAGE_NOTE_OFF); + } } break; |