What ORC does
ORC turns an SSL UF1 into a remote control for RME TotalMix FX. The fader, the pots and the keys move TotalMix directly, and the two screens show what TotalMix is doing: channel names and colours, levels, the EQ, reverb and echo. ORC runs in the menu bar and needs no DAW.
ORC is free.
What you need
- A Mac with macOS 13.0 or later, Apple silicon or Intel.
- An SSL UF1, connected by USB.
- An RME interface with TotalMix FX 2.1 or later. ORC talks Global OSC, which arrived with 2.1.
SSL 360° has to be closed while ORC uses the UF1. Only one program can hold the surface at a time.
Setting up
In TotalMix
- Under Settings, OSC, set Compatibility Mode to Global OSC, and switch Enable OSC Control on under Options.
- Pick a free remote in the OSC settings and tick In Use.
- Set its IP to
127.0.0.1, Port incoming to7005and Port outgoing to7006. These are ORC's numbers out of the box. - For the level meters on the UF1, switch Send Peak Level on for that remote. Without it everything else works and the meters stay empty.
ORC
- Open the disk image and drag ORC to Applications.
- Quit SSL 360°, connect the UF1, start ORC. Its menu bar item says who holds the UF1 and whether TotalMix answers (the menu bar).
- If you want ORC there whenever the Mac is on, tick Open at login in the settings window, page Connection.
A different port or a TotalMix on another machine goes in the settings window, page Connection.
ORC and Rea-Sixty
Rea-Sixty, my REAPER extension for SSL surfaces, shows the same TotalMix view on the UF1 inside REAPER: hold SHIFT, press MODE, and pick RME. It runs the code ORC runs, so the surface works as this page describes, with two differences: MODE opens REAPER's mode menu, and a transport key runs the action you gave it in ORC, its lamp in ORC's colours, or else stays REAPER's transport, lamp included.
Two Rea-Sixty built-ins put this on any key or a Stream Deck button: UF1 Mode: RME switches the UF1 to this view and back, RME: Ask TotalMix again does what the button of the same name on the Connection page does.
Who holds the UF1
When REAPER starts, Rea-Sixty asks ORC for the UF1 and ORC lets go of the surface and of the TotalMix port. When REAPER quits, ORC takes both back. The menu bar then reads handed over to REAPER for as long as REAPER has it. Rea-Sixty's setting Take the UF1 over from ORC (Settings, Connected devices) switches this off, and then REAPER leaves the UF1 with ORC.
ORC can only take the UF1 back after REAPER if it is running, so with both on one Mac, Open at login is worth ticking.
One set of settings
ORC keeps the settings and Rea-Sixty reads them: pot targets, soft-key banks, colours, STRIP pages. Change them in ORC and REAPER picks them up. Without ORC installed, Rea-Sixty offers no TotalMix view at all.
Rows, channels and the submix
TotalMix has three rows of channels: inputs, playbacks and outputs. ORC adds a fourth, FX, below the outputs, with two channels: Reverb and Echo. The nav cross steps from row to row, top to bottom and round again.
A row on the UF1 shows the channels TotalMix shows, in TotalMix' order. Hide a channel in TotalMix and ORC skips it. On the output row the control room comes first: Phones 1 to 4, Main B, Main, then the other outputs. A channel that carries a control-room role is named by the role, so the output you use as Phones 1 reads Phones 1.
The submix
An input or a playback has no single level in TotalMix. It has one level in every output's mix.
ORC works the way TotalMix does when you click an output: the output selected last is the
submix, and the fader, the pan pot and SOLO of an input or a playback act on that
output's mix. The small screen shows which one, as > Main for example. Nav left and
right step the submix through the visible outputs.
The UF1, control by control
Click a control on the drawing to jump to it.
Where a control does something different on each row, its table says what, row by row. Hold SHIFT for finer steps.
Key above the small screen
Switches the fader channel between stereo and mono, as the link between a pair in TotalMix does. Its label reads STEREO or MONO. On the FX row it does nothing and stays dark.
Small screen
The channel on the fader: its name, its level in dB, its number and its TotalMix colour. The
line below shows the pan, on the FX row the width. The text in the colour bar says where the fader
writes: > Main for an input or a playback (the submix),
OUTPUT for an output, FX for Reverb and Echo.
Pot above the fader
| Row | Turn | Push |
|---|---|---|
| Input, Playback | Pan in the current submix | Centre |
| Output | The output's own pan | Centre |
| FX | Width, 0 (mono) to 1 (stereo) | Full stereo |
Fader
The level of the channel on the fader, motorised: it moves when the level changes in TotalMix.
| Row | The fader sets |
|---|---|
| Input, Playback | Its level in the current submix |
| Output | The output's volume |
| FX | The effect's volume, -65 to +6 dB |
SOLO, CUT, SEL
| Row | SOLO | CUT | SEL |
|---|---|---|---|
| Input, Playback | Solo in the current submix | Mute | Nothing |
| Output | Nothing (TotalMix has no solo on an output) | Mute | Makes it the submix |
| FX | Nothing | Switches the effect off and on; lit while off | Nothing |
MASTER
Puts Main on the fader: the output row, with Main selected. Lit while Main is there.
The four keys above the large screen
In the overview they are the soft-key banks. With STRIP open they are the switches of the page on screen.
Large screen
In the overview: the four pot targets with their names and levels, a colour bar over each, and a white bar over the pot whose output is the current submix. The header names the row and the soft-key bank. The time display shows the level of the jog wheel's target in dB. With STRIP open: the page name and number, and on the EQ and Low Cut pages the channel's EQ curve.
The four pots
Overview. Four of eight targets, in two banks (5-8 switches). Turning sets the target's level in steps of 0.5 dB. A push does what is set for that pot on the settings page Controls: make it the submix, put it on the fader, mute it, or nothing. Out of the box every push picks the submix, and the targets are:
| Bank | Pot | Out of the box |
|---|---|---|
| 1 | 1 | Phones 1 |
| 1 | 2 | Phones 2 |
| 1 | 3 | Phones 3 |
| 1 | 4 | Phones 4 |
| 2 | 1 | Main B |
| 2 | 2 | Main |
| 2 | 3 | nothing |
| 2 | 4 | nothing |
STRIP. The page's parameters. A push sets the parameter back to its default, listed with each page under STRIP.
After a push the same pot ignores turning for 250 ms, so the small twist that comes with a press does not move the value you just set.
5-8
Switches the four pots between their two banks. Lit on bank 2. Does nothing with STRIP open.
< and >
In the overview: the previous and next soft-key bank. With STRIP open: the previous and next page. Lit where there is more in that direction; there is no wrap.
BANK ◄ ►
Picks the half of the soft-key bank on the four keys: ◄ keys 1 to 4, ► keys 5 to 8. Lit toward the half you can switch to. Dark when the bank has no second half, and with STRIP open.
CHANNEL encoder
Turn: the previous or next channel of the row onto the fader. When that channel sits on a pot of the other bank, the pots follow to that bank. Push: opens and closes STRIP for the channel on the fader.
Jog wheel
The level of one fixed target, out of the box Main, in steps of 0.5 dB. The time display shows that level. Target and step are on the settings page Controls.
Transport keys
Empty out of the box. The settings page Soft Keys puts any of the actions on them, the DuRec recorder for example, and sets each key's lamp: its Active colour while the action is on, its Inactive colour otherwise. A key with no action stays dark.
SHIFT
Held: the pots and the jog wheel turn in finer steps, a quarter of the normal step. Controls that step through a list, such as an EQ type, still move one entry at a time.
360
Opens the settings window. Press it again to close it.
Keys ORC leaves alone
FLIP, SCRUB, MODE and the row of six keys above the transport do nothing in ORC.
STRIP: one channel in detail
Push the CHANNEL encoder and the UF1 shows the channel on the fader in detail: its settings in TotalMix, four pots and four keys to a page. Push again to go back to the overview.
- < and > step through the pages; the header shows the page and, for example, 3/9.
- A page appears only when the channel has what is on it, as TotalMix reports it. A line input without a preamp has no gain, a playback has no EQ.
- Pages next to each other for the same rows are packed: the parameters a channel has move up to fill four pots, so no page is half empty. The screen names every pot, so nothing is hidden by it moving.
- On the FX row, Reverb and Echo have their own pages. Which reverb controls show depends on the reverb type, as in TotalMix' FX window (reverb types).
- A push on a pot sets it back to the value in the last column. Where the column is empty, the push leaves the value alone.
The page list below is ORC's out of the box, read from the code this version runs.
Input, Input 2
On inputs and playbacks. These pages are packed: the controls a channel has fill the four pots in this order, and the keys likewise.
| Order | On the screen | Range | Push sets |
|---|---|---|---|
| 1 | Gain | +0 dB to +75 dB | +0 dB |
| 2 | FX Send | - to +6.0 dB | +0.0 dB |
| 3 | Ref Lvl | +4 dBu, LoGain (outputs: -10 dBV, +4 dBu, HiGain, +24 dBu) | |
| 4 | Width | -1.00 to 1.00 | 1.00 |
| key 1 | 48V | on / off | |
| key 2 | Pad | on / off | |
| key 3 | Phase L | on / off | |
| key 4 | Phase R | on / off | |
| key 5 | Stereo | on / off | |
| key 6 | M/S | on / off | |
| key 7 | Inst | on / off | |
| key 8 | AutoSet | on / off |
Low Cut
On every channel that has it. Shows the EQ graph.
| Where | On the screen | Range | Push sets |
|---|---|---|---|
| pot 1 | LC Freq | 20 Hz to 500 Hz | 20 Hz |
| pot 2 | Slope | 6 dB, 12 dB, 18 dB, 24 dB | 12 dB |
| key 1 | Low Cut | on / off |
EQ 1
On every channel that has it. Shows the EQ graph.
| Where | On the screen | Range | Push sets |
|---|---|---|---|
| pot 1 | Gain 1 | -20.0 dB to +20.0 dB | +0.0 dB |
| pot 2 | Freq 1 | 20 Hz to 20.00 kHz | 80 Hz |
| pot 3 | Q 1 | 0.4 to 9.9 | 1.0 |
| pot 4 | Type 1 | Bell, Shelf, HiPass, LoPass | Shelf |
| key 1 | EQ | on / off |
EQ 2
On every channel that has it. Shows the EQ graph.
| Where | On the screen | Range | Push sets |
|---|---|---|---|
| pot 1 | Gain 2 | -20.0 dB to +20.0 dB | +0.0 dB |
| pot 2 | Freq 2 | 20 Hz to 20.00 kHz | 1.00 kHz |
| pot 3 | Q 2 | 0.4 to 9.9 | 1.0 |
| key 1 | EQ | on / off |
EQ 3
On every channel that has it. Shows the EQ graph.
| Where | On the screen | Range | Push sets |
|---|---|---|---|
| pot 1 | Gain 3 | -20.0 dB to +20.0 dB | +0.0 dB |
| pot 2 | Freq 3 | 20 Hz to 20.00 kHz | 5.00 kHz |
| pot 3 | Q 3 | 0.4 to 9.9 | 1.0 |
| pot 4 | Type 3 | Bell, Shelf, LoPass, HiPass | Shelf |
| key 1 | EQ | on / off |
Dyn
On every channel that has it.
| Where | On the screen | Range | Push sets |
|---|---|---|---|
| pot 1 | Thresh | -60.0 dB to +0.0 dB | -30.0 dB |
| pot 2 | Ratio | 1.0:1 to 10.0:1 | 1.0:1 |
| pot 3 | Attack | 0 ms to 200 ms | 10 ms |
| pot 4 | Release | 100 ms to 999 ms | 300 ms |
| key 1 | Dyn | on / off |
Expander
On every channel that has it.
| Where | On the screen | Range | Push sets |
|---|---|---|---|
| pot 1 | Exp Thr | - to -20.0 dB | -60.0 dB |
| pot 2 | Exp Rat | 1.0:1 to 10.0:1 | 1.0:1 |
| pot 3 | Make-up | -30.0 dB to +30.0 dB | +0.0 dB |
| key 1 | Dyn | on / off |
AutoLevel
On every channel that has it.
| Where | On the screen | Range | Push sets |
|---|---|---|---|
| pot 1 | Max Gain | +0.0 dB to +18.0 dB | +6.0 dB |
| pot 2 | Headroom | +3.0 dB to +12.0 dB | +6.0 dB |
| pot 3 | Rise | 0.1 s to 9.9 s | 5.0 s |
| key 1 | AutoLvl | on / off |
Output
On outputs.
| Where | On the screen | Range | Push sets |
|---|---|---|---|
| pot 1 | Xfeed | 0 to 5 | |
| pot 2 | Delay | 0.0 ms to 42.0 ms | |
| pot 3 | Ref Lvl | +4 dBu, LoGain (outputs: -10 dBV, +4 dBu, HiGain, +24 dBu) | |
| pot 4 | FX Ret | - to +6.0 dB | +0.0 dB |
| key 1 | Loopback | on / off | |
| key 2 | TB Sel | on / off | |
| key 3 | Phase L | on / off | |
| key 4 | Phase R | on / off |
Reverb, Reverb 2, Reverb 3
On Reverb (FX row). These pages are packed: the controls a channel has fill the four pots in this order, and the keys likewise.
| Order | On the screen | Range | Push sets |
|---|---|---|---|
| 1 | Rev Type | Small, Medium, Large, Walls, Shorty, Attack, Swagger, OldSchl, Echoist, 8plus9, GrandWd, Thicker, Envelope, Gated, Space | |
| 2 | PreDelay | 0 ms to 999 ms | |
| 3 | RoomScl (not on Envelope, Gated, Space) | 0.50 to 3.00 | |
| 4 | Time (only on Space) | 0.1 s to 5.0 s | |
| 5 | Low Cut | 20 Hz to 500 Hz | |
| 6 | High Cut (not on Space) | 2.00 kHz to 20.00 kHz | |
| 7 | HiDamp (only on Space) | 2.00 kHz to 20.00 kHz | |
| 8 | Smooth | 0% to 100% | |
| 9 | Width | +0.00 to +1.00 | +1.00 |
| 10 | Attack (only on Envelope) | 5 ms to 400 ms | |
| 11 | Hold (only on Envelope, Gated) | 5 ms to 400 ms | |
| 12 | Release (only on Envelope, Gated) | 5 ms to 500 ms | |
| key 1 | Reverb | on / off |
Echo, Echo 2
On Echo (FX row). These pages are packed: the controls a channel has fill the four pots in this order, and the keys likewise.
| Order | On the screen | Range | Push sets |
|---|---|---|---|
| 1 | EchoType | Stereo, Cross, Pong | |
| 2 | Delay | 0.10 s to 2.00 s | |
| 3 | BPM | 30 bpm to 600 bpm | |
| 4 | Feedback | 0% to 100% | |
| 5 | Width | +0.00 to +1.00 | +1.00 |
| 6 | HiCut | off, 16k, 12k, 8k, 4k, 2k | |
| key 1 | Echo | on / off |
Reverb types
Every type has PreDelay, Low Cut, Smooth and Width. The rest depends on the type, as TotalMix' own FX window shows it. Turning the type pot loads the type's own values in TotalMix, and ORC reads them back at once.
| # | On the display | Controls of its own |
|---|---|---|
| 1 | Small | RoomScl, High Cut |
| 2 | Medium | RoomScl, High Cut |
| 3 | Large | RoomScl, High Cut |
| 4 | Walls | RoomScl, High Cut |
| 5 | Shorty | RoomScl, High Cut |
| 6 | Attack | RoomScl, High Cut |
| 7 | Swagger | RoomScl, High Cut |
| 8 | OldSchl | RoomScl, High Cut |
| 9 | Echoist | RoomScl, High Cut |
| 10 | 8plus9 | RoomScl, High Cut |
| 11 | GrandWd | RoomScl, High Cut |
| 12 | Thicker | RoomScl, High Cut |
| 13 | Envelope | High Cut, Attack, Hold, Release |
| 14 | Gated | High Cut, Hold, Release |
| 15 | Space | Time, HiDamp |
Soft-key banks
In the overview the four keys above the large screen play a bank of eight keys, four at a time. < and > step through the banks, BANK ◄ ► pick the half. A bank holds either keys you set up yourself or one of two lists TotalMix keeps:
- TotalMix snapshots: the eight snapshots by the names TotalMix gives them. A press loads one. The key of the active snapshot is lit.
- TotalMix layouts: the eight layouts. A press loads one; the one loaded last is lit.
Out of the box:
- Bank 1: 1
Dim(Dim main output), 2Mono(Main output mono), 3Speaker B(Speaker B), 4Talkback(Talkback), 5Ext In(External input), 6Main(Main on the fader), 7TotalMix(Show the TotalMix window). - Bank 2: TotalMix' eight snapshots, keys 1 to 4 on the first half and 5 to 8 on the second.
- Bank 3: TotalMix' eight layouts, keys 1 to 4 on the first half and 5 to 8 on the second.
Every bank, key, label and action is set on the settings page Soft Keys.
Actions
What a soft key or a transport key can do, 16 actions. A switch turns something on and off and its key is lit while on; a press does one thing each time.
| Action | Key label | Kind | What it does |
|---|---|---|---|
| Ask TotalMix again | Ask TMix | press | Asks TotalMix for its whole state again, as the button Ask TotalMix again on ORC's Connection page does. For when faders or switches do not follow after TotalMix was started. |
| Dim main output | Dim | switch | Dims TotalMix' Main output by the Dim amount set in TotalMix, or lifts the dim. The lamp follows what TotalMix reports. |
| DuRec next file | DuRec Next | press | Goes to the next DuRec file. |
| DuRec pause | DuRec Pause | press | Pauses DuRec. |
| DuRec play | DuRec Play | press | Plays the current DuRec file. |
| DuRec previous file | DuRec Prev | press | Goes to the previous DuRec file. |
| DuRec record | DuRec Rec | press | Starts a DuRec recording. |
| DuRec stop | DuRec Stop | press | Stops DuRec. |
| External input | Ext In | switch | Switches TotalMix' Main output to the external input and back. |
| Main on the fader | Main | press | Puts TotalMix' Main output on the UF1 fader in the RME side-car. The lamp is lit while Main is on the fader. |
| Main output mono | Mono | switch | Switches TotalMix' Main output to mono and back. |
| Mute FX | Mute FX | switch | Mutes TotalMix' reverb and echo on the Main output, or lets them through again. The lamp follows what TotalMix reports. |
| Show the TotalMix window | TotalMix | switch | Shows or hides the TotalMix window. TotalMix says nothing about its own window, so the lamp is what we last sent. |
| Sleep the surface now | Sleep | switch | Darkens every connected surface at once. Press again, or touch anything on any surface, to bring them back; that first press or turn only wakes and does nothing else. |
| Speaker B | Speaker B | switch | Switches TotalMix' Main output between Main and Speaker B. |
| Talkback | Talkback | switch | Talkback in TotalMix, on or off. |
The settings window
Settings… in the menu bar. Every change is saved at once.
Connection
| Talk to TotalMix | The link on or off. |
|---|---|
| Open at login | Starts ORC when you log in. macOS may ask you to allow it once; ORC then opens the right place in System Settings. Only for ORC in Applications: macOS starts the copy that ticked it. |
| Host | Where TotalMix runs. 127.0.0.1 is this Mac. |
| Send to port | TotalMix' Port incoming, out of the box 7005. |
| Listen on port | TotalMix' Port outgoing, out of the box 7006. |
| Status | The link, as in the menu bar. |
| Ask TotalMix again | Asks TotalMix for everything it knows, for example after you renamed channels. |
Controls
| Pot, Target, Push | The eight pot targets, bank 1 and bank 2: a control-room role (Main, Main B, Phones 1 to 4, Talkback) or any channel TotalMix shows this remote. The push: Submix, Select (put it on the fader), Mute or Nothing. |
|---|---|
| Jog wheel | The jog wheel's target. |
| Jog step | dB per step of the jog wheel. |
| Pot step | dB per step of the four pots in the overview. |
| Sleep when idle, After | Off out of the box. On, the UF1 goes dark after this many minutes (1 to 99) without a touch. It keeps running behind the dark panel, so it wakes with the same picture. Whatever you touch first only wakes it: that key or that turn does nothing else. A hand on the fader works at once. The action Sleep the surface now puts it to sleep from a key; press it again, or touch anything, to wake it. |
A role follows TotalMix: when a snapshot moves Phones 1 to another output, the pot follows it. A role TotalMix has not given to any output reads not assigned, and one this remote cannot see reads hidden.
Soft Keys
| Bank, Half | Which bank and which half you are editing. |
|---|---|
| Shows | Keys, TotalMix snapshots or TotalMix layouts. |
| Name | The bank's name on the large screen. |
| Label, Action | Per key: what the screen says and what a press does. An empty label takes the action's own. |
| Active, Inactive | Per key: the lamp's colour while its action is on, and otherwise. Off leaves the lamp dark. On a bank of snapshots or layouts, Active is the snapshot or layout that is loaded and Inactive the others; without a colour of their own the keys are white. |
| Factory set for this bank | Puts this bank back the way it came. |
| Transport | An action and the two lamp colours for each of the five transport keys. |
Colours
TotalMix has nine channel colours, the UF1 its own palette. This page says which UF1 colour each TotalMix colour shows as, and lists the channels that wear it.
When something is off
The TotalMix line
| It says | What it means, what to do |
|---|---|
| online | All good. |
| off | Talk to TotalMix is off (page Connection). |
| waiting for TotalMix | ORC asks and nobody answers. TotalMix is not running, OSC is off, the remote is not In Use, or the ports do not match (setting up). |
| port … is in use by another program | Another program listens on ORC's port. Pick a different Listen on port and set the same number as the remote's Port outgoing in TotalMix. |
| could not open a socket | macOS refused ORC a network connection. Quit ORC and start it again. |
| host is not an IPv4 address | The Host field holds something other than an address
like 192.168.1.20. |
| TotalMix stopped answering (quit, or the remote is off) | It was online and went quiet. Check that TotalMix is running and the remote is still In Use. |
The UF1 line
| It says | What it means, what to do |
|---|---|
| held by ORC | All good. |
| not open: handed over to REAPER | Rea-Sixty has the UF1 while REAPER runs (ORC and Rea-Sixty). |
| not open, with another reason | ORC could not open the UF1. Is it connected and switched on? Is SSL 360° still running? ORC tries again every two seconds. |
No level meters on the UF1
Switch Send Peak Level on for ORC's remote in TotalMix.
Files
~/Library/Application Support/ORC/rme.json | The link, the pots, the colours and the STRIP pages. |
|---|---|
~/Library/Application Support/ORC/orc.json | The soft-key banks and the transport keys. |
/tmp/orc.log | ORC's log. Useful with a bug report. |
To start from scratch, quit ORC and remove the folder ~/Library/Application Support/ORC.
Licences
ORC is free. It contains libusb 1.0.30, © the libusb authors, under the GNU Lesser General Public License 2.1. The licence text and libusb's source come with every ORC release.
SSL, UF1 and SSL 360° are trademarks of Solid State Logic. ORC is not affiliated with Solid State Logic or RME.