jack2 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
falkTX bb416c7801 Rename `PortSetDeviceName` to `PortSetDeviceMetadata` 5 years ago
.ci .ci/install-deps.sh: Install legacy development packages. 6 years ago
android Remove FreeBoB backend (superseded by FFADO) 6 years ago
autooptions Update autooptions and move to an own directory 6 years ago
common Rename `PortSetDeviceName` to `PortSetDeviceMetadata` 5 years ago
compat Handle alloca properly 6 years ago
dbus Fix client UUID gen, and some warnings (#440) 6 years ago
example-clients Fix client UUID gen, and some warnings (#440) 6 years ago
linux Rename `PortSetDeviceName` to `PortSetDeviceMetadata` 5 years ago
macosx Rename `PortSetDeviceName` to `PortSetDeviceMetadata` 5 years ago
man Add man/jack_property.0 from jack1 6 years ago
posix Set fSocket to -1 after close on an error to prevent a double close. 5 years ago
solaris memops-alsa_bad_sound-fix-1 (#426) 6 years ago
systemd systemd/jack@.service.in: Templating PREFIX, so it can be set from the build system. 6 years ago
tests Add script to test jack_property (Metadata) 6 years ago
waflib Update to waf 2.0.12 6 years ago
windows Rename `PortSetDeviceName` to `PortSetDeviceMetadata` 5 years ago
.gitignore Ignore *.pyc files. 9 years ago
.travis.yml .travis.yml: Switching to correct flag to install systemd units (--systemd-unit). 6 years ago
.wafupdaterc Update to waf 2.0.11 6 years ago
AUTHORS.rst Update AUTHORS (mgeier, #458) 6 years ago
ChangeLog.rst Prepare for release 6 years ago
README.rst README.rst: Fixing typo. 6 years ago
README_NETJACK2 Add JackNetMaster::LatencyCallback. 12 years ago
doxyfile.in Remove FreeBoB backend (superseded by FFADO) 6 years ago
jack.pc.in Import waf.diff patch sent Stephane Letz 16 years ago
svnversion_regenerate.sh drop unnecessary OLDPWD stuff 10 years ago
waf Update to waf 2.0.12 6 years ago
wscript wscript: Setting SYSTEMD_USER_UNIT_DIR to None, if the option is not set (the options seem not to be available in build later on.... hopefully conf.env is. 6 years ago

README.rst

`JACK2 <http://jackaudio.org/>`_
################################

.. image:: https://travis-ci.org/jackaudio/jack2.svg?branch=master
:target: https://travis-ci.org/jackaudio/jack2

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 at 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.

- 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.

- 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.

- 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.