Since questions do occur from time to time, I've created a discussion forum for them.
MidiTrix, in its current form, is a little utility program that I wrote to correct an insufficiency in my MIDI setup. It's evolved into a quite useful MIDI utility in the meantime...
This setup contains a chain of 6 eMagic Unitor8 devices. That's exactly what caused the switch from MOTU Midi Timepiece AV to Unitor - you can chain up to 8 of these things and control the whole pack from the PC. Besides, they are blue :-)
Unfortunately, the Unitors have a bad deficiency in their software...
Unitor 8 / amt 8 Problem
The Unitor8 / amt8 devices know two modes:
If you just want to fiddle a bit with your MIDI devices, it's not always necessary to turn on a computer... you just have to create a patch for the Unitor8s beforehand and then use it to control various devices from your master keyboard. In theory.
Life could be SO easy, if that really worked... unfortunately, the SysEx implementation of the Unitor8 / amt8 devices is a bit too simple in this respect. While it does allow you to configure the output ports for each device in the chain, all the Input ports with the same number are mapped into one - it is impossible to tell the Unitor8 from which device in the chain the signals have to come from. For example, any MIDI data coming in on Port 1 of the first Unitor8 is treated on ALL Unitor8s as if it had come in on the local Port 1. This means that a real matrix is impossible - you can't set up a defined point-to-point connection between a specific Midi In and Out port.
If I want that, I need to use a computer <sigh>... but even so I don't want to load a hyper-complex sequencer program any time I want to send some MIDI notes from one keyboard to one expander. This is why I created MidiTrix.
Mode of Operation
MidiTrix is very easy to use - unless you explicitly configure them away, all MIDI ports available on the computer are opened and displayed as a matrix on the screen; the Midi input ports are displayed as rows and the output ports as columns. If data are to be routed from a specific input port to a specific output port, a caret is displayed at the cell connecting the two. Connections can be simply added or removed by clicking the corresponding cell. Midi Output Ports on other machines in the network can be added by simply requesting them with Midi / Add Remote Devices. Filter rules can be attached to connections, Input, and Output ports by clicking on them with the right mouse key and selecting "Filter..." from the popup menu. The displayed name of each device can be freely assigned.
Specific controller messages can be separately filtered. This was inspired by a Kawai K5 that I'm just trying to repair, which really sends "All Notes Off" after the last pressed key has been released... redundancy at its finest :-)
Feedback Loop Detection added. The default values work for a hardware feedback loop on my Unitor8 attached to the PC via USB.
Improved SysEx handling, panic functionality, and you can send any kind of MIDI message (up to 1000) upon program changes.
Filtering has been expanded, and MIDI Translations have been added.
MidiTrix V1.27 can be downloaded here. 133 ultra-large KB :-)