summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2019-04-03 09:17:07 +0200
committerGitHub <noreply@github.com>2019-04-03 09:17:07 +0200
commit76cbe7a9ae08cf9c90b464cda7c967ca8068d41d (patch)
tree438cbe0570c67133bde8068000b183308b9977fa /core
parentde54ee975d97653d5f53616b01ad08e2187d258a (diff)
parentea0c398a196358a34e40dc7b93426913f11c160a (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.cpp5
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;