10.6. Using the Mackie driver for MCU and BCF2000

For Ardour 2, this will walk you through the process of configuring and using Mackie MCU, or a BCF2000 in Logic Control emulation mode.

10.6.1. Connecting Device

Make sure your surface is connected and you know which /dev/snd/midi entry belongs to the device. You can do this by saying cat /proc/asound/cards which should result in something like

 0 [EWS88MT        ]: ICE1712 - TerraTec EWS88MT
                      TerraTec EWS88MT at 0x1140, irq 21
 1 [VirMIDI        ]: VirMIDI - VirMIDI
                      Virtual MIDI Card 1
 2 [BCF2000        ]: USB-Audio - BCF2000
                      BEHRINGER BCF2000 at usb-0000:00:1a.1-1, full speed

in this case the BCF2000 is on /dev/snd/midiC2D0.

While ardour is not running, edit your ~/.ardour2/ardour.rc (and for now etc/ardour2/ardour_system.rc and etc/ardour2/ardour.rc) and add at the top, with the other ports:

<MIDI-port tag="mcu" device="/dev/snd/midiC2D0" type="alsa/raw" mode="duplex"/>

Optionally, there is a way to get udev to assign an attached BCF2000 a consistent name under /dev/ however, by adding the following line to the udev rules. On some systems, these reside in /etc/udev/rules.d/:

KERNEL=="midiC[0-9]D0", ATTRS{product}=="BCF2000", SYMLINK+="midi-bcf2000"

This will cause udev to create a /dev/midi-bcf2000 for any BCF attached to the system, regardless of which alsa card number it gets assigned. Obviously you'd use /dev/midi-bcf2000 instead of /dev/snd/midiC2D0.

See also Writing udev rules

10.6.2. Extenders

The Logic protocol allows the use of extenders or Extender image. Extenders are essentially banks of 8 faders without the jog wheel and buttons. Once the code is fixed, it will be possible to use either the mackie extenders, or BCF2000 units as extenders.

10.6.3. Mackie Mode

If you have a Mackie MCU make sure that you have the following under the <Config> tag in ~/.ardour2/ardour.rc:

<Option name="mackie-emulation" value="mcu"/>

Note

The Mackie must be in Logic Control mode, otherwise the LCD display does not work. To put the unit in Logic Control mode: press and hold channel 1+2 SELECT while turning the unit on and through calibration; and then press the VPOT under whichever mode you wish to use.

In this mode, the button mappings from MCU Overlay are used. Note that many of the buttons have not yet been implemented, mainly because I have no idea what they should do. Suggestions welcome.

10.6.4. BCF mode

If you have a BCF2000 you must add under the <Config> tag in ~/.ardour2/ardour.rc:

<Option name="mackie-emulation" value="bcf"/>

The following are different in BCF mode:

  • 7 of the 8 sliders are used as route sliders, the remaining right-hand one is used for the master slider

  • certain buttons have been remapped from the default Behringer settings, which required either both hands, or one-handed contortions to do simple things like rec-enable or mute a track.

  • The display shows the number of the first switched-in bank or Ar if the first bank is in place.

BCF mode bindings

Strips 1-7 Master Strip Buttons

vpot: pan

button: solo

vpot: jog wheel

button: all solo

LCD display
mute mute shift 1

loop

shift 1: marker

shift 2: punch in

rec session rec shift 2

click

shift 1: jog wheel scrub/shuttle/scroll

shift 2: punch out

slider slider rewind

ffwd

shift 1: jog wheel zoom

home

end

shift 2: save

previous bank

shift 1: previous route

next bank

shift 1: next route

frm_prev (previous marker) frm_next (next marker)

stop

shift 1: remove last capture

play

Table 10.2. BCF mode bindings


10.6.5. Connecting to Ardour

Note

Currently (in 2.0.x and 2.0-ongoing), support for the mackie using alsa/sequencer ports is not working properly. That is, some MIDI messages get through, but some don't. So it's not reliable enough for use. Until that's fixed, you're better off using alsa/raw as documented above.

Start up ardour. Go to Options/Control Surfaces. You should see "Mackie" as one of the menu items. Turn it on. The faders on the surface should jump to the correct positions. The mackie should work as normal, except that any buttons not on the BCF won't work.

10.6.6. Usage

Strips (faders,pots,rec-enable,mute,solo) etc are fairly obvious.

The Jog wheel has various modes:

  • Scroll mode. Part of the Scrub button cycle. The default. Scrolls the playhead. Displays "SC" in the 2 character LED.

  • Scrub mode. Part of the Scrub button cycle. Rate of rotation of the Jog wheel controls the direction and speed of the transport. Displays "Sb" in the 2 character LED.

  • Shuttle mode. Part of the Scrub button cycle. Jog wheel controls speed and direction of transport. Displays "Sh" in the 2 character LED.

  • Zoom mode. Toggled by the Zoom button. Mutually exclusive with the Scrub cycle. Jog wheel controls zoom level. Displays "Zm" in the 2 character LED.

When holding ffwd or rew, the Jog wheel will adjust the speed.

frm_next and frm_prev will jump to next or previous markers. Markers can be set at the current playhead position with the marker button.

The pot will pan single panners, and linked stereo panners. It won't pan unlinked stereo panners, or 3 or more channel panners.

10.6.7. Thanks

Thomas Vecchione for help debugging the mackie LCD display, and functionality suggestions.

Giso Grimm for help debugging various BCF issues, and functionality suggestions.

Josh Parsons for the udev configuration and links.

Various other people who provided good bug reports and suggestions and feedback.