I have used Reaper as my Digital Audio Workstation software for about 15 years now and absolutely love it. Recently I decided it might be nice to get a physical control surface to use with it. I initially got a Korg nanoKONTROL to dip my toes in the water. It’s a decent little surface, but I very quickly realized that if I was going to go this route I wanted to go all the way and actually have motorized faders and all the bells and whistles, so at the suggestion of many other users I got a Behringer Xtouch. The Korg unit had taken a lot of setup and tweaking to get it working with Reaper. The Xtouch works right out of the box though with only basic functionality mostly. I thought I’d document my journey for posterity in case I ever need to remember what all I did or in case it can help anyone else.
I hooked up my new Xtouch and then powered it on with the Channel 1 “Select” pressed to enter setup mode. Select MCU, and USB.
At first mine was not recognized by USB. From Googling I found that it’s apparently SUPER common with AMD Ryzen chipsets and Motherboards. Mine shipped with 1.13 firmware. I found that there was a 1.21 firmware that fixed this issue. Of course since I couldn’t connect it to my main computer I couldn’t update it. Luckily I found it did connect to my laptop, so I updated the firmware (downloaded 1.21 from the Behringer website and downloaded “SendSX” to send the SysEx firmware update to the Xtouch after powering up the Xtouch with the “Display” button held to enter update mode and see current firmware version) and all was good!
Connected to my machine, went into Preferences>Control/OSC/Web in Reaper, added the “Mackie Control Universal” and selected the Xtouch as Midi Input and Midi Output.
Go into preferences>Track Control Panels and change the “Volume Fader Range” from +12 to +10. This will make the fader numbers match almost perfectly when adjusting faders.
Right out of the box these are the functions that worked for me:
- Volume faders (and move to match on screen changes)
- Pan knobs
- Rec, Solo, Mute, Select
- Scribble strips show 6 characters of track name
- SMPTE/Beats changes display between 7 different display formats. Time, Beats, SMPTE and some others I’m not exactly sure of.
- Automation (Read, Write, Trim, Touch, Latch)
- Save, Undo
- Cycle (toggle repeat)
- Click (Metronome on/off)
- Transport controls (back/forward arrows seem to navigate markers if any)
- Fader Bank (Moves faders by 8 tracks forward or backward, so 1-8 becomes 9-16)
- Channel (Moves faders 1 track forward or backward, so 1-8 becomes 2-9)
- Navigation arrows which can either scroll the screen left/right/up/down, or adjust horizontal/vertical zoom if you press the center Zoom button.
- Jog wheel scrolls play head left and right. Larger scroll if you press “Scrub”
All those other fancy button and such don’t do anything in Reaper. That’s when someone in the Reaper forums told me about the Control Surface Integration (CSI) plugin for Reaper by Geoff Waddington. This adds all kinds of cool functionality and more so, allows you to customize the buttons and functions to your liking fairly easily.
I have a strange talent for reverse engineering things. I’m not a programmer per se but I do all my own websites and so to get things customized to my liking, I often look at the PHP template files, HTML, CSS, etc., and just sort of figure out how to bend it to my will and understand how it all works.
Same here. I started at the Wiki for CSI (linked above) which explained that there’s basically 2 important files, the .mst which defines the actual capabilities of the surface (by defining what buttons, lights, etc. the surface has) and the .zon files which dictate the actual functions of each button, etc. The .mst file was of no use to me as it was just incomprehensible code and as far as I can tell, there’s no reason for you to ever mess with it as the actual hardware on your unit isn’t going to change, but the .zon file is very easy to read and if nothing else, is a GREAT place to look if you’re wondering what functions each button uses. If you’re using CSI, then you likely already had to follow the installation instructions which include finding your Reaper Resource Path. There you will find CSI>Zones>BehringerXtouch>BehringerXtouch.zon which I then edit using Notepad++ (you can use any text editor like Notepad or whatever).
Over the next few days I made the following changes from the default BehringerXtouch.zon file:
- Commented out the “OnTrackSelection” commands in Zone Home so that it stays on the Home Zone when selecting tracks
- Fixed “Volume Nudge Up” by changing “_ZENAKIOS_NUDGEITEMVOLUP” to “_XENAKIOS_NUDGEITEMVOLUP”
- Added Control+Select as “TrackSelect” so I could select multiple non-adjacent tracks
- Mapped the unused “Track” button to “_XENAKIOS_RESETTRACKVOLANDPAN1” so I could easily set a selected track back to 0db. I wanted to just reset the volume, but the only command I could find was the SWS Extension command to reset volume and pan.
- Mapped Shift, Option, Control, and Alt + “MidiTracks” to be the 4 different MIDI record modes (Overdub, Replace, Touch-Replace, and Latch-Replace)
- Mapped “Outputs” button to open the Routing window
- Switched the “Show Master FX Chain” to the “Flip” button since that wasn’t being used and is just above the Master fader so that made more sense to me
- Added Option+”Click” to toggle pre-roll record
- Added Shift+Stop as “Pause”
- Changed the FF/Rewind buttons to the Reaper “FF/Rewind a little bit” which makes them jump a little further than the default FF/Rewind CSI commands which seem to basically be the same as a jog wheel turn, so it seemed more useful to have a couple of different amounts you could travel. Still trying to figure out of there’s a way to use the “scrub” button to change the wheel to different increments as well which would be cool.
- Mapped F1 to set selected track to Input 1, F2 to Input 2, F3 to Input 3/4 (Using SWS Extensions Cycle Actions to execute ReaConsole actions)
- Mapped “Inputs” to cycle through inputs 1, 2, 3/4 just as another option and to see if I could (Also requires SWS Extensions Cycle Actions to be set up in Reaper). I don’t actually use this for multiple reasons but it was more of an experiment.
- Re-mapped “Toggle MIDI Editor Window” to SHIFT+F3
- Re-mapped Toggle Mixer to SHIFT+F1, Track Manager to SHIFT+F2
- Mapped Cancel to “Toggle Show All Floating Windows”
To be able to select specific inputs you have to have SWS Extensions installed in Reaper. Then in Reaper under Extensions>Cycle Action Editor you have to set up your ReaConsole actions. I had never messed with any of this before and just started here: https://www.standingwaterstudios.com/reaconsole.php
I set up 3 actions in the Cycle Action Editor:
CONSOLE i1 (Selects Input 1)
CONSOLE i2 (Selects Input 2)
CONSOLE i3s (Selects the stereo pair 3/4 which I use when I want to route my system sound through my DAW)
Once you set those up and “Apply” them, those actions will show up in the Reaper action list (Shift+?) as whatever you put in the “Cycle Action Name” field.
As with all actions you can right click and “Copy selected action Command ID.”
Then you can edit your CSI .zon file and map it a button. So for me I added “F1 Reaper _S&M_CYCLACTION_1” and then F1 selects Input 1 on the selected track.
I’m really digging it!