[linux-audio-announce] draft announcment

Taybin Rutkin taybin at earthlink.net
Tue Apr 20 20:38:52 EDT 2004


JACK is a low-latency audio server, written primarily for the GNU/Linux
operating system. 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 (ie. as normal
applications), or can they can run within the JACK server (ie. as a

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.

JACK is available at http://jackit.sf.net


Fixed bug when using non-dithered 16bit output.

Fixed crashing bug with JACK clients that use SSE.

three new functions in JACK API:
	int jack_client_name_size(void);
        int jack_port_name_size(void);
        int jack_port_type_size(void);
These sizes are inclusive of the final NULL character.

Automatic server startup (more on this below).

Added OSS JACK driver.

New option -m,--no-mlock:
	Do not attempt to lock memory, even if --realtime.

New option -p,--port-max n:
	Set the maximum number of ports the JACK server can manage. 
	The default value is 128.

New option -T,--temporary:
	jackd will exit when last client disconnects.

Configuration process reworked for better portability.  This has
	helped jack run on MacOSX and FreeBSD.

Added JACK thread initialization callback.


libjack will now try to automatically start jackd when jack_client_new()
is called if it isn't already running.  Because this changes the
semantics of jack_client_new() and confuses certain apps, the new
semantics apply if and only if $JACK_START_SERVER is defined and
$JACK_NO_START_SERVER is not defined.  This will change in future

libjack determines the proper arguments to pass to jackd by first
checking ~/.jackdrc, failing that /etc/jackd.conf, failing that
hardcoded strings that we've determined to be the most likely to work on
a variety of platforms.

The format of ~/.jackdrc and /etc/jackd.conf is as follows:
absolute path to the jackd or jackstart binary to be executed, followed
by the regular arguments all on one line.  libjack will automatically
insert the --temporary argument so that any auto started jack server
will exit when the last client has disconnected.

If libjack is unable to start the server, jack_client_new() will fail

We hope that this new functionality will make using JACK easier and more
seamless with the JACK client.


More information about the Linux-audio-announce mailing list