2
0
Эх сурвалжийг харах

Fix MIDI Note Off missing on some devices

(cherry picked from commit ea0c398a196358a34e40dc7b93426913f11c160a)
Marcelo Fernandez 6 жил өмнө
parent
commit
37c97d09e6

+ 5 - 0
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;