MIDI patchbay lets you hook up your various pieces of MIDI software and hardware and pass MIDI data between them, applying assorted filters on the way. Things like key splits, MIDI channel remapping, transposition, etc. are made very simple.
This software is distributed under the terms of Pete's Public License. It's free (as in beer) but the license sets out a few restrictions on its distribution and modification.
If you use it I only ask for one thing: send me an e-mail. Tell me what you use it for, anything you like and don't like, anything you'd like to see in future versions, etc.
For other ways to reward me for producing this, see my web site.
If you're looking for MIDI interface drivers or audio and MIDI applications for Mac OS X, check out my links page.
Each MIDI Patchbay document window is divided into two parts: a patch list on the left and a set of patch controls on the right.
Each patch in the list represents a connection between a MIDI input and MIDI output. The patch's input is shown on the left of the arrow and the patch's output on the right.
Below each patch's arrow is a description of the data passed by the patch and any filters that are applied to the data.
Each patch also has a checkbox that can be used to enable or disable it.
New patches can be created with the "Add patch" button. MIDI Patchbay tries to create new patches intelligently based on the currently selected patch.
The patch controls configure the input, output and filters for the currently selected patch.
The MIDI input and output for the patch can be selected from the appropriate popup menus. As well as the MIDI interfaces connected to your system, you can use the "Edit virtual inputs/outputs..." options to create inputs and outputs that will be visible to other MIDI software.
Under the various tabs are options allowing you to filter the MIDI data for the currently selected patch.
Now any notes up to A4 will be sent your synth software's MIDI channel 1 and notes above A4 will go to channel 2.
For example, creating a patch that receives from and sends to the one IAC bus is a bad idea. As soon as MIDI data gets sent to that IAC bus the entire computer will lock up.
You also have to be careful not to create indirect loops, as can easily happen with Logic.
Using MIDI Patchbay with Logic can crash the computer, but the problem is easily worked around.
If you open a default song in Logic it will open with a MIDI track enabled as MIDI thru. The default MIDI instrument is set to ‘all’ for the OUT port.
If your MIDI Patchbay document contains a patch that routes from a virtual input to a virtual output, this creates a MIDI routing loop. Logic sends instrument settings into this loop at song-open and, hence, a crash occurs.
You can work around it by first disabling the patches in MIDI Patchbay, opening Logic and turning off MIDI Thru, and then re-enabling the patches in MIDI Patchbay.
Some people have reported problems when trying to use Classic and a MIDI interface simultaneously. It seems that Classic will try to grab control of USB devices. When using this software, you should make sure that Classic is not running.
Sometimes trying to delete a virtual input or output will give you a message saying that the input or output is in use by a patch and can't be deleted even when it isn't. Saving, closing and re-opening the document will fix this.
This is what's currently on my to do list for MIDI Patchbay in rough order of priority:
The software was designed and written by Pete Yandell.
Thanks to Kevan Staples for generously donating the MIDI Patchbay icon.
Many, many thanks to Kurt Revis both for writing MIDI Monitor, without which testing this thing would have been a nightmare, and for answering a million of my questions. Without his help I would have struggled over the code for a lot longer.