The actual
JACK process cycle works like this:
jd->A->B->jd
How?
How can B start immediately after A without ANY
jackd running in between?
(I am talking about external clients)
yes, its cute eh?
to expand slightly on steve's answer: the clients have opened a pair
of FIFO's that connect them into the graph. they block on read() of
one of them and when they are done with process(), they write() to the
other. they don't know who they are waking up (could be jackd, could
be another client).
of all the ideas in JACK, this is perhaps the "cleverest" :)
--p