JACK RELEASE 0.80.0 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 "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. CHANGES: New transport API (details (of a sort) below). new example client for control the transport. ignoring of first xrun on jackd startup. Much more portable across processors (details below). jackd -v (--verbose) now prints useful transport state change information for debugging JACK and clients. Also reports timeout info in seconds, not microseconds now. new dummy driver (along side the existing alsa and portaudio drivers). Removed incomplete Solaris driver. support for asymmetric soundcards (for example, es1968 chip has interleaved stereo for playback but non-interleaved stereo for capture). Now enforces power of two sized buffer lengths. Many minor bug fixes. DETAILS: The new transport API: It has greatly changed; if you're a developer, please see the documentation. But as a highlight: jack_set_transport_info() and jack_engine_takeover_timebase(), (the old timebase master interfaces) now do nothing. Instead, use jack_set_timebase_callback(). Portability: <jack/types.h> typedefs are now defined using the C99 standard fixed-size integer typedefs. These new typedefs are binary compatible with 32-bit platforms, but not 64-bit machines. Programs using printf on these values will get GCC compiler warnings. To suppress the warnings, use the corresponding C99 printf specifications defined in <inttypes.h>. That header is already implicitly included by <jack/types.h>, but can also be included explicitly to maintain compatibility with older versions of JACK without messy #ifdef's. Adding explicit casts will also work, but may suppress future warnings you might want to see. jack_get_sample_rate() now returns jack_nframes_t rather than unsigned long. These are the same on 32-bit machines, but not on 64-bit platforms. These changes were made to accommodate the increasingly popular 64-bit platforms; specifically, the new Opteron with it's 32-bit compatibility mode. 32-bit mode probably won't work, but if all programs are compiled as 64-bit (which Jack supports), it should work fine. Taybin Rutkin