[ardour-dev] Re: [Alsa-devel] Tascam US-224/428 MMC: Work in progress...

Rui Nuno Capela rncbc at rncbc.org
Wed Jul 28 09:24:37 PDT 2004

Hi Karten,

(about alsa-tools/us428control patch...)

> works fine here during a first test with us428 @ latest ardour
> 0.9beta18.4:
> Transport buttons and lights do as expected except the green PLAY light
> doesn't burn if I start playback from within ardour.

The fact is that ardour is not sending the MMC-Play command when one
starts playback in it. Don't know why, but aparently is ardour's fault.
I've been digging on ardour source but didn't reach the culprit. AFAICT,
it's supposed to send a MMC-Play (or a MMC-DeferredPlay, which
us428control reads the same) when the transport is being started.

Does anyone on ardour-devel would like to comment?

If only ardour would actually send that missed MMC-Play command, the LED
would be lit exactly as happens on the other way around: pushing the PLAY
button on the us-224/428 control surface. Actually, when you push the PLAY
button, the corresponding LED gets on and a MMC-Play command does actually
get sent out. Ardour then responds graciously by starting playback :)

> Position scrolling with wheel acts peculiar: first as expected, then after
> having stoped wheeling the cursor sort of repeats its last movement.
> Didn't dig, so don't know who is to blame.

Yep, I notice similar behaviour, with ardour playhead skipping back and
forward, now and then, if not always :)

I guess that's most likely due to something as a race condition between
ardour and us428control: by turning the jog wheel a MMC-Locate command is
sent to ardour, based on an internal absolute wheel position; then ardour
updates its playhead and sends its own MMC-Locate back to us428control,
which updates that very same wheel position accordingly.

The problem is obvious: sometimes you turn the jog wheel quite faster then
ardour's MMC-Locate feedback, causing some stumbling on the playhead
cursor behaviour.

Gotta solve this race but can't figure how right now. Any suggestion?

Of course this happens only if ardour and us428control are wired as a
MIDI-MMC closed loop, which will be perfectly normal IMO.

> Fine stuff, thanks Rui!

Thanks to you too, Karsten.

> P.S.: patch is CVS ready from my point of view, functionality wise.

Yes, I think so. Given that wheel/locate annoyance it's not being
considered a showstopper ;)

rncbc aka Rui Nuno Capela
rncbc at rncbc.org

More information about the Ardour-Dev mailing list