MACKIE CONTROL UNIVERSAL EMULATION VIA BEHRINGER CONTROL SURFACE PRESETS

Art Hunkins
www.arthunkins.com
abhunkin AT uncg DOT edu
August 2007

The Behringer BCF2000, BCR2000 and Nano are fairly unique among control
surfaces: 1) they permit programming of multiple pots/sliders as pitch bend
controllers; 2) they include a set of endless rotary encoders. In addition,
the encoders can issue MIDI messages in MSB (Most Significant Bit) mode.
(Behringer calls this "Relative Mode 3".)

These features are important because emulation of the Mackie Control
Universal (MCU) requires them, and MCU is a powerful, standard control
surface implemented by most DAW's. The accompanying sysex files are *user
presets* for these Behringer controllers, that partially, yet directly
emulate the MCU. Other emulations require various data conversion processes
such as those done by the MIDIOx VBScripts described in a companion
document, "Control Surface Emulation of the Mackie Control Universal"
(http://www.arthunkins.com/articles.htm; there, a large number of generic
and specific scripts are described - scripts that convert data from a range
of control surfaces.)

In comparison to other methods of interfacing these control surfaces to
DAW's, the current implementation has the following advantages: 1) to the
best of my knowledge, it is multi-platform; 2) it runs without the aid of
any utility program - and as a result runs fastest; 3) it works identically
with *all* DAW's that natively interface with the popular MCU; 4) it
emulates more individual controls than do native DAW interfaces for these
surfaces (native interfaces are usually limited to faders and/or VPots/
pans).

The user presets for both *BCF2000 and BCR2000* - a single preset for each -
can be installed in any desired location. Once installed, the user has only
to select the preset. (See end of article for info on two new presets,
BCF2MCU+.syx and BCR2MCU+.syx - which add some capability, and a bit of
installation complexity, to those described here.)

The following MCU controls are emulated: top row of encoders = VPots;
encoder ("press" switch) group 1 = Mute, group 2 = Solo, group 3 = Rec/Rdy
(Arm), group 4 = VPot Switches. The top row of buttons = Select. The next-
to-top row of encoders on the BCR2000 = 8 faders (on the BCF2000 the faders
= 8 faders!) On the BCR2000 only, the last encoder of the third row down =
Jog Wheel, while the final encoder of the bottom row = Master Fader. (The
remaining encoders do nothing.)

The bottom row of buttons (left to right) = Fader Bank Left and Right,
Channel Left and Right, Cursor Left and Right, Zoom(Shuttle) and Arrange
Record. The group of 4 buttons at bottom right are Transport controls: (top)
Rewind and Fast Forward, (bottom) Play and Stop.

The *Nano* implementation comes as a series of 5 presets, which must be
installed in successive locations. (As seen below, they may be constituted
in groups of 1 to 5 presets.) In addition, they may be set up to control
either 4 or 8 channels. (The Nano only has 4 encoders; 4 channels
particularly suits Ableton Live's LE [Light Edition], which is limited to
this number.)

Preset (sysex file) 1 implements the following MCU controls: encoders =
VPots 1-4; encoder pushbuttons = Mutes 1-4; buttons = Solo 1-4. Preset 2
implements the same groupings, but for channels 5-8. Preset 3: encoders =
Faders 1-4; encoder buttons = Rec/Rdy 1-4; buttons = (Channel) Select 1-4.
Preset 4: same as preset 3 except for channels 5-8.

Preset 5 is different: encoders 1-2 are inactive, while encoder 3 = Jog
Wheel and encoder 4 = Master Fader. Encoder buttons = Arrange Record,
Zoom(Shuttle), Cursor Left and Right, respectively. The buttons = remaining
Transport functions: in order, Rewind, Fast Forward, Play and Stop. (Note
that in this preset, the Jog Wheel serves nicely as Cursor Up and Down.)

All the following sequences of files/presets make sense: file 1; files 1 and
2; 1 and 3; file 3; files 3 and 4; 1 and 5; 3 and 5; 1, 2 and 5; 3, 4 and 5;
1, 3 and 5; 1, 2, 3 and 4; 1, 2, 3, 4 and 5.

When multiple files are installed, the different groups of functions
(presets) are accessed simply by pressing the Preset back and forward
buttons. Furthermore, since the "pots" are endless rotary encoders, all
current values are "remembered" as you switch among presets; no "skipping"
is involved.

You can transfer these sysex files to your unit with any sysex transfer
utility, including the one included here (Sysex Loader - Windows only) by
Royce Craven. Simply load the sysex file, and after checking for MIDI out
from your computer to Behringer, Send the transfer. When it is finished,
move the Behringer's Preset buttons to the location you desire and *press
Store twice*. Repeat for as many presets as you wish to transfer - for the
Nano, making sure the locations are contiguous.

The above is a one-time procedure. Your Behringer control surface is now
ready to emulate the Mackie Control Universal - with any DAW, whenever you
turn it on. Just be sure, in your DAW, to select the Mackie Control
Universal as your MIDI control surface input.


BCF2MCU+.SYX AND BCR2MCU+.SYX: ADDED CAPABILITY

These two new presets are identical to those described above, except that
they add four functions assigned to the Store, Learn, Edit and Exit keys
(collectively referred to as "the function keys"). The assignments are
these: Store = Cursor Up; Edit = Cursor Down; Learn = Scrub (note 101); Exit
= Flip (note 50).

Installation is a little more complex because, since Store is reprogrammed,
it is not available to actually store the preset. This is no problem if you
wish to store to *preset 32*, which the file does by default.

To store either sysex to *preset 1-31*, however, either do the following in
any sysex editor, or see below (for an easier way in Windows): scroll to the
bottom of the file displayed in hex format, each byte separated by a space.
Close to the end, locate the two bytes before the final byte sequence "F7
F0" (these are originally "33 32"). To specify a preset other than #32, you
must edit these two bytes.

The *second digit* of each of the bytes equals a digit in your two-digit
preset number. The default bytes, "33 32", produce a preset of "32" (the
highest legal number, and empty by factory default). Edit these to get your
desired location. Examples: "30 31" = 1; "30 39" = 9; "31 30" = 10; "32 35"
= 25. Save your revised preset and transfer it as usual. You'll not need to
press Store at the end; you will automatically end up at your selected
preset.

In Windows, there is now an easier way: do your transfers with Royce
Craven's Sysex Loader (included in this package). His utility permits you to
specify the BCR or BCF location (1-32) you want without using the Store key
at all. (This feature is especially handy when "Store" is unavailable.) One
minor quirk: these two enhanced presets actually store *both* to preset 32
and the location you select.
