Forums > MaxMSP

How to intercept MIDI messages from a device before they get to your DAW?

September 21, 2011 | 1:30 pm

Hello,

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?

Thanks,
G


September 21, 2011 | 7:43 pm

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.)


September 21, 2011 | 10:47 pm

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.


September 28, 2011 | 4:06 pm

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.
-G


September 28, 2011 | 9:34 pm

Why exactly are you trying to do this?


Viewing 5 posts - 1 through 5 (of 5 total)