summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_port.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/midi_port.cc')
-rw-r--r--libs/ardour/midi_port.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/midi_port.cc b/libs/ardour/midi_port.cc
index ccd6e9848b..615abede1c 100644
--- a/libs/ardour/midi_port.cc
+++ b/libs/ardour/midi_port.cc
@@ -117,9 +117,9 @@ MidiPort::get_midi_buffer (pframes_t nframes)
if (buf[0] == 0xfe) {
/* throw away active sensing */
continue;
- } if (buf[0] == 0x90 && buf[2] == 0) {
+ } else if ((buf[0] & 0xF0) == 0x90 && buf[2] == 0) {
/* normalize note on with velocity 0 to proper note off */
- buf[0] = 0x80; /* note off */
+ buf[0] = 0x80 | (buf[0] & 0x0F); /* note off */
buf[2] = 0x40; /* default velocity */
}