A daemon that exports an ALSA midi client that speaks over a private USB connection to a studio control surface.

Source Code Download.

The Novation series of control surfaces, such as the "ZeRO II" that I have ship with a separate program called "Automap" which is not supported for Linux.

The control surface can be used with and without Automap, but without it there is no simple way to control any of the LEDs on the control surface. The other control surfaces I own, which include a Korg NanoKonrtol2, a Yamaha 02R (DAW layer) and a Bheringer BCF2000 all simply respond to control change information sent to them to update their status LEDs, encoder rings and motorised flying faders (or pickup points for non-motorised faders).

When using the Novation device in its 'advanced mode', which means without using the Automap program on an ancillary computer, it will updates its leds and indicators as you adjust the associated local buttons. But as these are commonly used for track cuts and solos and record readys and so on, that are updated from other places as well, such as the GUI of a DAW or an automation track on a sequencer, they will soon become meaningless if they cannot be remotely controlled.

To solve this problem I contacted Novation by phone and email a few times. It was not clear to me that the person who handled my question understood the problem, but he did kindly send me a Novation internal document that describes the Automap protocol between the surface and the required external program. I soon realised I could quickly write my own basic version of the Automap program, sufficient to bring the Novation product up to the same basic operational level of my other control surfaces. It turned out that very little information was needed from the protocol description document, since all the basic exchanges are completely straightforward control change midi commands. However, there are several exclusive messages that would have had to be extracted using a USB sniffer program in the absence of the document. The exclusives I ended up using were to update the LCD display on the control surface and to put it into Automap mode automatically (although the latter can be done with a front panel hard button and also with a particular control change message too).

Article continues on DJG TECHNOTES BLOG SITE