Filtering midi data flow between midi ports

Hi all.
I have a requirement to disable all message from one midi port being passed through to a second midi port depending on the value of a global parameter. The midi messages that I want to supress include note on/off CCs and variable length/format sysex.

I can set up a translator to look for note on/off and CCs and simply route them onwards (optionally) using rules to the output port (with no mid thru between the ports) but I can find no method of detecting the sysex messages (which can be of varying length and format) and passing them through (or not).

Any ideas?

For those that may be interested, I am intercepting midi messages between Cubase and a QCON PRO G2 Mackie controller to add extra functionality using Midi Translator Pro.

Hi, and welcome to the forum!

If you want to stop all System Exclusive message from going to a given path, delete the MIDI thru routing. Then you can create translators for what you want to go through that path specifying the source and the destination.

For instance, this will allow CC’s messages but nothing else. Again the static through route should be deleted.

Incoming: CC Number Any cc set to pp on any channel set to oo with any value set to qq from My Source
Outgoing: CC Number MIDI CH oo CC pp value qq to My Destination

In the above “My Source” and “My Destination” are aliases that you have assigned to given ports.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi Steve, Thanks for your reply. So I understand how to do that for CCs and Notes etc using the technique you describe with the local variables, but how would you allow pass through of various length and format sysex? How would that be coded?

In other words I want a switch to either allow or stop a sysex message passage (of any format) through.

Hi Alan,

In the current version of MT Pro, you would have to have translators set up with different length patterns. You would need a translator pattern for every length of SysEX. To block the output you would have the output action set as none. To allow it you would simply use the same as the output action.

In the new Beta version of MT Pro (1.8.5) we are adding the capability to use a translator to enable and disable MIDI thru routes. This might be more useful to you.
You could use any current incoming trigger to enable or disable a given thru route thereby switching on and of SysEx messages.

If you are interested, let us know and I’ll see if I can get you a copy of the current Beta.

I know there is a request to expand the capability of evaluating SysEX patterns (maybe using regular expressions) but I’m not sure where this is on the development roadmap.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Controlling mdi thru would be a perfect solution for me. Happy to act as a beta tester if that is possible.

Fantastic support Steve. Thank you.

Link to the beta version is on your way… via good old email :slight_smile:

2 Likes