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

    Sep 21 2011 | 1:30 pm
    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?

    • Sep 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.)
    • Sep 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.
    • Sep 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.
    • Sep 28 2011 | 9:34 pm
      Why exactly are you trying to do this?