As I've mentioned several times recently, a MIDI Note On message with zero velocity is treated as if it is a Note Off message. So the note number and the velocity value have been swapped.Ī quick note about note offs. The outgoing note from the plug-in is F3 (64) with a velocity of 64. The incoming note is E3 (65) with a velocity of 65. Let's pause for a moment here whilst you get your head around this. The E3 incoming note is note number 64, and so this turns into the velocity of the outgoing note as 64. You won't be surprised if I reveal that F3 is the note that corresponds to note number 65, so the incoming velocity of 65 has been converted to a note number (F3) as intended. Looking at the very last note (just before the dark blue 'All Notes Off' ANO MIDI message), then you can see a Note On (shown as 'NON' in the Monitor utility) for E3 with a velocity of 65 goes through the plug-in and comes out as a Note On for F3 with a velocity of 64. I have put two MIDI Monitor utilites before (on the left side) and after (on the right side) so that you can see what is happening. The screenshot above shows the plug-in swapping note numbers and velocities. So I have included this in the screenshots! It turns out that if you turn a M4L plug-in off, then it is bypassed, so you can use the power button as a kind of secondary 'Thru' button. One thing which I hadn't thought about until I created the MIDIfilterNOTEmr plug-in was what happens when you turn off a Max For Live plug-in using the 'Power' button in the top left hand corner. A button is provided that toggles between 'Swap' mode and 'Thru' mode, and the usual '!' panic button is also there to stop hanging notes (I have called it 'ANO' here because it flushes out hanging notes, but note that it does not send a MIDI 'All Notes Off' message - Ableton Live does that when you press 'Stop', which is why the dark blue ANO is shown by the monitor.). MIDIswapNVmr01 is a Max For Live plug-in that swaps the note number and the velocity value in MIDI Note On messages that pass through it, and it works with the implied Note Off messages that occur when the velocity value is zero.