[ardour-users] Observations on Mackie Control Protocol using a MCU Pro

John Anderson ardour at semiosix.com
Tue Jul 3 10:09:56 PDT 2007

On Mon, 2007-06-11 at 21:36 -0400, Thomas Vecchione wrote:

The best way right now to handle the mcu port is to define is as an
alsa/raw port pointing directly to the /dev/snd/midiXXXX entry. Last
time I checked, it's necessary to change it in etc/ardour2/ardour.rc and
ardour_system.rc as well.

> On the Mackie, buttons are labeled by default a bit different than the 
> BCF I believe.  The transport controls work fine, and Mute/Solo/Rec 
> work, although you need to press and hold SELECT while pressing those 
> buttons for them to latch.  Pan also seems to work fine.  Past that 
> however and things get a bit confusing.

By default the code assumes BCF2000 mode - there are more of them
around. This remaps the various controls to make the BCF usable. To
enable mackie mode, make sure the following line is in your ardour.rc

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

It's probably in there anyway, with a value of "bcf". If not just add
it. Hopefully that will sort out some of the weird mapping things ;-)

> Also, and PLEASE correct me if I am wrong on this, but there doesn't 
> seem to be any way to map BUS faders to the Mackie that I can see.

Hmm. They should behave just like tracks, ie they're automatically
recognised and mapped. Something's wrong if that doesn't happen.

> I would be MORE than willing to compile a list of what button goes with 
> what midi control signal to implement much more of this console and take 
> full advantage of it if it could get implemented, and would truly 
> appreciate it in fact, as with the way it stands at the moment, its 
> functionality is kinda limited to me unfortunately.  I am starting to 
> look at the code, but find it hard to find a good starting place that 
> deals with just the Mackie control protocol in it so a good starting 
> location to work from for this I won't complain about, even if I am not 
> sure how much time I am going to have soon for programming.

The midi values aren't the issue. The issue is this: what should the
(unapped) buttons actually do in ardour? Good ideas welcome.

If you'd like to look at code, these are good places to start:

- for background: libs/surfaces/mackie/scripts contains
mackie-controls.csv. I've used ruby to do code generation from these to
the c++ files. It's not particularly easy right now though. Some scons
rules would be nice. Anyway, hopefully this contains all the possible
buttons so it won't need to be modified.

- more importantly: mackie_control_protocol.cc from line 1047 has the
implementations of the buttons. mackie_button_handler.* defines all
possible buttons, and mackie_surface.* contains the mcu-specific setup


More information about the Ardour-Users mailing list