xmms-jack - jack output plugin for xmms --------------------------------------- 6/10/2007 * Bump revisions up to 0.19 * 0.19 released * Merge in latest bio2jack. Fixes for popping at high volumes due to integer to floating point converstion. Reported by rdoursenaud@users.sourceforge.net. Changes to Jack in 2003 brought this problem out but since default volume was low its likely that high enough values weren't seen until the 0.18 release. 6/10/2007 * Bump revisions up to 0.18 * 0.18 released * Merge in latest bio2jack. Fixes for pthread_mutex_init() on Mac platforms, default volume at 100% to reduce the chance of clipping. Switch from using jack_client_new() to jack_client_open() for more flexibility in how the jack client is opened. 6/17/2006 * Bump revisions up to 0.17 * 0.17 released 4/17/2006 * Merge in latest bio2jack. This fixes a bug where we were ensuring the size of a buffer that we weren't using, and not ensuring the size of a buffer that we were using. This was causing crashes with the jack's freebob driver. 2/11/2006 * Bump revisions up to 0.16 * 0.16 released 2/11/2006 * Merge in latest bio2jack. This pulls in changes that make volume adjustment occur immediately as well as changes that reduce the latency inside of bio2jack by reducing the amount of data buffered. 11/15/2005 * Fix a bug where changing channels, format or frequency would result in dozens of ports and connections. We were calling jack_close() when trying to close out and re-open the jack connection, we need to call JACK_Close() to actually close the connection before opening another. 11/7/2005 * 0.15 released 10/30/2005 * Add a dropdown to the configuration dialog that allows the user to select what kind of connection mode they want xmms-jack to be in. This allows users to connect to only the ports xmms is outputting or to skip port connections all together. Feature requested by Rick Wright. * Close and re-open the connection to jack if jack_open() is called with different channels, frequency or format than the current open connection. This fixes a bug where playing stereo and then mono results in high pitched fast songs, or mono then stereo results in slow stereo playback. * Only call JACK_SetVolumeForChannel() for the channels we have. Fixes setting the volume for a second channel if we are outputting mono. * Merged in latest bio2jack that has a handful of fixes 10/29/2005 * Configure should ensure that libsamplerate-dev is installed and report an error if it isn't found * Update Makefile.BMP to include samplerate in CFLAGS and LDFLAGS. Patch from Andreas Sandberg 10/28/2005 * Bumped revisions up to 0.15 * Upgraded to bio2jack 0.8 and merged in appropriate changes * Fixed some compile warnings from signness differences * Applied a partial patch from Andreas Sandberg <andreas@sandberg.pp.se> to fix an issue with jack_free() returning bogus values due to overflow * Applied a patch from Andreas Sandberg <andreas@sandberg.pp.se> to fix issues with compiling xmms-jack for bmp * Add checks for libsamplerate in configure.in and use samplerate cflags and libs in Makefile.am 4/15/2005 * Bumped revisions up to 0.14 * Applied a missed patch for BMP to configure.c 4/10/2005 v0.13 released * Bumped revisions up to 0.13 * Upgraded to bio2jack 0.7 * Added support for the Beep Media Player(BMP), http://www.sosdg.org/~larne/w/BMP_Homepage - Patch from Stanislaw Kulczycki * Updated INSTALL with instructions on how to build for BMP 3/19/2005 v0.12 released * Upgraded to bio2jack 0.6 * Added a call to JACK_SetClientName() with "xmms-jack" as the parameter this will make bio2jack use "xmms-jack" when creating a new jack client so users will see "xmms-jack_XX" instead of "bio2jack_XXXXX" * Bumped revisions up to 0.12 11/29/2004 v0.11 released * Added a configure dialog with a single check button that lets the user enable/disable tracing at run-time. This will let people get debug information without requiring them to recompile. * Updated to bio2jack 0.4 (see bio2jack release notes for info) 9/12/2004 v0.10 released * Fix compile warnings about parameter type mismatch in TRACE() lines * Sync with bio2jack v0.3 to pick up JACK_Write() blocking fix and slightly higher quality volume function. Also has the ability to apply the volume setting as if it was dB of attenuation. * Bump version in about to 0.10 * Bump version in configure.in up to 0.10 * Added checks in configure.in so if we don't find jack/jack.h or if we don't find jack_activate in -ljack then we should report these errors to the user and exit out of the configure script. Thanks to Jim Snyder for reporting this issue with bio2jack, figured I'd apply the changes to xmms-jack as well 4/1/2004 v0.9 * Sync with bio2jack to get the ability to reconnect to a jack server after the connection has been terminated. * Fix bio2jack warnings after -Wall was turned on. * Make bio2jack calls threadsafe(mostly). 2/17/2004 v0.8.1 * Sync with bio2jack to fix the issue where you can pause xmms but the time keeps changing. Unpausing would move the time back to the correct spot. 2/13/2004 v0.8 * Dynamically load the symbols for the sample rate conversion functions in xmms. Turns out the sample rate conversion functions were added in xmms 1.2.8. Many people have older versions of xmms and will get errors when loading the plugin because the symbols won't be found, the plugin won't load because of this. This change won't allow sample rate conversion with older versions of xmms(<1.2.8) but will allow users to use the xmms-jack plugin. So if you had trouble with symbols not being found when you tried to use xmms-jack this change fixes things for you. * Added back the rate mismatch dialog. * Merge in bio2jack changes. Among the most notable is the support for any number of input/output channels and the ability to connect to user defined ports to allow a client to redirect bio2jack output to any jack ports. xmms-jack doesn't use any of this but needed to be updated to use some of the new interface functions. * Shorter url in the about dialog * Discovered that for some reason jack_client_close() is now blocking on shutdown. Jack's pthread_join() to the client thread is where the block appears to be. I haven't been able to figure out what this problem is as of yet but if anyone knows feel free to send me an email. 1/16/2004 v0.7 * Clean up settings for input/effect/output, putting each one of these into its own structure like Xmms's oss plugin does it. * jack_free() should adjust the free space returned by the ratio of the effects to output frequencies. This is to prevent us from saying we have X bytes free, xmms/another plugin sends us X bytes and then we resample this to a higher rate and get X+Y bytes which now won't fit in our free space. Fixes bug with crossfade plugin. * Sample rate conversion via xmms' internal conversion, patch from Vladimir in Moscow Russia * Persistent connections to the jack server if possible so we won't be opening/closing connections for each song. Thanks to Peter Eisenlohr and the xmms-crossfade plugin. * Bio2jack update, no more ERR on buffer underruns that we know will almost certainly always occur * Disable configure button until we have options to configure 12/1/2003 v0.6 * Make versions agree * Bump version up to 0.6 * Fix songs not finishing bug with merge with latest bio2jack changes * Many improvements from bio2jack changes, look at that changelog for more info 11/24/2003 v0.5 * New bio2jack, non-blocking * Other fixes 3/6/2003 - Merged in patches from Philipp Thomas <pthomas@suse.de> * Add missing <sys/time.h> include * Define _GNU_SOURCE to get pthread_mutexattr_settype defined * Fix GCC warnings * Clean up Makefile.am and configure.in 1/7/2003 - Fix continuing to next song problem, update to match with new version of bio2jack, implement effects support. 12/26/2002 - First version of the xmms jack plugin