diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-04-03 09:17:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-03 09:17:07 +0200 |
commit | 76cbe7a9ae08cf9c90b464cda7c967ca8068d41d (patch) | |
tree | 438cbe0570c67133bde8068000b183308b9977fa /core | |
parent | de54ee975d97653d5f53616b01ad08e2187d258a (diff) | |
parent | ea0c398a196358a34e40dc7b93426913f11c160a (diff) |
Merge pull request #27214 from marcelofg55/midi_note_off
Fix MIDI Note Off missing on some devices
Diffstat (limited to 'core')
-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; |