[Jack-Devel] jack1: jack_transport does not work as master

Tobias Hoffmann lfile-list at thax.hardliners.org
Thu Jul 2 17:30:42 CEST 2015


On 02/07/15 15:38, Paul Davis wrote:
> jack_transport is not intended to act as a the time master.
Well, comparing example-clients/transport_client.c and 
tools/transport.c, I'd say the one big difference between the two is 
that tools/transport.c (aka jack_transport) can act as a *simple* 
timebase master...

> providing BBT information requires some kind of tempo map. This is
> beyond the scope of jack_transport.
Sure, if I need a more sophisticated tool, I'll use one (or write one 
myself).
Thankfully, jack provides a lot of small command line tools for simple 
tasks.
That's what I also expected from jack_transport. And with jack2 the same 
jack_transport does work as a timebase master (with a "trivial" tempo map).

But the real issue here is a completely different one:
Does jack_set_timebase_callback() also require jack_set_process_callback()?

jack_transport (which is shipping with jack1) assumes that 
jack_set_process_callback is not required -- which matches jack2's behavior.
But for jack1 the timebase callback is only called, when I add a process 
callback (just return 0;).

Either jack1/libjack0 is wrong to also require the process callback, or 
transport.c is wrong to assume that it's not needed (because it does not 
process audio).

AFAIUI jackaudio.org/api does not clearly say that the process callback 
must be non-NULL to become a timebase master, although I could see why 
it might in fact be necessary (for a certain implementation).

   Tobias





More information about the Jackaudio mailing list