[02/28/2019 Version 4.6] I’ve created a custom Propellerhead Reason remote map for Mackie Control (Mackie Universal Control) mixers, such as ones used by my Behringer X-Touch or the Mackie MCU Pro. The remote map, called MJ Enhanced Universal Control, fixes problems like buttons being mapped in the wrong areas, virtually eliminates clip LEDs getting triggered, functions missing entirely (like the EQ Q knobs) while adding enhancements and new features, like comp and gate LED meters, redesigned encoder LED display modes, time displayed by default, global solo and mute off functions, enhances the channel VU meters, introduces new rotary encoder LED display modes, FX return encoder LED meters, completely new “alternative text” mode for displaying additional information and added encoder ring master VU out meters. This enables you to control the entire virtual SSL mixer and channel strip settings including channel selection. This article serves also as a guide / general commentary and I’m sharing it free…
The MJ Enhanced Mackie Universal Control setup took a very long time for me to do. This mapping file and article are written based on my experience with Behringer’s X-Touch mixer. The X-Touch is designed to work in Mackie mode for programs like Reason, Ableton, Logic, etc. Unlike Behringer’s odd Propellerhead partnership with the BCF2000 and BCR2000 line of controllers, the X-Touch was designed to work exactly the same as other mixers under the Mackie Universal Control setup (same as Mackie MCU Pro models). Comparing the way Reason and other programs interact with the X-Touch, with the exception of the clip LED (that my layout tries to reduce), all screw ups appear to be on Propellerhead (this isn’t the first time).
[Edit: 01/12/2020] Removed outdated part of this page that referenced “optional Lua codecs”. The Lua codecs are mediatory for versions 4.5 and newer.
[Edit: 02/28/2019] Version 4.6 adds ‘ticks’ to the LED beats display.
[Edit: 03/22/2018] The huge version 4.5 of the MJ Enhanced Universal Control brings more optimized and reliable VU behavior; new rotary encoder display modes with; two completely new, custom-programmed modes; rotary encoder LED FX return meters, FX name LCD display; blank rotaries LEDs turn off; VU out meters; flip mode alternative text display; and new ‘disconnected’ display text.
The installation method has changed also. Before, installing my enhanced Lua codec was optional. Now installing the Lua and MIDI codec files is now required and the installation section of this page have been updated.
(Edit: 03/17/2018) I created a sister remote map, the MJ Enhanced Combo Extender, that allows you to use a Behringer X-Touch + Extender or Mackie MCU Pro + Extender with Reason. The MJ Enhanced Combo Extender is even more powerful than the MJ Enhanced Universal Control.
(Edit 02/20/2018) The mixer’s “DELAY COMP” button used for VST lag compensation issues (introduced in 9.5) isn’t mappable. That means it can’t be added it to the MJ Enhanced Mackie Universal Control map.
(Edit: 02/12/2018) This is a photo in the middle of designing the MJ Enhanced Mackie Universal Control. Three windows of code open in Windows and, because Windows sometimes wouldn’t update the code in Reason reliably, my MacBook Pro with two more windows of code syncing via Google Drive. I also have my iPad at the bottom right open to the image rendering of which buttons light up. And of course, the X-Touch still with scribble tape used to label temporary buttons.
Why Propellerhead screwed up with the Mackie Universal Control protocol
I thought Propellerhead’s implementation of the Behringer BCR2000 was bad, but at least it was just the layout and still functioned properly. With the Behringer X-Touch, Propellerhead screwed up the actual placement of what button is mapped to what. Whoever coded the direct MIDI CC number data screwed things up also. For software that costs $400 each user and updates that cost $130, this is just plain wrong.
Who should use the MJ Enhanced Universal Control
If you use Reason and have a Mackie MCU, MCU Pro or Behringer X-Touch, you should use it.
Using the X-Touch and the MJ Enhanced Universal Control layout makes production, mixing and mastering so much more efficient. Not to mention it’s so, so much fun. I no longer click any fader, knob or button on the mixer screen, I control it all from the X-Touch. I only need to click the virtual SSL mixer to rename, reorganize or delete tracks. The digital scribble screens, illuminated buttons and channel strip track selection (impossible with the older BCR2000-method I invented) make this process super slick.
What the MJ Enhanced Universal Control fixes or adds
Added comp & gate channel meters
I added comp and gate channel meters. These function automatically and are linked to the virtual SSL mixer’s comp and gate channel LED’s. There was no code in the Universal Control remote map file for this, but in creating the technique for the BCR2000, I was able to get it working here too.
(Edit: 03/22/2018) I programmed two custom, new rotary encoder LED modes. One is an LED meter mode that services the comp, send and VU out meter modes. It fills up a “bar” when receiving signal and, when not receiving signal, goes completely dark. The other mode is dedicated just for the gate meters. It has the animation of the “spread” mode but, when the gate is fully open, the LEDs completely disappear. Other rotary encoder LED modes are visually different from these so it makes these new modes stand out even better on the MCU Pro and X-Touch.
“All solos off” and “all mutes off” functions added
This wasn’t present before. On the X-Touch, they’re color-coded: red “SAVE” button for mutes and amber “TRIM” button for solos.
You might think this could get confusing as the buttons are labeled “save” and “trim”, but it isn’t because the buttons around those sections are all typically dark. Once you hit mute on a channel, a new red button lights up on the side of the normally dark area and your brain instantly registers that with being the “all mutes off” button, same for the amber “all solos off” button.
Button colors match their function (X-Touch specific)
It wasn’t easy figuring out placement, but I made sure each button matches the color of the function you expect. The clip indicator lights up red. The “mute all off” button is red to match the mute buttons, the “solo all off” button is amber to match the amber solo buttons, etc.
Practically every single thing of the virtual SSL mixer is mapped, including oddities like Filters to Dyn buttons. 99% of everything on the virtual SSL mixer is mapped; the other 1% you don’t want mapped.
Changed the time display
This one’s a big time saver. Propellerhead programmed the display to show the annoying bars mode (”34.3.2”) instead of time (”1:34”). Time should always be displayed by default. Bars can be very useful for recording rhythm on time, and so is the metronome (click). But you don’t want the metronome to be on by default and the same for bars. And those of you thinking you can judge a song’s time by bars, you can’t because tempo changes a bar’s time.
I’ve changed this so now it displays time by default (a major time saver in my book).
I added a clipping indicator and reset button where the scrub button is located. Reason has no way to manipulate clips, notes or other things from MIDI controllers, so a scrub function isn’t needed at all in Reason (and scrubbing the song’s position is pointless). This is supported on both the X-Touch and the MCU Pro.
Disabled the confusing 1-8 channel LED display
Propellerhead tried to get the LED time display area to show what channel number you’re currently controlling.
The problem is that Propellerhead didn’t create the needed code. Channels 1-8 display correctly, channel 2 displays “2” on the LED. But when you move to another channel bank and select channel number 10, the LED will display “2”. Channel 11 displays “3”, channel 12 displays “4”, channel 17 ”1”, channel 18 “2” and so forth.
This does way more harm than good so I removed this broken functionality. It doesn’t help you know which channel bank you’re on, but it doesn’t make you more lost.
(Tip: I add a number to the first channel of a channel bank in Reason so I can always see which channel bank I’m on. “1Keys”, “9Flute”, etc. So each track on channels 1, 9, 17, 25, etc. It’s unrealistic to number every single other channel though because seven characters is already too limited for channel names.)
Display additional text information function added
(Edit: 03/22/2018) I added a new function to the otherwise useless flip mode. It’s now possible to see exactly what function may be behind a button that doesn’t have a dedicated text LCD display.
I also modified the code so that the faders stay in place and can still control the fader levels while viewing the alternative flip mode texts.
And I modified the code so that the rotary LEDs turn off, further helping you identify when you’re in the flipped alternative text mode and the rotary knobs are, thus, turned off.
The original flip mode had a (pointless) function where it swapped the functions of the rotary knobs with the fader knobs. The flipped mode now has a new lease on life. You can look at the flip mode if you’re wondering what a button does for the 8 REC buttons.
EQ “Q” knobs
Get this stupid crap; Propellerhead added all this garbage like FX Pre’s and Inv button controls but they didn’t include the “Q” knobs for the EQ! How can they leave out the Q knobs??
Yeah, I fixed that backwoods crap, Q knobs are now part of the EQ settings.
The “EQ On” and “E” also have dedicated LCD displays, too, so it’s easy to see when the buttons are on.
Fuller text descriptions
Propellerhead cut text super short, much shorter than it needed to be. Most of the time, Propellerhead didn’t even use the full 7 characters. Or they spanned text across multiple LCD windows, which on the X-Touch’s separate digital scribble strips makes text look ridiculous. “Makes t ext app ear lik e garba ge.”
My layout uses the full 7 character space of MCU Pro and X-Touches, etc. I also call out text descriptions of what the knobs, buttons and even push encoders and meters do (Propellerhead only called out the knobs, sometimes not even doing that).
I typed out descriptions the way it makes sense to us, Reason users. Knobs on the virtual SSL mixer are labeled the way they appear on the mixer themselves.
Also, absolutely no static text spans across LCD screens, so no words get split between two strips. Hallelujah…
And finally, every single section (TRACK, PAN, EQ, etc) shows a channel’s corresponding digital scribble strip. Propellerhead had two sections not show channel strip info and it was the biggest reason someone would end up lost at where they currently were in regards to channel bank, channel number, etc. Ensuring digital scribble strips appear anytime no matter what you’re doing is vital to being intuitive.
(Edit: 03/22/2018) I also added “disconnect” text when when the mixer disconnects. Text also doesn’t cut text across LCD screens. This area also shows which version of the MJ Enhanced Universal Control is being used.
FX names displayed on digital scribble strips
(Edit: 03/22/2018) The names of the send and return FXs are displayed on the digital scribble strips, making it easy to see where exactly the “Echo” or “Plate” is located at.
I poured over the design for weeks to come up with the most intuitive layout given the constraints of the mixer and software. Things are where you expect them to be. Propellerhead had screwed things up; the EQ section was on the send button and the mastering section was on the EQ button.
In my layout, hardly anything is placed behind the push encoders (the push knob buttons) because you can’t see when the functions are on or off until they’re clicked and changed (that’s generally bad design).
When changing the loop positions using the “drop” and “replace” buttons, touch the magnifying icon button at the center of the move arrows to return back to normal mode. Here’s a description of what buttons using the MJ Enhanced Mackie Universal Control for an X-Touch or MCU Pro. Click image for larger view and make sure to zoom in.
Pacified clipping LED’s glitch
Master compressor gain reduction and master out displaying on 3 of the VU’s was mainly causing this (Behringer’s fault, not Propellerhead’s). When the master out in Reason clipped, it activated clip LED’s on the X-Touch. The Mackie protocol apparently doesn’t support a method for resetting the clip LED’s.
I fixed this by reassigning the VU meters for the channels as they should have been from the start. It doesn’t mean you can’t get an individual channel’s output to be so loud where it won’t trigger the clip LED, but that typically shouldn’t happen. Now, when the main VU out clips, it won’t trigger individual channel clip indicators.
Redesigned encoder LED display modes
(Edit: 03/22/2018) Propellerhead only used two encoder ring display modes for their remote maps, even though there’s support for five or so modes. Using different LED encoder modes wasn’t working when the MJ Enhanced Universal Control was first released (no idea why, I typed the codes correctly), but now I’ve gotten them working.
I’ve changed most knob LED types to be one single LED. This makes much more sense visually as a knob’s default “home” position may be at 2 o’clock, yet showing an LED “bar” style display that fills up from left to right doesn’t match contextually.
Remapped layouts and added various buttons
I remapped a lot of the goofy layouts. Now the dim -20dB is on the group button, click on the click button, preclick to the right of the click button (confusingly called the “solo” button), loop on the cycle (loop) button, undo on the undo button and redo appearing beneath it on the enter button (the mixer has no “redo” label button anywhere).
I added the most useful functionality Reason’s code allowed for while focusing on trying to make the button labels make logical sense.
Automation write / “WRITE” (self-explanatory)
Alt take / “ALT” (self-explanatory)
Overdub / “OPTION” (think ”O” for “Overdub”)
Auto-quantize / “LATCH” (MIDI notes “latch” in place)
Tap Tempo / “TOUCH” (“touch” repeatedly for “tempo”)
Return and send FX meter LEDs added
(Edit: 03/22/2018) I replaced the “send 1” controls of the general section to control as return FX meter LED for the encoder LED rings.
In the remote map, you can edit the level, pre and on / off controls of all 8 sends of a channel when in channel select mode (“SELECT” – “SEND” buttons). But when in the general “send” mode, before you could only control the send controls of just “send 1” for all 8 channels at once. I never found this useful. When would you ever want to control just send 1 across 8 channels at once?
Adding in return FX meter LEDs make much more sense. This is really awesome as you really never know what’s going on with those LEDs because they’re not visible most of the time. Before adding this function, I never even knew how the LEDs functioned or how useful they could be for visualizing what’s happening with the FXs.
Rotary LED’s turn off when a rotary has no function
(Edit: 03/22/2018) I was able to get the rotary LED’s to turn off their display when only the “REC” button is being used. The remote map system defaulted to having the one LED encoder light on when nothing was assigned, which made it confusing to know when a knob had no function.
VU meters in every section
Propellerhead only had channel VU meters in three of the five sections. Now, every section displays the channel VU meters as they should.
VU out meters
(Edit: 03/22/2018) I added VU out meters to the Plug-in’s 8th and 9th channel LED encoder rings. Propellerhead had master out VU displaying on the X-Touch’s actual VU meters for two sections, which was causing things to crash. This horrible code and features have been removed and I was able to add back the correct functionality into the encoder rings.
Doesn’t crash the control surface link, doesn’t activate (X-Touch specific) annoying channel meter clip LED’s and it doesn’t take away VU meters of the individual channels. Propellerhead should really give me a lifetime free upgrade license to Reason for doing all this, right?
100% of all functions have text descriptions
When hitting the “select” button for a channel and going into the different modes, when a knob has a function, it’s clearly labeled what it does. Everything is called out.
Some features did more harm than good
Just because something can be mapped to a button, doesn’t mean it should. Car manufacturers could place additional buttons to control the car’s horn in the back seats… but they don’t do it because some things do more harm than good. Same is true with Reason.
Here’s some of the things that could be placed and why they weren’t.
Changing mastering / device / FX patches
There’s no labeling for these buttons and, in testing, songs were nearly ruined accidentally changing patches without realizing the wrong buttons were hit before saving projects. Nightmare.
There is a “SAVE” button on the mixer but this is way too dangerous of an option to have as a one-touch button. Since I can’t add in a two button press combination sequence, there’s no save button functionality. You’re welcome.
MIDI track mute / solo
This is one of those features that seems like it would work well, but it doesn’t because of the nature of having to be on a selected track in the sequencer and issues with multiple MIDI lanes, etc..
There’s no dedicated button label for it and, in testing, MIDI tracks were constantly getting accidentally muted and unmuted so I removed MIDI track mute / solo functionality.
Tempo Up / Down
Seems like it would be a useful function, but there’s no button labeled and, in testing, it was too easy to accidentally change the tempo.
Tap tempo, on the other hand (“TOUCH” button) makes more sense as pressing it once or even twice in a row accidentally won’t change the tempo. And if using the tap tempo feature, having a button to press is more ideal than clicking a mouse or tapping a touchpad.
Target Track Enable Monitoring
This would be useful on the mixer, no doubt… but accidentally activating this feature can cause screeching feedback and there’s no clear button label to assign this to (making accidental presses even more likely).
Automation As Performance Controllers
This is the feature where automation data will be inside MIDI note clips instead of outside. I hate automation data being inside MIDI note clips and, since there’s no clear button label for this, it isn’t included.
Things Propellerhead didn’t code support for at all
Color-changing digital scribble strips
This one isn’t on Propellerhead. Color changing scribble strips aren’t part of the Mackie protocol and X-Touch’s only show multi-colored channel strips when connected to xAir mixers *rolls eyes* and no other DAW’s. For all intents and purposes, pretend the X-Touch doesn’t even have color changing digital scribble strips.
Dedicated bus control
There’s no function in Reason to switch to just bus channels. Too bad… Reason is begging for behind-the-scene updates!
Green selection buttons (X-Touch specific)
(Edit: 01/16/2019) The selection buttons are intended to light up green when you’ve selected a channel to control. They do light up green in Reason, just not when used to select channels (again, a fault on Propellerhead). Too bad, that would help to better see which channel you’re on. It’ll never be updated though.
Keyboard key functions
Same situation here; Reason’s remote mapping can’t assign functions like ”F6” (rack view), “Z” (zoom view), “F8” (tools pop up) or a host of other useful things. (MIDI keystroke translation programs exist but they run like crap and don’t work in most situations. Man-in-the-middle solutions like those from Retouch Control work great however.)
The people on the payroll at Propellerhead are… well, they’re a special group of people. The time display? If something is a minute and 3 seconds long, it should be displayed “1:03”. Or, in other DAW’s, time is displayed on the X-Touch as “001 03” or some (smartly) add nanoseconds “001 03 38“. Makes perfect sense. Propellerhead? They display it as “0 1 3”. It looks and ticks by like it’s at “13” seconds since Propellerhead stupidly didn’t code in any zeros between the “1” and ”3”.
So the time display looks a little confusing at times.
We already know the view changing function keys aren’t available, but there’s also no way to set up view changing directly in the remote map files. In future updates, Reason needs these aspects updated, not more bloated synths.
These features are supported by other DAW’s but Reason lacks general zoom controller support (not just Mackie). Reason needs an overhaul to support things like this.
How to install the MJ Enhanced Universal Control remote map
(Edit: 03/22/2018) Click the link below to download the zip file.
Extract the contents of the MJ_Enhanced_Universal_Control_Remotemap.zip file. Open the “2 MJ Enhanced Universal Control” folder, where you’ll find a “Remote” folder. In a new window, navigate to the location of Reason’s configuration folder. For macOS, it’s Macintosh HD\Library\Application Support\Propellerhead Software\. The files will be hidden on Windows (here’s how to unhide them) at C:\ProgramData\Propellerhead Software\ .
From the “2 MJ Enhanced Universal Control” folder, copy the “Remote” folder to the “Propellerhead Software” folder. This will replace the multiple files needed at once. You’ll be asked for authorization on both Windows and macOS. If Reason was open, either restart it or go to the control surface’s preference area, uncheck “Use with Reason” and recheck it to take effect.