[LAD] Details about Mackie Control or Mackie Human User Interface

Len Ovens len at ovenwerks.net
Mon Jul 20 16:25:50 UTC 2015

On Mon, 20 Jul 2015, Takashi Sakamoto wrote:

> Well, are there some developers who have enough knowledgement about MIDI
> messaging rule for Mackie Control or Mackie Human User Interface(HUI)?

Done some of that. HUI is old and basically dead. I do not thiink there 
have been any HUI only control surfaces made for a long time. Anything 
that does HUI also does MCP.

It is (as Paul has said) straight MIDI. The best guide I know of is the 
"Logic Control User's Manual" from 2002. The MIDI implementation starts on 
page 105. The only thing maybe a bit odd is that there are encoders that 
use CC increment and decrement instead of straight values, but any sw 
written for these surfaces is aware of it.

The other thing to be aware of with MCP is that they think in banks. I 
would think that an AI control would be better to just have one midi 
control per controlable. That is, I am not sure that adding MCP to AI 
control makes sense. The MCP is designed for DAW control and does this 
well. Using it to directly control the AI where the user may have one or 
five surfaces (actually three seems to be the top end) means more config 
work, or limiting the user to one surface. Worse, there are MCP control 
surfaces that look like more than one MCP controller, so in that case you 
would be limiting the user to half of their surface.

You will note the use of pitchbend for levels. CC has only 127 values 
which can give "zipper" artifacts. If using CC, the values need to be 
mapped to DB per tick and/or have SW smoothing. The top 50db of the range 
are most important.

While not considered the best implementation, Allen & Heath in the mixers 
use: [(Gain+54)/64]*7F for faders with 0 being off as a special case. I am 
guessing that AI levels would normally be set and forget in any case, not 
levels that would be adjusted as a performance adjustment, though many of 
the AIs are fully equiped enough they can be used as live performance 

You get to make up your own midi map is what it finally comes down to. OSC 
might be a better option as the values can be floats and there is no limit 
to number of controls (Midi has only 127 CCs and some of those are 
reserved). Download and look at the X32 remote SW 
for an example. People are going to control their AI from a software 
application and using MIDI vs OSC does not really change the complexity 
too much. OSC messages are at least somewhat self documenting. OCA, or 
something like it, is fully discoverable and a client application can 
build a gui from the info it provides on the fly (including new bits 
being plugged in... like an ADAT box for example).

Have fun :)

In all seriousness, I am not one of the few people who can deal with 
kernel code or audio dsp code. I have been playing with jack midi... alsa 
midi looked too complex for someone new to coding.

Len Ovens

More information about the Linux-audio-dev mailing list