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

PrevNext  Index
DateThu, 02 Jul 2015 17:30:42 +0200
From Tobias Hoffmann <[hidden] at thax dot hardliners dot org>
ToPaul Davis <[hidden] at linuxaudiosystems dot com>
CcJACK <[hidden] at lists dot jackaudio dot org>
In-Reply-ToPaul Davis Re: [Jack-Devel] jack1: jack_transport does not work as master
Follow-UpTobias Hoffmann Re: [Jack-Devel] jack1: jack_transport does not work as master
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
PrevNext  Index

1435851061.6508_0.ltw:2, <55955922.8010706 at thax dot hardliners dot org>