I’m trying to create a MIDI translator patch that takes controller input from my MIDI keyboard on channel 1, adds a bank select feature to multiply the number of virtual knobs, then sends the CCs out to Logic 9 using ctlout objects set to channel 2 on the From Max MSP 1 port. My problem is that the CCs are still being sent on channel 1 straight from the keyboard to Logic, so I guess I need some kind of MIDI grabber object that would intercept the messages before they go to Logic and send them into Max first. I know that in Ableton I could just open the preferences and de-select my keyboard as a MIDI input, but I can’t seem to find anywhere in Logic’s preferences that allows me to disengage specific MIDI ports. How can I get around this?
You can do this in Logic’s environment, click&ports layer.
Cable the port you want to disable from physical inputs to a new monitor object as "dead end".
(This way the port is "subtracted" from the sum outlet.)
Note however that
A – blocking a port at the Physical Input object will not block messages from getting to Logic’s control surface layer or its midi-learn functionality (very annoying), and
B – Logic may rearrange the port order on the Physical Input object if MIDI devices are added or removed, so the saved state in a song may not be correct for the current MIDI setup, just keep that in mind.
Alternately, you can try using MidiPipe’s "hijack port" ability to block a port from Logic’s stupid greediness. Do that after starting Max, before you start Logic.
Thanks for the tips, guess I’ll have to try and use MidiPipe to strip the signal from Logic, cause I hate nothing more than conflicting MIDI messages.
Why exactly are you trying to do this?