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.
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
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.
Mackie Mode If you have a Mackie MCU make sure that you have the following under the <Config> tag: <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 original mappings are used. Note that many of the buttons have not yet been implemented.
BCF mode If you have a BCF2000 you must add under the <Config> tag: <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 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 previous bank shift 1: previous route next bank shift 1: next route frm_prev (previous marker) frm_next (next marker) stop play
Connecting to Ardour Currently, support for the mackie using alsa/sequencer ports is borked. 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.
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.
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.