IX PatchBay 1.1a

Installation

Copy "IX PatchBay 1.1.dll", this document and the folder "IX PatchBay 1.1a" to your Effects folder. That's it. You could add it to your index as well if you like.

What does it do?

It's an improved, multi-input, multi-output, signal routing machine. Read on and be amazed...

Inputs

Each machine that you connect to PatchBay as an input is assigned to one of the twenty-four input groups (tracks). Any number of machines can be assigned to each input group. By default, each new machine is connected to the first unassigned input. You can manage input connections from the Inputs section of the dialog.

Outputs

PatchBay has twenty-four seperate outputs which you can access by using the Polac Out II machine. Each input group can be routed to any combination of outputs by using the Patch section of the dialog, or by using track commands in the pattern editor.

Patches

PatchBay can store sixty-four seperate input/output configurations (patches). Any changes to routing, either by track commands or from the dialog, will alter the active patch. You can select which patch is active by using the 'Current Patch' parameter and also from the Patch section of the dialog. Patch #0 initially routes each input group to the corresponding output (ie. 0-0, 1-1 ... 23-23.) All other patches are initially empty.

Parameters

Current Patch Selects which patch is currently active.
Global Command See Below.
Track Command See Below

Track Commands

Each track in the pattern editor corresponds to an input group. You can use commands in the form xxyy where xx is the command and yy is the argument. Commands issued in the track command column are specific to that track (input group).

00nn - Unplug Disconnect this input group from output nn.
01nn - Plug Connect this input group to output nn.
02nn - Plug Exclusive Connect this input group to output nn and disconnect from all other outputs.
03nn - Unplug All Disconnect this input group from all outputs (nn is ignored)

Global Commands

The global commands are the same as the track commands but apply to [i]all[/i] input groups.

00nn - Unplug Disconnect all input groups from output nn.
01nn - Plug Connect all input groups to output nn.
02nn - Plug Exclusive Connect all input groups to output nn and disconnect from all other outputs.
03nn - Unplug All Disconnect all input groups from all outputs (nn is ignored). Clears the active patch.

Attributes

Volume ramping time Approximate fade in/out time in milliseconds for when an input is connected or disconnected from an output. Default is 10ms.
Double-click Sets what happens when you double-click the machine.
  • 0 = Open parameters window (normal buzz behaviour).
  • 1 = Open the Main dialog (if necessary) and switch to the Patch section.
  • 2 = Open the Routing dialog. On by default.
Show Input settings on connect
  • 0 = No, do nothing.
  • 1 = Yes, open the dialog (if necessary) and switch to the Inputs section when a new machine is connected. On by default.
Require confirmation on clear
  • 0 = No, don't ask for confirmation.
  • 1 = Yes, ask for confirmation when the 'Clear Patch' button is pressed. On by default.

Right-click menu

Main Opens the main dialog (Patches section.)
Routing Opens the routing dialog.
About Launches the about box.

Main Dialog

This dialog allows access to all of PatchBay's settings. It is divided into three sections.

Inputs Section

This is where you manage the incoming signals.
Machine List Select a machine from the list to see which input group it is connected to.
Input Groups Shows which input group the selected machine is connected to. Rename the items by double-clicking them.

Patch Section

Allows you to control the signal routing. Largely obsolete due to the introduction of the routing dialog.
Input Groups Select a group from the list to see which outputs it is routed to. Double-click to rename an item.
Output Groups Change the routing for the selected input group by selecting zero or more outputs from the list (use CTRL and SHIFT to select multiple items.) Double-click to rename an item.
Current Patch Selects which patch is active (same as Current Patch parameter.)
Clear Patch Clears all routing in the active patch. Will ask for confirmation unless this is disabled in PatchBay's attributes.
Copy Copies the active patch to PatchBay's internal clipboard.
Paste Replaces the current patch settings with the contents of the clipboard.
Merge Combines the active patch's current settings with contents of the clipboard.
Keep Clipboard If checked, the clipboard will not be emptied after a paste/merge operation or when the dialog is closed.

Info Section

This section helps you to see what's going where. Select the view mode with the radio buttons on the right. Largely obsolete due to the introduction of the routing dialog.

Output/Machines In this mode, the left pane lists all of the outputs. Selecting an output from the list will display the machines which are routed to that output in the right pane. Double-clicking the left pane will allow you to rename the outputs.
Machine/Outputs In this mode, the left pane lists the machines that are connected to PatchBay. Selecting a machine from the list will display the outputs which that machine is routed to in the right pane.

Keyboard Shortcuts - General:

ALT + 1 Switch to Inputs section.
ALT + 2 Switch to Patch section.
ALT + 3 Switch to Info section.
ESCAPE Close Dialog

Keyboard Shortcuts - Patch Section & Routing Dialog:

ALT + NUMPAD PLUS Next Patch
ALT + NUMPAD MINUS Previous Patch
CTRL + C or ALT + C Copy Patch
CTRL + V or ALT + P Paste Patch
CTRL + SHIFT + V or ALT + M Merge Patch
ALT + K Toggle 'Keep Clipboard'.
ALT + R Clear Patch

Keyboard Shortcuts - Info Section:

ALT + O View mode: Output/Machines.
ALT + M View mode: Machine/Outputs.

Routing Dialog

The shiny new routing dialog allows you to control how signals are routed from the input groups to the outputs. The grid represents the connections between all inputs and outputs, with the columns representing the input groups and the rows representing the outputs. Click on a square to set the routing (left button connects, right button disconnects). You can also hold the button down and drag to quickly set multiple routings (doesn't work well on diagonals, sorry.) Double-clicking on the input/output names will allow you to rename them.

The controls are the same as those found in the Patch tab of the main dialog. From left to right they are: Copy, Paste, Merge, Keep Clipboard, Current Patch and Clear Patch. Keyboard shortcuts are identical to those of the main dialog Patch tab.

The routing dialog is also slightly skinnable

Notes

Acknowledgements

Still standing on the shoulders of giants. Special thanks are still due to BTD for showing me how to do multi-input machines and to Polac for making the headers and library for his multi-out machine available. A respectful nod goes to Majkol for helping me to solve a problem when I was stuck and a cheery wave to Domtron for making me realise I needed to make a new version. Also, huge thanks to Oskari for removing the connection limit in the new builds. The routing dialog was implemented using the Cockos LICE graphics engine for which I am very thankful.

Contact

If you've got any comments, requests, bug reports, whatever, you can find me lurking in The Church (username 'IX') or you can mail me via deenine[at]hotmail[dot]co[dot]uk (but don't expect a quick reply.)

Disclaimer

This is only the third machine I've made and I'm still strictly amateur so use it at your own risk. If it kills your computer, take comfort in the fact that it'll probably kill mine too.

- IX