Allows you to freely route signals from the machine inputs to the machine outputs on the fly.
The simplest installation is to copy "IX PatchBay 3.0", "IX PatchBay 3.0.GUI" and "IX PatchBay 3.0 GUI Core" to your Effects folder. If you do this PatchBay 3.0 will be configured with 8 inputs and 8 outputs.
Copy the Gear folder to your Buzz installation.
You can configure PatchBay 3.0 to have any number of input/output configurations to suit your own needs. To do this, you can simply append an I/O configuration to the machine and GUI .dll filenames eg. "IX Patchbay 3.0 4x2.dll" and "IX Patchbay 3.0 4x2.GUI.dll". The maximum number of inputs/outputs allowed is 32.
The package now contains a configuration tool .exe to automatically create multiple versions of the PatchBay 3.0 files for you. When run, the program will prompt you to enter the desired configurations. Simply type a list of IxO values eg. "4x2 8x2 16x4" and the machines will be created for you.
If you're updating the machine, the configuration tool can automatically detect your current configurations and update them for you. To do this, simply hit enter when prompted for a list of configurations.
You can also run the tool from the command prompt if you wish by passing the list of configurations as command line arguments eg. "IX Patchbay 3.0 Config Tool 4x2 8x2 16x4"
Note that the configuration tool requests elevated priveleges when run. This is simply so that it can be allowed to copy files in the Buzz program folders.
Here is a brief description of the various parameters and attributes.
Name | Function |
Current Patch | Selects the active patch. Note that any changes to the routing will be stored in the active patch (ie. changing to a different patch and back will not reset the patch). |
i to o |
Controls whether input i is connected to output o . |
Name | Function |
Command | See Commands. |
Argument | Value for Command. See Commands. |
Name | Function |
Volume ramping time (ms) | Length in milliseconds of the fade in/out applied when setting/clearing a patch connection. |
Require confirmation on clear | When enabled, PatchBay 3.0 will prompt for confirmation if the "Clear Patch" button is pressed (NOTE. Confirmation will always be requested for "Clear All Patches") |
Auto-name new connections | When enabled, if a machine is connected to an unnamed input/output, that input/output will receive the machine name. Hold CTRL on connect to override the attribute setting. |
Auto-rename on channel change | When enabled, PatchBay 3.0 will attempt to automatically rename input/outputs when you change the connection channel. If an input/output has only a single machine connected, it will receive that machine's name. If an input/output has no machines connected, it will receive the default label. If multiple machines are connected to an input/output, no change will be made. |
Auto-assign channels | If enabled, when a new machine is connected PatchBay 3.0 will attempt to assign the first free input/output. If there is no free input/output the machine will be connected to input/output 0. If you manually select a channel with the TAB key, auto-assign will not occur. Hold SHIFT to override the attribute setting. |
These are the possible values for the Command track parameter. The commands system offers an alternative method for setting and clearing connections. If you wish to use multiple commands, simply add more tracks (commands will be executed from left to right.)
Command | Argument |
00 - Unplug | iioo - Disconnect input ii from output oo |
01 - Plug | iioo - Connect input ii to output oo |
02 - Plug Ex | iioo - Connect input ii to output oo and disconnect all other inputs from output oo |
03 - Connect Input | iiii - Connect input iiii to all outputs |
04 - Connect Output | oooo - Connect all inputs to output oooo |
05 - Disconnect Input | iiii - Disconnect input iiii from all outputs |
06 - Disconnect Output | oooo - Disconnect all inputs from output oooo |
07 - Connect All | .... - Connect all inputs to all outputs |
08 - Disconnect All | .... - Disconnect all inputs from all outputs (clear patch) |
PatchBay 3.0 has a graphical interface incorporated into the parameters window. The interface allows more intuitive control of the machine parameters and attributes, and provides detailed information about the input/output connections. The controls should be quite easy to understand but here is a brief list of each control and its purpose.
Control | Function |
Patch matrix | Left-click to connect, right-click to disconnect. You can drag whilst holding a button to set multiple connections. |
Copy button | Copy active patch to memory. |
Paste button | Paste patch data from memory to the active patch. |
Paste merge button | Merge patch data from memory with the active patch. |
Clear button | Clear all connections in the active patch. You can disable the confirmation if you wish (See Attributes). Hold SHIFT to clear all patches (confirmation always required.) |
Current patch control | Mirrors "Current patch" global parameter. See Global Parameters |
Fade time control | Mirrors "Fade time" attribute. See Attributes |
The Inputs and Outputs tabs provides information about which machines are connected to each input/output channel. The Connections tab shows how input/output machines are connected to each other (the "Inputs" and "Outputs" control changes how the connections are displayed.)
In the machine/channel lists, double-clicking a machine icon will have the same effect as double-clicking the machine itself. Right-clicking a machine icon will pop-up a subset of the normal machine right-click menu. Double-click on the labels to edit them. Renaming a machine icon will rename the machine too.
The menus offer alternative access to some functions and a few useful extras.
Copy | Copy active patch to memory. |
Paste | Paste patch data from memory to the active patch. |
Paste merge | Merge patch data from memory with the active patch. |
Clear current | Clear all connections in the active patch. |
Clear all | Clear all connections in all patches. Confirmation required. |
Disconnect inputs | Disconnect all input machines. |
Disconnect outputs | Disconnect all output machines. |
Rename inputs | Attempt to automatically name all inputs. |
Rename outputs | Attempt to automatically name all outputs. |
Confirm on clear | See Attributes |
Preserve clipboard | Do not clear clipboard data on paste/merge. |
Auto-name new connections | See Attributes |
Auto-rename on channel change | See Attributes |
Auto-assign channels | See Attributes |
The Auto-rename and Auto-assign functions can only work if the machine GUI has been loaded. Opening the GUI at least once will activate the relevant code and it will continue to function even if the GUI is closed. Unfortunately I have not been able to find a way around this problem.
Thanks to Oskari for making Buzz and for answering all my stupid questions, pac for suggesting the 'filename to config' strategy and mute for giving me a clue about how to solve an awkward problem that stopped it from working.
If you've got any comments, requests, bug reports, whatever, you can find me lurking in the Buzz forums or you can mail me via deenine[at]hotmail[dot]co[dot]uk (but don't expect a quick reply.)
The more I learn as a programmer, the more I realize that still suck. I can't be held responsible for anything, ever and I have absolutely no idea whether the x64 version will work or not.
- IX