JACK is a low-latency audio server. It can connect a number of different applications to an audio device, as well as allowing them to share audio between themselves. Its clients can run in their own processes (i.e., as normal applications), or can they can run within the JACK server (as a "plugin"). JACK is different from other audio server efforts in that it has been designed from the ground up to be suitable for professional audio work. This means that it focuses on two key areas: synchronous execution of all clients, and low latency operation.
|Tags||multimedia Sound/Audio Software Development Libraries Application Frameworks Capture/Recording|
|Operating Systems||POSIX Linux|
Release Notes: Three new functions were added in JACK API. Automatic server startup was implemented. An OSS JACK driver was added. A new option, -m/--no-mlock, prevents attempts to lock memory, even if --realtime is used. A new option, -p/--port-max n, sets the maximum number of ports the JACK server can manage. The default value is 128. A new option, -T/--temporary, causes jackd to exit when the last client disconnects. The configuration process was reworked for better portability, which helps jack run on Mac OS X and FreeBSD. A JACK thread initialization callback was added.
Release Notes: The ALSA driver reports the actual sample rate, not the requested sample rate. This release handles hardware where playback and capture rates differ better. It has support for the native endian S24_3 format used by USB soundcards. Calls to jack_error() when jack_client_new() failed because the server was not running have been eliminated. Other calls to fprintf() in libjack have been eliminated. This release won't try to compile iec61883 if libraw1394 is below version 0.10.0.
Release Notes: This release has a new thread design and freewheeling mode. Portaudio runs on Linux.
Release Notes: There is a new transport API, and a new example client for controlling the transport. The first xrun on jackd startup is ignored. It is much more portable across processors. jackd -v (--verbose) now prints useful transport state change information for debugging JACK and clients. It also reports timeout info in seconds, not microseconds. There is a new dummy driver. The incomplete Solaris driver has been removed. Support has been added for asymmetric soundcards (for example, the es1968 chip has interleaved stereo for playback but non-interleaved stereo for capture). It now enforces power-of-two-sized buffer lengths. There are many minor bugfixes.
Release Notes: Jack no longer sends event messages to clients not yet running a dedicated JACK thread. More portable/forgiving #defines are included in the headers. A new --dither=none option was added for scripting help. Transport is initialized to "Stopped, frame zero" when jack is started, and some documentation updates were made.