|
|
|
@@ -0,0 +1,32 @@ |
|
|
|
JACK2 |
|
|
|
##### |
|
|
|
|
|
|
|
https://travis-ci.org/jackaudio/jack2.svg?branch=master |
|
|
|
|
|
|
|
JACK2 aka jackdmp is a C++ version of the JACK low-latency audio server for |
|
|
|
multi-processor machines. It is a new implementation of the JACK server core |
|
|
|
features that aims in removing some limitations of the JACK1 design. The |
|
|
|
activation system has been changed for a data flow model and lock-free |
|
|
|
programming techniques for graph access have been used to have a more dynamic |
|
|
|
and robust system. |
|
|
|
|
|
|
|
- jackdmp uses a new client activation model, that allows simultaneous client |
|
|
|
execution (on a SMP machine) when parallel clients exist in the graph (client |
|
|
|
that have the same inputs). This activation model allows to better use |
|
|
|
available CPU on a smp machine, but also works on mono-processor machine. |
|
|
|
|
|
|
|
- jackdmp uses a lock-free way to access (read/write) the client graph, thus |
|
|
|
allowing connections/disconnection to be done without interrupting the audio |
|
|
|
stream. The result is that connections/disconnections are glitch-free. |
|
|
|
|
|
|
|
- jackdmp can work in two different modes at the server level: |
|
|
|
- synchronous activation : in a given cycle, the server waits for all clients |
|
|
|
to be finished (similar to normal jackd) |
|
|
|
- asynchronous activation : in a given cycle, the server does not wait for |
|
|
|
all clients to be finished and use output buffer computed the previous |
|
|
|
cycle. |
|
|
|
The audible result of this mode is that if a client is not activated during |
|
|
|
one cycle, other clients may still run and the resulting audio stream will |
|
|
|
still be produced (even if its partial in some way). This mode usually |
|
|
|
result in fewer (less audible) audio glitches in a loaded system. |
|
|
|
|