[ardour-users] MMC commands and remote control

Rob Fell robin.fell at ntlworld.com
Thu Mar 10 11:11:03 PST 2005

Gerhard Zintel wrote:


> I'm not sure if the mailing list is
> the right place for it? After your response, I think that we should have a
> starting discussion on the list.

The subscribers of this list probably contain the target audience. 
Unless told otherwise, this seems like the correct place to gather 

So folks - is anyone interested in helping specify the features?

> For me it's the other way round. I have worked with Atmels micros for a year
> now and they seems to be very handy. I've heard that PICs are much more
> complicated to program but this surely is subjective.

What does the programming hardware cost?  A PIC programmer only costs a 
few UKP if you build it yourself.

If this project takes off, it'd be nice to sort out a complete free 
toolchain and PCB artwork - just to make it easy for anyone who wants to 
make their own :)

>>It is relatively easy to expand the digital inputs available to the
>>micro for handling this number of inputs.
> I know that, I have worked already with PCF8574 chips coupled over I2C bus to
> increase the number of in-/outputs.

I was thinking _much_ cheaper than that :)  74HC family mux/demux IC's 
are around 1UKP for 4-5 pieces.

>>The rec enable and automation controls are best implemented as SPST
>>pushbutton switches, and probably need visual feedback too (LED's).
> Don't know what SPST means?

Momentary action (or non-latching) switches don't store any mechanical 
'state' so are ideal for slaving to Ardour.

>>A better option is to use rotary digital encoders - but they are
>>difficult to use when you have many of them (the required sampling rates
>>are surprisingly high to cope with high angular rotational rates).
> I have used one half a year ago and I was not very satisfied with my results.

I've had good results in commercial products, but that was for only a 
few encoders.  In automotive environments I needed 100Hz sampling and 
some serious software filtering :)

> I have build up a MIDI controller to play my B4 organ. I use it to handle the
> drawbars and all the knobs. I've done the controlling with a resistive touch
> panel. If I want to improve the layout (more knobs ...) I make a new
> printing, put it under the touch panel, change a few lines of code, and
> that's it.

I'm not sure if what I have in mind will be truly wierd to use - I'll 
explain a use-case;

Ardour is replaying fader automation, in touch(?) mode.

We reach a point at which we'd like to change the automation.  The 
control surface has been tracking the fader position messages coming 
from Ardour, so placing a finger on the ribbon causes the control 
surface to reference the physical finger position to the fader position.

Moving the finger up/down causes the controller to send messages that 
change the fader position.

>>Have you considered adding MIDI merge functionality?
> In the above mentioned controller, I have implemented to merge two data
> streams (all except sysex messages) to be able to play with two manuals.
> Internally the third data stream (the controller messages) are added too.

I asked because it might be easier to build a 16 channel surface by 
chaining two 8 channel modules.

> So far only http://www.borg.com/~jglatt/tech/mmc.htm
> and the information out of Ardours file Midi.h


>>Does the machine being controlled (Ardour) send any messages
>>back to the controller?
> Yes, if you switch on "Send MIDI Parameters Feedback" and "Send MMC" to ON in
> options editor, it will send it back (that's at least my understanding). You
> can observe the messages sent in Ardours startup screen if you additionally
> switch on the "Trace MIDI output" button. It seems not to be fully
> implemented, there is e.g. no output if you press the Play button.
> With that, it would be possible to read back Ardours output in the controller
> and to have something like a closed loop controll - but to handle all this
> information is much more complicated (in the controller) than to send
> commands only.

Can we get positional data?  A jog-wheel would be really nice....


More information about the Ardour-Users mailing list