For Ardour 2, this will walk you through the process of configuring and using Mackie MCU, or a BCF2000 in Logic Control emulation mode.
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
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.
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"/>
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.
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
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.
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.
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.