I have a pair of cascading SSL X-Racks configured for 48 channels of analogue summing. While I love the sound and flexibility of the system, one small annoyance has always been that the monitor controls on the XR622 Master Modules live over in the outboard racks rather than at the mix position itself.
I wanted to bring those controls directly to the desk.
Using MIDI remote mode on the X-Rack alongside SoundFlow and a Stream Deck, I’ve now built a control surface for the monitor section of the Mixdown X-Rack. This gives me direct access to:
- MIX
- REC
- EXT
- ALT
- MONO
- DIM
- CUT
…as well as monitor level control directly from the mix position.
The setup works by placing the XR622 into MIDI Remote mode and sending MIDI CC messages from SoundFlow via a USB MIDI interface connected to the X-Rack’s MIDI ports. Each function is assigned to a dedicated Stream Deck button with custom icons and toggle behaviour handled inside SoundFlow scripts.
The result is surprisingly seamless. It genuinely feels like the monitor controls are now part of the desk rather than living remotely in the racks.
One particularly nice aspect of doing this through SoundFlow is that it opens the door to larger studio automation workflows. Because SoundFlow can control Pro Tools, EuCon, MIDI devices and system-level actions simultaneously, the X-Rack monitor controls can become part of much larger macros and recall systems.
For example:
- switching monitor sources alongside Pro Tools routing changes
- recalling monitor level presets
- changing between mix and print workflows
- integrating with Stream Deck pages and studio layouts
- combining monitor control with transport and automation commands
It is a small workflow improvement on paper, but in day-to-day use it removes a constant interruption from the mixing process.
I put together a short video demonstrating the setup and talking through how it works:
I may eventually expand this further into more complete room-control style workflows, but even in its current form it has already become one of those “why didn’t I do this years ago?” upgrades.
How to set it up
1. Enable MIDI Remote mode on the XR622
This part is important. The X-Rack will not respond to MIDI controller messages unless MIDI Remote mode is enabled.
As per the SSL manual:
- Hold
SETUP/MIDI - Use the D-Pot to navigate to
rE(Remote Mode) - Set this to
n1(MIDI Remote Mode enabled) - Press the D-Pot again to save
- Exit setup mode
You also need to set the MIDI channel:
- Navigate to
n1 - Set the receive MIDI channel
- I used MIDI Channel 1
Once enabled, the right-hand decimal point on the display lights to indicate that MIDI Remote mode is active.
2. Connect MIDI
I used a USB MIDI interface connected to the MIDI ports on the XR622.
Important:
- MIDI OUT from the interface goes to MIDI IN on the X-Rack
- MIDI IN from the interface goes to MIDI OUT on the X-Rack
Inside SoundFlow you must select the correct MIDI port name exactly as macOS reports it.
For me this was:
MXXR USB MIDI Interface
If the name is incorrect, SoundFlow will throw an InvalidPort error.
3. Default MIDI CC assignments
The XR622 default monitor control mappings are:
| MIDI CC | Function |
|---|---|
| 1 | MIX |
| 2 | REC |
| 3 | EXT |
| 4 | ALT |
| 5 | MONO |
| 6 | DIM |
| 7 | CUT |
| 8 | AFL Level |
| 9 | Monitor Level |
4. Example SoundFlow toggle scripts
These are one-button toggle scripts for Stream Deck buttons.
MIX
const port = "MXXR USB MIDI Interface";
const channel = 1;
const cc = 1; // MIX
if (globalState.xrack_mix_state === undefined) {
globalState.xrack_mix_state = false;
}
globalState.xrack_mix_state = !globalState.xrack_mix_state;
sf.midi.sendCC({
externalMidiPort: port,
midiChannel: channel,
midiCC: cc,
value: globalState.xrack_mix_state ? 127 : 0,
});MONO
const port = "MXXR USB MIDI Interface";
const channel = 1;
const cc = 5; // MONO
if (globalState.xrack_mono_state === undefined) {
globalState.xrack_mono_state = false;
}
globalState.xrack_mono_state = !globalState.xrack_mono_state;
sf.midi.sendCC({
externalMidiPort: port,
midiChannel: channel,
midiCC: cc,
value: globalState.xrack_mono_state ? 127 : 0,
});CUT
const port = "MXXR USB MIDI Interface";
const channel = 1;
const cc = 7; // CUT
if (globalState.xrack_cut_state === undefined) {
globalState.xrack_cut_state = false;
}
globalState.xrack_cut_state = !globalState.xrack_cut_state;
sf.midi.sendCC({
externalMidiPort: port,
midiChannel: channel,
midiCC: cc,
value: globalState.xrack_cut_state ? 127 : 0,
});The remaining controls simply use the corresponding CC number from the table above.
Final thoughts
This started as a relatively small workflow tweak, but it has already become one of the most useful little quality-of-life upgrades in the studio.
Being able to control the X-Rack monitor section directly from the mix position feels much more natural, particularly when the racks themselves are located away from the desk.
Because it is all handled via SoundFlow, it also creates opportunities for much larger studio-wide automation and workflow systems in future.
