>> you can have absolute minimal latency, but that requires
>> locking the graph against use when it is reordered.
>
>AFAICS, that is not the real reason. If it were, the simple
>solution would be to let the engine continue using a copy
>of the current graph while the new one is being computed and
>the required resources created.
>
>Probably if look you into it deep enough you'll find that the
>necessity to stop processing while new clients are created
>or when the port connection change can be traced back to the
>combined effect of: 
>
>1. only having one JACK-controlled thread in each client,
>2. the synchronous nature of the API calls that modify
>   the graph.

stephane's new OSX implementation (jackdmp) avoids both of these, and
ends up with an extra process-cycle worth of latency. he does exactly
what you suggest above. is it avoidable? i don't know. stephane didn't
seem to think so when we talked about it briefly on IRC. maybe it can
be. 

--p

Reply via email to