Filtering out a specific Midi control message (CC)

Dan Laüt's icon

I ran into an interesting instance of negation, or rather lack thereof, in the course of programming a MIDI recorder. As we all know, there are 128 Control messages (CCs), including pedal data. I want to pass on all CCs to the sequencer except number 67, damper pedal, which I intend as a recording trigger, as I don't have much other use for it.

The point: I can specify which CCs to pass on, but I can't specify the one(s) I do NOT want to pass on to the seq. That means passing a list of ALL CCs minus number 67 to ctlin or midiselect. I think there should be a simpler way, like with a negation sign (-67) or parentheses (functionally the same, formally different).

This is what I ended up with:

Max Patch
Copy patch and select New From Clipboard in Max.

double_UG's icon

midiselect > right output > pass unselected raw midi data

Source Audio's icon

it depends if this is max where midi channel could play a role

or live, where it does not and if you allready routed midi

using other objects like ctlin or have raw midi input.

for raw midi, example double_UG posted is the best,

if you use ctlin, then there are also quite few options

Dan Laüt's icon

Very elegant, Double_UG. A true Columbus egg! Thank you. And you too, Source_Audio. I only work with MIDI, as my synths are Yamaha Motifs from the stone age.