Преглед на файлове

Merge pull request #27214 from marcelofg55/midi_note_off

Fix MIDI Note Off missing on some devices
Rémi Verschelde преди 6 години
родител
ревизия
76cbe7a9ae
променени са 1 файла, в които са добавени 5 реда и са изтрити 0 реда
  1. 5 0
      core/os/midi_driver.cpp

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