## IX PatchBay 1.1

### Installation

Copy "IX PatchBay 1.1.dll" and this document 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 a slightly 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.
Show Patch settings on double-click | 0 = No, open parameters window (normal buzz behaviour). 1 = Yes, open the dialog (if necessary) and switch to the Patch section. 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

Open | Opens the main dialog (Patches section.)

### Main Dialog

This is where you will mostly control 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

This is where you control the signal routing.

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.

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:

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.

### Notes

- No input signals are sent to the standard output. All output is via Polac Out II.
- You'll always get a hoax when connecting a stereo machine to PatchBay. As far as I can tell this shouldn't happen, but it does. Go figure.
- If you're using old Buzz, you might run into problems when connecting machines to PatchBay because Buzz doesn't like machines to follow more than 101 signal paths to the master. This limitation was removed in Buzz build 1042, Oct 20th 2008.

### 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.

### 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