Changes between 0.4 DrKosmos+WIP+TEST3 and 0.5 DrLecter

 Release date: 2008-06-15
 Authors contributing to this release: 1
 Number of changesets: 1
 Number of files in this release: 673

 Anders Waldenborg:
  * BUG(1985): Add hack to GVFS plugin to handle local files with # sign.



Changes between 0.4 DrKosmos+WIP+TEST2 and 0.4 DrKosmos+WIP+TEST3

 Release date: 2008-06-11
 Authors contributing to this release: 3
 Number of changesets: 6
 Number of files in this release: 673

 Anders Waldenborg:
  * BUG(1982): Change default priority for file:// scheme in gvfs plugin.
  * BUG(1984): Fix returnvalue of gvfs's seek method
  * OTHER: Add note about alphabetic sort in AUTHORS.

 Florian Ragwitz:
  * BUG(1981): Make gvfs set lmod and size as int instead of string.
  * BUG(1983): Make gvfs report size for files, not directories.

 Thomas Frauendorfer:
  * BUG(1973): Change Playlist::currentPos to return Dict.



Changes between 0.4 DrKosmos+WIP+TEST1 and 0.4 DrKosmos+WIP+TEST2

 Release date: 2008-06-10
 Authors contributing to this release: 1
 Number of changesets: 1
 Number of files in this release: 673

 Anders Waldenborg:
  * OTHER: Fix ip et reports to.



Changes between 0.4 DrKosmos and 0.4 DrKosmos+WIP+TEST1

 Release date: 2008-06-10
 Authors contributing to this release: 21
 Number of changesets: 367
 Number of files in this release: 673

 Alan LaMielle:
  * FEATURE(1553): Add ability to show the name of the active playlist in the cli.

 Alexander Botero-Lowry:
  * BUG(1891): Use two arguments for coll and namespace in Reference instead of splitting
  * OTHER: add --with-pkgconfigdir to waf

 Anders Waldenborg:
  * BUG(1095): Do not require glib 2.14, but use it if present (based on Erik Massop's patch)
  * BUG(1805): Add xform_media_browse_encoded to pythonbindings.
  * BUG(1819): Fix possible out of bounds access in id3v2 plugin.
  * BUG(1823): Install pkg-config file for xmmsclient-ecore (Patch from Samuel Mendes)
  * BUG(1826): Enforce GLib version 2.8
  * BUG(1838): Add missing unlock on errorpath in playlist_clear.
  * BUG(1881): Do our own GLib version check instead of using glib_check_version
  * BUG(1887): Fix up extern "C" in mac plugin.
  * BUG(1900): Allow PropDict.sources in python bindings to be any sequence.
  * BUG(1904): Fix crash in volume setting/getting in pulseaudio plugin.
  * BUG(1935): Don't let any effect plugins pick up when the converter should.
  * BUG(1944): Compile gme with c++ compiler.
  * BUG(1978): EOS isn't an error.
  * BUG(852): Add songlengths.txt support to sid xform.
  * FEATURE(957): Add airplay output plugin.
  * OTHER: Add --with-custom-version option
  * OTHER: Add extra sanity checking to alsa plugin.
  * OTHER: Add header check for musepack wscript.
  * OTHER: Add typedef for xmmsc_io_need_out_callback_set callback.
  * OTHER: Bump plugin api versions
  * OTHER: CLI uses glib, so use g_malloc
  * OTHER: Cache result of "get next medialib id" in xmms_medialib_session_t
  * OTHER: Change python bindings wscript to use plugin instead of shlib
  * OTHER: Coding style (brace placement) fixes.
  * OTHER: Coding style fixes in nms.
  * OTHER: Every saga has a beginning (add +WIP to version)
  * OTHER: Fix error reporting when plugin missing plugin description.
  * OTHER: Fix notation of keyword arguments in python binding docstrings.
  * OTHER: Fix some function prototypes in header files.
  * OTHER: Fix some pyrex warnings.
  * OTHER: Fix speex warnings.
  * OTHER: Fix those GDestroyNotify/xmms_object_cmd_value_unref warnings.
  * OTHER: Fix xmmsclient.consts
  * OTHER: Link replaygain with libm
  * OTHER: Make segment plugin builtin.
  * OTHER: Make segment plugin initialization never fail (just passthrough on fail).
  * OTHER: Make sure headers in src/include/xmms are selfcontained.
  * OTHER: Minor GME plugin cleanups.
  * OTHER: Minor cleanup of the pyrex code in the python bindings.
  * OTHER: Minor codingstyle fixes in xform.c
  * OTHER: Move effect xform initialization in separate function (based on patch by Deng Xiyue)
  * OTHER: Only compile gme if c++ compiler is available.
  * OTHER: Remove ancient and unused dbus names of error codes.
  * OTHER: Remove const from XMMS_PLUGIN declaration because it screws up c++.
  * OTHER: Remove old unused visualisation
  * OTHER: Remove stupid casts of returnvalue of va_arg
  * OTHER: Remove unused plugin types
  * OTHER: Rewrite xmms_plugin_client_list to use xmms_plugin_foreach
  * OTHER: Rewrite xmms_plugin_find to use xmms_plugin_foreach
  * OTHER: Update nms plugin.
  * OTHER: Use provided functions to figure out if a result is a broadcast in pythonapi
  * OTHER: Use the nice xmms_ipc_msg_store_uint32 when serializing dicts  aswell
  * OTHER: Work around constness warnings in pyrex generated code.

 Bert Wesarg:
  * OTHER: Add --with-bindir configure option

 Daniel Chokola:
  * BUG(1496, 1501): support Windows 2000 and up and do explicit library and header checks
  * BUG(1856): Update Ruby wscript to recognize Ruby 1.9
  * BUG(1856): Use RSTRING_LEN and RSTRING_PTR for Ruby 1.9 compatibility.
  * BUG(1861): copy startup scripts instead of doing nothing when the os doesn't support symlinks
  * BUG(1873): don't try to install objects in pixmaps
  * BUG(1964): cast filesize to guint64 for bitrate calculation
  * OTHER: check that strdup succeeds when setting error string
  * OTHER: cleanup xmmsclient-glib
  * OTHER: delete unused playlist actions
  * OTHER: disable ET on win32
  * OTHER: fix compiler warnings about const-ness in xmmsclient++
  * OTHER: log error when a script fails to run
  * OTHER: remove duplicate XMMS_PATH_MAX from xmms_configuration.h
  * OTHER: remove some ancient ipc declarations
  * OTHER: update gme plugin copyright
  * OTHER: use xmmsc_result_iserror instead of checking for XMMS_ERROR_NONE
  * OTHER: whitespace fix in wscript

 Daniel Svensson:
  * BUG(1518,1825): Make sure avformat doesn't fail for too old/new versions.
  * BUG(1561): Add support for additional id3 tags.
  * BUG(1668): s/xmms_xform_privdata_/xmms_xform_auxdata_/g
  * BUG(1807): Use in bld.env() instead of bld.env_of_name('..') in wscripts.
  * BUG(1810): Only build xmms2core library on windows.
  * BUG(1814): Put XMMS_VERSION in xmms_configuration.h instead of a cmdline define
  * BUG(1818): Make icon an object on win32 to prevent rebuilds.
  * BUG(1876): Use xmms_error_set instead of xmms_log_fatal in xmms_ao_write.
  * BUG(1916): Emit playlist position _after_ emiting playlist insert.
  * FEATURE(1824): Add volume controls to PulseAudio.
  * OTHER: Make scary mac xform code less broken.

 Dave Moore:
  * OTHER: Added missing method Playlist::remove to C++ bindings (thanks to Dave Moore).

 Deng Xiyue:
  * BUG(1895): improve cue errorchecking by checking index for validity
  * FEATURE(1311): Add segment effect (startms/stopms handling)

 Erik Massop:
  * BUG(1095): Make xmms2d handle -h.
  * BUG(1292): Fixed a typo in cmd_status.c.
  * BUG(1566): Remove redundant "size" attribute on idlists.
  * BUG(1889): Ability to move n+1 track into playlist screws everything up.
  * BUG(1893): Fix handling of playlists to "xmms2 add" cli command.
  * BUG(1902): Allow for case-sensitive MATCH and make * and ? the wildcards
  * BUG(1905,1892): Wrap around when relatively jumping in repeat_all, emit error when relatively jumping to < 0
  * BUG(1909): Absolute paths in playlistfiles malfunction
  * BUG(1914): By default enable effects on registering
  * BUG(1914): Streamline effect-enablement
  * FEATURE(1470): Add xmmsc_playlist_add_idlist and make cli's addpls use it.
  * FEATURE(1471): xmms2 addpls does not take a medialib playlist name
  * OTHER: Create collquery-aliases in a possibly more efficient order.
  * OTHER: Fix a warning introduced in 01c0fceed53e6ead28fdadc354024fd6c495e017
  * OTHER: Improve Sqlite indices, and make sure they can be used.
  * OTHER: Use GINT_TO_POINTER for a forgotten cast.
  * OTHER: Use subqueries for ordering instead of LEFT JOINs.

 Florian Ragwitz:
  * BUG(1831): Warn if the perl archdir isn't inside the install prefix.
  * BUG(1831): Warn if the python libdir isn't inside the install prefix.
  * BUG(1831): Warn if the ruby archdir isn't inside the install prefix.
  * BUG(1831): Warn if the ruby libdir isn't inside the install prefix.
  * BUG(1836): Run ldconfig with the lib prefix.
  * BUG(1855): Bind bindata_list to c++.
  * BUG(1855): Bind bindata_list to perl.
  * BUG(1855): Bind bindata_list to python.
  * BUG(1855): Bind bindata_list to ruby.
  * BUG(1855): Implement bindata_list.
  * BUG(1855): Make bindata_list accessable from the clientlib.
  * BUG(1937): Refactor xmms_file_browse.
  * FEATURE(1927): Add name and priority to streamtypes.
  * FEATURE(1927): Make indata priorities configurable via config.
  * FEATURE(1927): Use streamtype priorities to set up the chain.
  * FEATURE(1961): gvfs plugin.
  * OTHER: Add license/copyright exception for ppport.h.
  * OTHER: Another try on implementing perl constant mapping.
  * OTHER: Avoid timesplayed = -1 in mlib.
  * OTHER: Bind bindata_remove to ruby.
  * OTHER: Bind more constants to perl.
  * OTHER: Bind playback_status constants to perl.
  * OTHER: Bump the libxmmsclient SOVERSION to 4.0.0.
  * OTHER: Bump the libxmmsclient++ SOVERSION to 3.0.0.
  * OTHER: Bump the perl bindings version to 0.04.
  * OTHER: Document toggleplay in the cli manpage.
  * OTHER: Don't croak on accessing propdicts with non-existing keys.
  * OTHER: Don't use the deprecated g_io_channel_close.
  * OTHER: Don't use the deprecated g_str{,n}casecmp.
  * OTHER: Fix a POD error in XMMSClientResult.xs.
  * OTHER: Fix some compilation warnings in the perl bindings.
  * OTHER: Fix some formatting in COPYING.
  * OTHER: Fix typo on pulse backend.
  * OTHER: Indenting fix for output.c.
  * OTHER: Make plugin obj.sources a list.
  * OTHER: Make the perl propdict results values overwritable.
  * OTHER: POD fix, making xmmsc_medialib_move_entry available.
  * OTHER: Relicense the samba plugin under GPL >= 2.
  * OTHER: Small simplification to the perl bindings.
  * OTHER: Update AUTHORS email address for Sebastian Noack.
  * OTHER: Update XMMS2 Team copyright statments for 2008.
  * OTHER: Update copyright statements for the perl bindings.
  * OTHER: Update ppport.h.
  * OTHER: Upgrade ppport.h to version 3.14.
  * OTHER: Use g_get_current_time instead of time(2).
  * OTHER: Whitespace fix in src/clients/cli/cmd_coll.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_coll.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_coll.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_coll.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_coll.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_coll.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_coll.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_coll.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_coll.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_coll.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_config.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_mlib.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_mlib.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_mlib.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_mlib.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_mlib.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_mlib.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_mlib.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_mlib.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_mlib.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_other.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_other.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_playback.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_playback.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_playback.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_playback.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_playback.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_playback.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_pls.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_status.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_status.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_status.c.
  * OTHER: Whitespace fix in src/clients/cli/cmd_status.c.
  * OTHER: Whitespace fix in src/clients/cli/common.c.
  * OTHER: Whitespace fix in src/clients/cli/common.c.
  * OTHER: Whitespace fix in src/clients/cli/common.c.
  * OTHER: Whitespace fix in src/clients/cli/common.c.
  * OTHER: Whitespace fix in src/clients/cli/common_unix.c.
  * OTHER: Whitespace fix in src/clients/cli/main.c.
  * OTHER: Whitespace fix in src/clients/cli/main.c.
  * OTHER: Whitespace fix in src/clients/cli/main.c.
  * OTHER: Whitespace fix in src/clients/cli/main.c.
  * OTHER: Whitespace fix in src/clients/cli/main.c.
  * OTHER: Whitespace fix in src/clients/et/xmms2-et.c.
  * OTHER: Whitespace fix in src/clients/lib/xmmsclient-cf/xmmsclient-cf.c.
  * OTHER: Whitespace fix in src/clients/lib/xmmsclient-cf/xmmsclient-cf.c.
  * OTHER: Whitespace fix in src/clients/lib/xmmsclient-cf/xmmsclient-cf.c.
  * OTHER: Whitespace fix in src/clients/lib/xmmsclient-cf/xmmsclient-cf.c.
  * OTHER: Whitespace fix in src/clients/mdns/avahi/mdns-avahi.c.
  * OTHER: Whitespace fix in src/clients/mdns/avahi/mdns-avahi.c.
  * OTHER: Whitespace fix in src/clients/mdns/avahi/mdns-avahi.c.
  * OTHER: Whitespace fix in src/clients/mdns/avahi/mdns-avahi.c.
  * OTHER: Whitespace fix in src/clients/mdns/avahi/mdns-avahi.c.
  * OTHER: Whitespace fix in src/clients/mdns/dns_sd/mdns-dnssd.c.
  * OTHER: Whitespace fix in src/clients/mdns/dns_sd/mdns-dnssd.c.
  * OTHER: Whitespace fix in src/clients/mdns/dns_sd/mdns-dnssd.c.
  * OTHER: Whitespace fix in src/clients/mdns/dns_sd/mdns-dnssd.c.
  * OTHER: Whitespace fix in src/plugins/mad/mad.c.
  * OTHER: Whitespace fix in src/plugins/normalize/normalize.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/backend.c.
  * OTHER: Whitespace fix in src/plugins/pulse/pulse.c.
  * OTHER: Whitespace fix in src/plugins/pulse/pulse.c.
  * OTHER: Whitespace fix in src/plugins/pulse/pulse.c.
  * OTHER: Whitespace fix in src/plugins/pulse/pulse.c.
  * OTHER: Whitespace fix in src/plugins/pulse/pulse.c.
  * OTHER: Whitespace fix in src/plugins/pulse/pulse.c.
  * OTHER: Whitespace fix in src/xmms/playlist.c.
  * OTHER: Whitespace fix in src/xmms/playlist.c.
  * OTHER: Whitespace fix in src/xmms/playlist.c.
  * OTHER: Whitespace fix in src/xmms/plugin.c.
  * OTHER: Whitespace fix in src/xmms/plugin.c.
  * OTHER: Whitespace fix in src/xmms/sample.head.c.
  * OTHER: Whitespace fix in src/xmms/sqlite.c.
  * OTHER: Whitespace fix in src/xmms/xform.c.
  * OTHER: Whitespace fix in src/xmms/xform.c.

 Hugh Davenport:
  * BUG(1809): The ALSA mixer index is now configurable.

 Jonne Lehtinen:
  * BUG(1728): Check if the CD has been ejected before trying to read.
  * BUG(1965): Change Playlist::broadcastCurrentPos to use DictSignal.
  * OTHER: Change ReaderStatus value extraction to use int instead of uint.
  * OTHER: Fix some incompatible pointer warnings.

 Juho Vähä-Herttua:
  * BUG(1817): Import change from libasf fixing potential buffer overflow on some video files.
  * FEATURE(1938): Karaoke plugin for voice removal from tracks.
  * OTHER: Enable seeking with wma files.
  * OTHER: If curl plugin finishes with an error, print the error message.
  * OTHER: Link mp4 plugin to libm to make it work on systems that require it.
  * OTHER: Synchronize the libasf library with latest upstream svn version (r64).
  * OTHER: Update outdated personal description.

 Lucas Adam M Paul:
  * FEATURE(1438): Added GME plugin to support SPC/NSF/GBS files

 Martin Salzer:
  * BUG(1960): normal playlist_current_pos returns now the same result as its broadcast-version

 Sebastian Noack:
  * OTHER: Added PGP fingerprint for Sebastian Noack (wallunit).

 Sebastian Woetzel:
  * BUG(1862): Added broadcast_collection_changed and the COLLECTION_CHANGED_* constants

 Sebastien Cevey:
  * BUG(1723): Changed PLAYLIST_CURRENT_POS broadcast to return a dict containing position and playlist name.
  * BUG(1804): Bind xmmsc_medialib_entry_status_t in bindings (C++, python, ruby).
  * BUG(1907): Allow 'All Media' as pshuffle input.
  * FEATURE(1890): Playlist current_active missing in Ruby bindings.
  * OTHER: Add boundary check in coll_idlist_remove, removed check in server.
  * OTHER: Do not emit PLAYLIST_LOADED signal if loading the active playlist.
  * OTHER: Fix collparsing bug with single-letter property filters.
  * OTHER: Fix collparsing bug with trailing spaces.
  * OTHER: Fix leaks with coll_read_collname.

 Tilman Sauerbeck:
  * BUG(1748): Properly tell the daemon about the formats that we support.
  * BUG(1821): Fixed medialib insertion of our sample track.
  * BUG(1822): Properly emit entry_added broadcasts when using the radd command.
  * BUG(1839): Start the client thread _after_ the client has been registered.
  * BUG(1840): Fixed memory leaks in the error path of xmmsc_ipc_exec_msg().
  * BUG(1842): Fixed a memory leak in xmms_object_emit_f().
  * BUG(1843): Fixed another collection parser leak.
  * BUG(1847): Fixed the signature of xmmsc_result_get_dict_entry_string().
  * BUG(1848): xmmsc_result_get_string() takes a _const_ char** now.
  * BUG(1850): Added return values to xmmsc_{result,coll,}ref().
  * BUG(1851): Fixed a few memory leaks in process_dir().
  * BUG(1852): Optimized the list handling in xmms_medialib_add_recursive().
  * BUG(1853): Don't use g_list_append() in xmms_medialib_entry_to_list().
  * BUG(1854): Handle xmms_object_cmd_value_t resources on the sqlite side only.
  * BUG(1854): Made xmms_object_cmd_value_t refcounted.
  * BUG(1854): Moved the allocation of 'row' outside the loop.
  * BUG(1857): xmms_ipc_msg_put_*() return offsets into the message buffer now.
  * BUG(1858): Improved xmms_ipc_handle_cmd_value's LIST/PROPDICT handling.
  * BUG(1859): Don't copy the default sources for every result.
  * BUG(1859): Reworked xmmsc_source_preference_get().
  * BUG(1859): Store results' prefered sources in a char* array.
  * BUG(1867): Fixed a memory leak in the plugin_list command.
  * BUG(1868): Kill a very serious case of a pascalesque loop.
  * BUG(1875): Fix leak in cue plugin.
  * BUG(1877): Removed the gnome-vfs xform.
  * BUG(1896): Made the config object use a BST instead of a hashtable.
  * BUG(1937): Use fstatat() in xmms_file_browse().
  * BUG(1940): Support nested sections in config.c:dump_tree().
  * BUG(1941): Cleaned up load_config().
  * BUG(1942): Ported the Speex plugin to the xform API.
  * BUG(1952): Properly free 'in_types' in xmms_xform_plugin_destroy().
  * BUG(1953): Fixed two memory leaks in xmms_collection_dag_restore().
  * BUG(1954): Properly free lists in xmms_playlist_{add,insert}_collection().
  * BUG(1958): Made the _DICT IPC type use GTree instead of GHashTable.
  * OTHER: Added a typedef for the client disconnect callback.
  * OTHER: Added missing license header to nulstripper.c.
  * OTHER: Added xmms_strlist_copy().
  * OTHER: Allocate another small buffer on the stack instead of the heap.
  * OTHER: Another bunch of const correctness fixes.
  * OTHER: Applied the prepend & reverse thing to xmmsc_deserialize_dict().
  * OTHER: Cleaned up xmmsc_ipc_result_unregister().
  * OTHER: Code cleanup.
  * OTHER: Constified some arrays.
  * OTHER: Declared chain_setup() static.
  * OTHER: Document why we have to free the xmmsc_result_decode_url() retval.
  * OTHER: Don't set the "size" property on directories anymore.
  * OTHER: Don't use strlen() to find out whether a string is empty or not.
  * OTHER: Don't use x_malloc0() in xmms_ipc_msg_get_{str,bin}_alloc().
  * OTHER: Fixed a double free in xmms_collection_media_filter_match().
  * OTHER: Fixed a memory leak in prepend_key_string().
  * OTHER: Fixed a memory leak in xmms_collection_media_filter_match().
  * OTHER: Fixed memory leaks in list code in object.c.
  * OTHER: Fixed my AUTHORS entry.
  * OTHER: Formalize a maximum length for plugins' "shortnames".
  * OTHER: Hooked up the read and seek methods to xmms_xform_read/seek directly.
  * OTHER: In process_dir(), destroy the list as we iterate it.
  * OTHER: In stats(), don't duplicate static hash table keys.
  * OTHER: Initialize coll_query_alias_t's id.
  * OTHER: Killed a silly g_strdup_printf() user.
  * OTHER: Made source_pref constant.
  * OTHER: Made the "hex" string constant, so it can be put in ro memory.
  * OTHER: Made xmmsc_coll_prop_short constant and declare it static, too.
  * OTHER: Moved coll_autofilter to coll_parse_autofilter().
  * OTHER: Moved the prototype of xmmsc_result_run() to the private header file.
  * OTHER: Pass -1 to g_utf8_strdown() instead of calling strlen() ourselves.
  * OTHER: Properly tear down the plugin list in xmms_plugin_shutdown().
  * OTHER: Removed another unneeded g_strdup_printf() call.
  * OTHER: Removed the declaration for the nonexistant xmms_ipc_msg_append().
  * OTHER: Removed two g_strdup_printf() calls.
  * OTHER: Removed unused function tree_bytes_max_needed().
  * OTHER: Replace g_strdup_printf() by g_snprintf() in a couple of places.
  * OTHER: Reuse the list in xmms_collection_query_ids().
  * OTHER: Set methods.read to xmms_xform_read directly instead of wrapping it.
  * OTHER: Split xmmsc_result_dict_lookup() into two smaller functions.
  * OTHER: Style fix and const cleanup.
  * OTHER: The config object now stores the config filename.
  * OTHER: Tweaked list handling in xmms_object_{emit,cleanup}.
  * OTHER: Tweaked source_match_pattern() to not use g_strsplit() anymore.
  * OTHER: Tweaked xmms_stream_type_parse().
  * OTHER: Use g_new0() where applicable in the daap xform.
  * OTHER: Use g_string_append_c() instead of g_string_append() if possible.
  * OTHER: Use xmms_object_cmd_value_unref() instead of g_free().
  * OTHER: Various const-vs-non-const cleanups.
  * OTHER: sizeof(gchar) == 1, mmhkay?
  * OTHER: xmms_ipc_client_t's thread field is unused, so kill it.
  * OTHER: xmms_plugin_init()'s argument is const.
  * OTHER: xmmsc_strlist.h needs stdarg.h.

 Tobias Rundstrom:
  * OTHER: Updated my PGP key fingerprint

 andersg@0x63.nu:
  * Don't use PYTHON in pyext/pyembed uselib, it is already copied into them
  * Make python extension modules use plugin type. Pick up suffix from distutils



Changes between DrJekyll+WIP+TEST1 and DrJekyll+WIP+TEST2

 Release date: 2007-11-13
 Authors contributing to this release: 2
 Number of changesets: 4
 Number of files in this release: 558

 Anders Waldenborg:
  * BUG(1808): Fix crash in normalize when read fails

 Florian Ragwitz:
  * BUG(1813): Fix perl binding installation.
  * OTHER: Bump up SOVERSIONs for libxmmsclient and libxmmsclient++.
  * OTHER: Make manpages NAME sections parsable by mandb.



Changes between 0.2 DrJekyll and DrJekyll+WIP+TEST1

 Release date: 2007-11-10
 Authors contributing to this release: 27
 Number of changesets: 241
 Number of files in this release: 558

 Alexander Botero-Lowry:
  * BUG(1569): Include method signatures in the docstrings for the Python bindings

 Anders Waldenborg:
  * Actually check ipc protocol version serverside
  * BUG(1369): Remove outdated documentation and code from plugin.c
  * BUG(1369): Update documentation for xmms_plugin_foreach
  * BUG(1385): Don't start mixer thread if output fails to init.
  * BUG(1386): Fix crash changing lastfmeta.recordtoprofile config
  * BUG(1479): split out os-dependent code for find_terminal_width in CLI
  * BUG(1528): Fix crash changing ipc socket.
  * BUG(1533): Better error reporting on bad urls in daap.
  * BUG(1533): Set isdir flag correctly in daap server browse.
  * BUG(1570): Fix kwargs handling of syncwrapper in python bindings.
  * BUG(1586): Try to find -st and -mt variants of boost_signals lib.
  * BUG(1622): Change xmmsc_playlist_addarg not to check the url again.
  * BUG(1642): Fix playlist position to be updated on insert
  * BUG(1710): Fix memleak in pythonbindings
  * BUG(1711): Python module should not have "lib" prefix.
  * BUG(1713): Proper unicode handling for collection names in pythonbinding
  * BUG(1717): Fix double-free when parsing fails in libasf
  * BUG(1721): Fix assertion when seeking misses too much.
  * BUG(1734): Handle EOF correctly in curl
  * BUG(1740): Update waf to 1.2.0
  * BUG(1747): Fix oss to correctly link against libossaudio where needed
  * BUG(1757): Avoid locking order reversal causing sqlite busy event
  * BUG(1759): Improve error message
  * BUG(1775): Fix xmms_config_property_callback_remove to take userdata arg
  * BUG(1785): Only wake mediainfo thread on new entries.
  * BUG(1786): Fix memleaks when an xform's init method fails
  * BUG(1788): Fix crash when converter fails to init.
  * BUG(1799): Fix compilation of rubybindings on osx
  * BUG(1803): Remove useless signedness qualifiers from python bindings.
  * BUG(620): Remove XMMS_OS_xyz.
  * BUG(620): Remove strange XMMS_OS_DARWIN check in xmmsclientpriv/xmmsclient.h
  * BUG(848): Cleanup PulseAudio output plugin
  * BUG(848): Don't leak a pulse client on every stop.
  * BUG(848): Fix format setting in pulse
  * FEATURE(1666): Cleanup normalize plugin
  * FEATURE(1715): Store "description" from flac comment.
  * FEATURE(1787): New jack plugin
  * FEATURE(486): Make preamp configurable in replaygain.
  * FEATURE(943): Let output plugins handle any samplerate
  * FEATURE(972): Extract coverart in FLAC files.
  * Fix error handling on hello ipc method.
  * OTHER: Add some email addresses in AUTHORS
  * OTHER: Carry over doc and func_name in python syncwrapper.
  * OTHER: Clean up the add_install_flag wscript thing.
  * OTHER: Don't try to install sid intermediate object
  * OTHER: Fix waf installation paths after 1.1.1 upgrade.
  * OTHER: Fix warning in xmmsclient.c
  * OTHER: Make flac plugin write directly into GString buffer.
  * OTHER: Make rubybindings compile on osx
  * OTHER: Make sure pointer passed to xmmsc_result_get_uint is big enough in cmd_playlist.c
  * OTHER: Make sure static xmms2core lib isn't installed.
  * OTHER: Minor coding style cleanups.
  * OTHER: Minor whitespace cleanups in asf plugin
  * OTHER: My lastname is now Waldenborg
  * OTHER: Print error message with xmms_log_error not XMMS_DBG
  * OTHER: Print warning when unreffing object without references
  * OTHER: Remove bad unref in xmms_plugin_destroy
  * OTHER: Remove unused argument from process_msg in ipc.c
  * OTHER: Remove useless imports in wscripts
  * OTHER: Revert old behaviour where server don't respect XMMS_PATH
  * OTHER: Simplify sid wscript
  * OTHER: Use g_platform in wscripts
  * OTHER: Use waf stuff to build perl bindings
  * OTHER: Use waf stuff to build python extensions.. Use environment variable 'PYTHONDIR' instead of --with-python-archdir
  * OTHER: Workaround waf-1.1.1 strangness where plugin_PREFIX must be called shlib_PREFIX
  * PRIVATE: Add +WIP to version.
  * PRIVATE: Update to waf-1.1.1

 Andrew Ruder:
  * BUG(1525): Handle XMMS_PATH in clientlib.

 Armando Jagucki:
  * FEATURE(1492): Add medialib_remove_entry to pythonbindings.

 Auke Schrijnen:
  * BUG(1502): replace mkdir with portable g_mkdir_with_parents in diskwrite
  * BUG(1504): build dns_sd on win32

 Daniel Chokola:
  * BUG(1190): Make plugin path relative on Windows.
  * BUG(1475): remove unused pthread include
  * BUG(1478): allow mp4 plugin to build on MinGW
  * BUG(1480): install libxmms2core.dll on win32
  * BUG(1481): define x_realpath and x_path2url for cross-platform use
  * BUG(1487): set priority for waveout output
  * BUG(1503): link FLAC plugin with winsock2 on win32
  * BUG(1521): link cdda with winmm on win32
  * BUG(1522): link curl with winsock2 on win32
  * BUG(1567): pass block to on_disconnect method using Sync or Async class
  * BUG(1571): add xmmsc_result_source_preference_get
  * BUG(1575): link ices with winsock2 on win32
  * BUG(1594): Provide XMMS2 logo in Git.
  * BUG(1595): Added XMMS2 logo to Doxygen output. It looks sexy.
  * BUG(1606): check for a C++ compiler before building xmmsclient++-glib
  * BUG(1654): show toplevel xmmsclient documentation
  * BUG(1686): Ruby: bind COLLECTION_CHANGED constants
  * BUG(1736): Ruby: bind xmmsc_medialib_entry_move
  * BUG(1751): remove old effect plugin files
  * BUG(1756): fix and add priorities for all output plugins
  * BUG(743): Ruby: bind xmmsc_result_source_preference_get
  * OTHER: Ruby: bind XMMS_PLAYLIST_CHANGED_UPDATE
  * OTHER: Ruby: document userconfdir and decode_url
  * OTHER: Ruby: fix typo (io_need_out -> io_on_need_out)
  * OTHER: Ruby: remove lib prefix on extensions
  * OTHER: disable launcher on win32
  * OTHER: fix typing error in xmmsc_plugin_list
  * OTHER: fix typo in medialib doxygen
  * OTHER: fix warning from -fPIC on MinGW
  * OTHER: re-add xmmsc_medialib_select prototype in xmmspriv
  * OTHER: read files in binary mode when calculating SHA-1
  * OTHER: untabify waftools/* to comply with PEP-8
  * OTHER: use g_platform in top wscript

 Daniel Kaminski:
  * BUG(1687): Added Ruby binding for xmmsc_broadcast_playlist_loaded().

 Daniel Kamiński:
  * BUG(1678): Ruby: bind xmmsc_iserror and xmmsc_get_error
  * BUG(1679): Ruby: bind xmmsc_coll_parse

 Daniel Svensson:
  * BUG(1548): Accept multiple occurances of --conf-prefix=...
  * BUG(1582): Add proper locking to samba xform.
  * BUG(1593): Link xmms2.exe and xmms2d.exe to xmms2.ico on win32.
  * BUG(1616): Get rid of data->hwparams and data->buffer_size
  * BUG(1667): Get values by reference with xmms_xform_metadata_get_int/str.
  * BUG(1724): Remove the use of Params.g_platform from build() methods.
  * BUG(1726): s/g_platform/Params.g_platform/g
  * BUG(1727): Add --with-target-platform to waf
  * BUG(1792): Replace types with glib ones in normalize xform.
  * BUG(765): synchronous STOP when shutting down internal output worker thread.
  * BUG(932): make xmms2 cli set duration to 0 if duration is not known.
  * OTHER: Add support for setting pkg-config ${prefix} by environment
  * OTHER: Add various win32 crosscompile variable initiations
  * OTHER: Backport pkg-config variable define patch (r1514) from waf svn
  * OTHER: Coding style fixes for long long xmms_xform_metadata_* lines.
  * OTHER: Documentation for outputplugin.c
  * OTHER: Fix the remaining threading issues in samba xform
  * OTHER: Make all waf configure methods return True unless fail.
  * OTHER: OutputPlugin documentation
  * OTHER: Prepend instead of append additional configuration prefixes.
  * OTHER: Remove daap g_platform check and always uselib 'socket'
  * OTHER: Remove implicit build() g_platform dependency from tool.py
  * OTHER: Reverse 'explicit_dnssd' flag.
  * OTHER: Sane oses are case-sensitive take two.
  * OTHER: Sane oses are case-sensitive.
  * OTHER: Try detecting curl with pkg-config first.
  * OTHER: Try detecting mad with pkg-config
  * OTHER: Update waf to waf r1421
  * OTHER: outputplugin.c coding style updates
  * OTHER: xform.c coding style updates.

 David Anderson:
  * BUG(1463): Reorganize ices.c to conform to the common plugin conventions.
  * BUG(1463): Rewrite ices plugin to not leak memory, handle flushing properly, and be more xmms specific.
  * BUG(848): Add a PulseAudio output plugin.

 Florian Ragwitz:
  * BUG(1068): Don't update last_started and timesplayed when rehashing.
  * BUG(1660): Install logos.
  * BUG(1720): Bind XMMS_PLAYLIST_CHANGED_UPDATE to python.
  * BUG(1762): Fix a warning compiling perl bindings.
  * Make Audio::XMMSClient::Sync's can() method fall back to UNIVERSAL::can.
  * OTHER: Allow coll attributes to be queried from perl.
  * OTHER: Assert some invalid xmmsclient usage in the perl bindings.
  * OTHER: Bind source_preference_get to perl.
  * OTHER: Bind xmmsc_coll_sync to perl.
  * OTHER: Bind xmmsc_medialib_entry_move to perl.
  * OTHER: Document Audio::XMMSClient.
  * OTHER: Document Audio::XMMSClient::Glib.
  * OTHER: Document the Audio::XMMSClient methods implemented in perl.
  * OTHER: Document the perl bindings license in COPYING.
  * OTHER: Documentation for Audio::XMMSClient::Collection.
  * OTHER: Documentation for Audio::XMMSClient::Playlist.
  * OTHER: Documentation for Audio::XMMSClient::Result.
  * OTHER: Don't dump core on fatal errors.
  * OTHER: Don't handle XMMS_PATH in the perl bindings as the clientlib does that now.
  * OTHER: Fix a type in src/clients/lib/xmmsclient/medialib.c docs.
  * OTHER: Fix documentation typo in src/clients/lib/xmmsclient/playlist.c.
  * OTHER: Fix memory corruption due to collection wrapper ref counting.
  * OTHER: Fix several perl binding issues.
  * OTHER: Fix some rss parsing inaccuracies.
  * OTHER: Fix some xspf parsing inaccuracies.
  * OTHER: Make the perl bindings more portable on different perls.
  * OTHER: More documentation for Audio::XMMSClient.
  * OTHER: Remove some tailing whitespace.
  * OTHER: Remove some tailing whitespace.
  * OTHER: Remove some tailing whitespace.
  * OTHER: Remove user_data from Audio::XMMSClient::request.
  * OTHER: Simplify some perl binding internals.
  * OTHER: croak when the object to be converted isn't derived by the class we expect.
  * OTHER: don't pass 0 pointers to xmmsc when we fail to convert perl values.
  * Remove some tailing whitespaces from the perl bindings.

 Georg Wacker:
  * BUG(1650): add group parameter to coll_query_info documentation

 Javeed Shaikh:
  * FEATURE(1666): Added normalize effect plugin

 Jonne Lehtinen:
  * BUG(1601): Fix assertations on cdda seeking.
  * BUG(1624): fix unresolved symbol in C++ bindings.
  * BUG(1806): Made a config value for ANALYZEing the DB on startup.

 Juho Vähä-Herttua:
  * BUG(1485): Separate checking for root user from main.c for portability.
  * BUG(1485): Separate the symlink_file function from main.c for portability.
  * BUG(1674): Fix faad plugin with HE AAC files and certain libfaad versions.
  * BUG(1772): Apply upstream patch of libasf utf-8 bug to xmms2 branch.
  * FEATURE(1669): Add still a bit experimental libasf plugin.
  * OTHER: Add MusicBrainz support to ASF plugin.
  * OTHER: Add Sebastian Noack to AUTHORS file.
  * OTHER: Fix most compile time warnings on x86-64 platform.
  * OTHER: Fix printf formatting warnings with %lld and x64-64.
  * OTHER: Initialize IO channels better and handle HUP as disconnect. (Windows)
  * OTHER: Make avcodec fail if there's no decoder data available.
  * OTHER: Move all platform dependent stuff into "compat" subdirectory.

 Martin Salzer:
  * BUG(1520): Allow the cli to query single config values.
  * BUG(1663): properly sort on multiple attributes when there is a missing attribute
  * FEATURE(1620): Allow sorting in reverse order

 Robin Lee Powell:
  * FEATURE(1698): Added the xmmsc_medialib_move_entry to update an entry path.
  * FEATURE(1707): Added a coll_sync command.

 Sadrul Habib Chowdhury:
  * BUG(1774): Improve error reporting in lastfm plugin.
  * BUG(1782): Fix crash on icecast errors.

 Sebastian Noack:
  * BUG(1771): Added support of "WM/TrackNumber" extended content descriptor entry.

 Sebastien Cevey:
  * BUG(1670): collparser fails to parse unary operator (reference, complement).
  * BUG(1671): collparser fails to parse groups (parentheses)
  * BUG(1672): collparser crashes when parsing number sequences.
  * BUG(1673): As anders gusta^Wwaldenborg said, this commit fixes the fact that CLI escapes spaces/parentheses/quotes incorrectly for patterns.
  * BUG(1719): bind xmmsc_playlist_{add,insert}_collection in python.
  * BUG(1777): Fix collection attributes never freed.
  * FEATURE(1707): Added a coll sync command to the CLI.
  * FEATURE(1722): Added the xmmsc_coll_operand_list_clear function.
  * OTHER: Bind xmmsc_medialib_move_entry in xmmsclient++.
  * OTHER: Clarify documentation for xmmsc_coll_operand_list_entry.
  * OTHER: Improve doc of xmmsc_coll_universe.
  * OTHER: Minor fix in collparser.

 Tilman Sauerbeck:
  * BUG(1712): Use pkg-config to detect ecore.
  * OTHER: Don't export a few functions in mp4.c
  * OTHER: Don't export id3_genres.
  * OTHER: Fixed a bunch of const correctness issues.
  * OTHER: Marked misc tables as constant.
  * OTHER: More const correctness fixes.
  * OTHER: Plugin description data is constant.
  * OTHER: Ruby: don't unref NULL xmms_client_t
  * OTHER: id3 genre tables are pretty constant, too.

 Tim Schumacher:
  * BUG(1479): find real terminal width on win32

 Tobias Rundstrom:
  * BUG(1703): Remove xmmsc_medialib_select from client and server
  * BUG(1706): Added --with-libdir to configure
  * BUG(1768): Split sqlite_open to sqlite_open and sqlite_create
  * BUG(1801): Adjust output priority.
  * OTHER: Add -multiply_defined supress on osx.
  * OTHER: Compile CoreFoundation bindings
  * OTHER: Fix OSX plugin loading.
  * OTHER: Fix osx plugin suffix.
  * OTHER: Update the indexes for collections.
  * OTHER: run analyze on startup.

 Tobias Rundström:
  * BUG(1778): Fix crash in mac plugin on files without ape tag

 Ugo Riboni:
  * OTHER: Added Ugo Riboni to AUTHORS
  * OTHER: Update nms plugin to version running in neuros firmware.

 andersg@0x63.nu:
  * Add new perl tool
  * Fix perl tool to give correct CFLAGS when compiling extensions
  * Restore LIBPATH_uselib to previous value when library_configurator fails.
  * g++ tool wants CXXFLAGS, not CCFLAGS

 tnagy1024:
  * Obvious typo.



Changes between DrI+WIP+TEST5 and 0.2 DrJekyll

 Release date: 2007-05-20
 Authors contributing to this release: 1
 Number of changesets: 3
 Number of files in this release: 509

 Alexander Botero-Lowry:
  * BUG(1563): bind xmmsc_coll_parse in python bindings and add it to xmmsclient.collections
  * BUG(1564): when making the operands list in create_coll, call xmmsc_coll_ref on the operand colls
  * FEATURE(1535): CollectionsOperands now mimics a list and CollectionsAttributes now mimics a dict



Changes between DrI+WIP+TEST4 and DrI+WIP+TEST5

 Release date: 2007-05-12
 Authors contributing to this release: 2
 Number of changesets: 9
 Number of files in this release: 509

 Alexander Botero-Lowry:
  * BUG(1541): add playlist_current_active to the Python bindings
  * BUG(1545): Fix sid plugin to properly check for the resid-builder

 Anders Gustafsson:
  * BUG(1517): Use different names for boost signal headers and lib so they don't get miscached.
  * BUG(1549): Fix fd-leak when daap xform can't connect to server.
  * BUG(1550): Fix recursive medialib session with mlib remove and pshuffle playlist.
  * BUG(1557): Fix PShuffle in python bindings.
  * BUG(1558): Fix race on client disconnect.
  * BUG(1559): Use mandantory=0 in all check_library2 plugin wscripts.
  * OTHER: Revert "OTHER: Force curl to HTTP version 1.0."



Changes between DrI+WIP+TEST3 and DrI+WIP+TEST4

 Release date: 2007-05-02
 Authors contributing to this release: 10
 Number of changesets: 23
 Number of files in this release: 509

 Alexander Botero-Lowry:
  * BUG(1392): Update the xmms2(1) manual page to reflect the Playlist refactoring and Collections

 Anders Gustafsson:
  * BUG(1526): Emit the real playlist name in playlist_changed broadcast (based on Sebastien Cevey's patch)

 Daniel Chokola:
  * BUG(1529): link DAAP to dnssd on non-Darwin systems

 Daniel Svensson:
  * BUG(1490): sun plugin fix
  * OTHER: Added Rainer Wittmaack to AUTHORS.

 Erik Massop:
  * BUG(1542): Upcoming attribute does not do what it is meant to do
  * OTHER: Fix some typos and clarify some points in the xmms2(1) manpage

 Florian Ragwitz:
  * OTHER: Fix documentation for xmms2 seek.
  * OTHER: Fix perl binding compilation warnings on 64bit platforms.
  * OTHER: Only use __attribute__((deprecated)) where available.

 Georg Schild:
  * BUG(1510): Fix medialib-updater to use collections instead of mlib-select

 Sebastien Cevey:
  * BUG(1483): cli hangs with no playlist loaded

 Tilman Sauerbeck:
  * BUG(1534): Added some argument checks for Collection instances.
  * BUG(1536): Collection#attributes is now perfectly writable.
  * BUG(1537): Fixed a potential segfault in xmmsc_coll_attribute_get().
  * BUG(1539): Implemented Collection#union, intersect, complement in Ruby.
  * BUG(1540): Implemented Collection::Operands.
  * OTHER: Added a rough implementation of Playlist#add_collection.
  * OTHER: Improved documentation for xmmsc_coll_attribute_get().
  * OTHER: Playlist#add_collection accepts the "order" argument now.
  * OTHER: Simplified Attributes#has_key?.

 Tobias Rundstrom:
  * FEATURE(1547): Check libcurl for broken versions during runtime
  * OTHER: Force curl to HTTP version 1.0.



Changes between DrI+WIP+TEST2 and DrI+WIP+TEST3

 Release date: 2007-04-10
 Authors contributing to this release: 12
 Number of changesets: 39
 Number of files in this release: 508

 Alexander Botero-Lowry:
  * BUG(1458): add playlist_create to python bindings
  * BUG(1459): add callback argument to playlist_remove in python bindings

 Algardas Pelakauskas:
  * BUG(1467): add radd binding

 Anders Gustafsson:
  * BUG(1465): Hide "fatal: Not a git repository" error message.
  * BUG(1472): Fix crash when buffering more than READ_CHUNK*2 bytes for hotspots in xform.

 Daniel Chokola:
  * BUG(1499): bind medialib_remove_entry
  * OTHER: add Algardas to AUTHORS
  * OTHER: add Auke to AUTHORS

 Daniel Svensson:
  * BUG(1457): Update xmms2-launcher manpage to tell the new log-file location.
  * BUG(1460): Check for basesstring, not str, in medialib_property_set.
  * BUG(188): Add toggle play/pause command to xmms2 cli.

 Erik Massop:
  * BUG(1455): Fix installation of pkgconfig files and manpages.
  * OTHER: Use spaces for indenting in waftools/pkgconfig.py.

 Florian Ragwitz:
  * OTHER: Add Audio::XMMSClient::Playlist for better playlist handling.
  * OTHER: Add waf-lightc to .gitignore.
  * OTHER: Default to $0 if no clientname is given.
  * OTHER: Don't bind medialib_select to perl.
  * OTHER: Expose xmmsc_ref to the clientlib api.
  * OTHER: Fix a memory leak in the file plugins browse method.
  * OTHER: Fix warnings generated by older xsubpps.
  * OTHER: Make Audio::XMMSClient::Collection::universe exportable.
  * OTHER: Make the Sync wrapper work with the new playlist API.
  * OTHER: Make the sidplay rpath checks use realpath.

 Georg Schild:
  * BUG(1498): Fixed xmms_ipc_unlock().

 Jonne Lehtinen:
  * BUG(1456): Don't handle ints as strings when adding properties from plugins

 Sebastien Cevey:
  * BUG(1413): Fixed bug with parentheses and parsing in collparser.
  * BUG(1414): Remove xmmsc_coll_set_type.
  * BUG(1469): xmms2 addarg fails if playlist included
  * BUG(1486): xmmsc_coll_parse cannot parse numeric values for equals/match
  * BUG(1488): Collparser doesn't detect all errors (when missing op value)
  * BUG(1495): Remove XMMS_COLLECTION_TYPE_ERROR as it is not used.
  * OTHER: Add methods to access the operand of a PShuffle in C++.
  * OTHER: Fix allocation bug in collparser.
  * OTHER: Increased verbosity about xmmsc_medialib_select being deprecated.
  * OTHER: Prevent the saving of self-referencing collections.
  * OTHER: Small cleanup of PartyShuffle constructors.

 Tilman Sauerbeck:
  * BUG(1491): Don't assume we can use Fixnums for any int32/uint32 value.

 Tobias Rundstrom:
  * BUG(1461): Updated INSTALL file
  * BUG(1497): Fix ruby-glib compilation on OSX



Changes between DrI+WIP+TEST1 and DrI+WIP+TEST2

 Release date: 2007-03-15
 Authors contributing to this release: 8
 Number of changesets: 27
 Number of files in this release: 507

 Alexander Botero-Lowry:
  * BUG(1399): update xmms2 man page to include insert and reflect that basic

 Anders Gustafsson:
  * OTHER: Remove old python test clients.
  * OTHER: Use 4 spaces for indentation in wscript files.

 Daniel Chokola:
  * BUG(1451): move Xmms::Result#decode_url to Xmms#decode_url
  * OTHER: Add big fat warning to xmmsc_result_decode_url comments about passing a NULL result.
  * OTHER: Ruby: add Xmms::Client::Async convenience class
  * OTHER: Ruby: add reader for the real Xmms::Client object in Xmms::Client::Sync
  * OTHER: Ruby: add readers for the other real Xmms::*::Sync objects
  * OTHER: Ruby: remove ancient Library files
  * OTHER: Ruby: remove shebang and add license header in async.rb

 Erik Massop:
  * BUG(1454): fix waftools/man.py to install manpages again.

 Florian Ragwitz:
  * BUG(1442): Don't build ruby bindings for ecore clientlib if we don't build the ecore clientlib as well.
  * OTHER: Fix faad plugin indenting.
  * OTHER: Fix indenting in waftools/xsubpp.py
  * OTHER: delegate can() to the actual Audio::XMMSClient object.

 Juho Vähä-Herttua:
  * BUG(1446): Add magic bytes for Unreal files to modplug plugin.
  * OTHER: Disable the DTS playback from release because it's still unstable.

 Tilman Sauerbeck:
  * BUG(1442): ecore depends on ecore-config --libs-core.
  * BUG(1443): Fixed a memory corruption bug.
  * BUG(1444): Fix OFA plugin on little endian systems.
  * BUG(1445): Sanitize playlist instantiation.
  * BUG(1449): Install sync.rb in the right directory.
  * OTHER: Added Xmms::Client#medialib_entry_property_remove.
  * OTHER: Removed the pyrex error message.
  * OTHER: Removed the shebang line and added the license header.

 Tobias Rundstrom:
  * BUG(1452): Handle mdns removes correctly.
  * BUG(1453): Unbreak xmms_signal_mediainfo_reader_unindexed



Changes between 0.2 DrHouse and DrI+WIP+TEST1

 Release date: 2007-03-10
 Authors contributing to this release: 15
 Number of changesets: 438
 Number of files in this release: 510

 Alexander Botero-Lowry:
  * FEATURE(956): Update pythonapi to refactored api for collections.

 Anders Gustafsson:
  * BUG(1321): Fix curl plugin to handle multiple write callbacks from one perform
  * BUG(1343): Make pythonbindings compile with older pyrex (Patch from danderson)
  * BUG(1354): Rename MATCH/CONTAINS to EQUALS/MATCH everywhere i python bindings
  * BUG(1378): Make 'xmms2 status' fit terminal width (Based on Sébastien Cevey's patch)
  * BUG(1380): Fix typo in pythonbindings that broke pshuffle collections
  * BUG(1381): Fix unlock on errorpaths in playlist.c
  * BUG(1415): Fix datacorruption in curl.
  * BUG(1417): Handle BOM in xml xform.
  * BUG(1418): Fix compilation with newer pyrex.
  * BUG(1419): Don't set samplerate/channels where the automatic value suffices.
  * BUG(1422): Fix typo in pythonapi (resulttype constanst are XMMSC_ not XMMS_)
  * BUG(1423): -soname -> -h to support solaris linker. (Cherrypicked from waf svn r1305)
  * BUG(1432): Use xmmsc_result_notifier_set_full in pythonbindings
  * BUG(1434): Use snd_pcm_delay instead of snd_pcm_avail_update in alsa driver
  * BUG(1436): Drop javabindings.
  * BUG(278): Remove broken/old python twisted reactor integration.
  * FEATURE(1280): Add Neuros OSD output plugin (nms)
  * FEATURE(1316): Add some more pythonic stuff for creating collections in python
  * FEATURE(1316): Support for collections in pythonbindings.
  * FEATURE(1416): Refactor xform browse api
  * FEATURE(1433): libofa effect plugin
  * FEATURE(279): Install python glib bindings
  * FEATURE(279): Install python qt3 bindings
  * FEATURE(320): Add a xmmsclient.collections module.
  * FEATURE(320): Move python PropDict to separate .py file.
  * FEATURE(320): Move python XMMS sync into a separate .py file
  * FEATURE(320): Move pythonmodule into a directory with __init__.py
  * FEATURE(320): Put constants in a separate module.
  * FEATURE(320): Rename pyrex generated file to xmmsapi
  * FEATURE(320): Simplyfy xmmsclient.sync now that it is written in python.
  * FEATURE(320): Use explicit imports instead of * in python module __init__
  * FEATURE(320): Use spaces in python xmmsclient.propdict
  * FEATURE: Iterator for collection attributes.
  * OTHER: Add +WIP to version
  * OTHER: Add \n to mdns-avahi error message.
  * OTHER: Add comment to avoid db upgrade mistakes.
  * OTHER: Added Erik Massop to AUTHORS
  * OTHER: Bail out if filenames contain '/' in xform browse.
  * OTHER: Bail out if wscripts have changed without "waf configure"
  * OTHER: Change waf broken message to fit 80-col terminal.
  * OTHER: Check pythonversion at start.
  * OTHER: Cleanup and fix warnings in xspf plugin.
  * OTHER: Coding style cleanups
  * OTHER: Fix _ListConverter in python bindings to handle empty lists correctly
  * OTHER: Fix alignment in wscript files.
  * OTHER: Fix avformat wscript
  * OTHER: Fix warning
  * OTHER: Fix xmms_defs.h leftover in xmmsapi.pyx
  * OTHER: Handle uint from coll_query_ids in cli.
  * OTHER: Increase xform API version
  * OTHER: Make global_config static.
  * OTHER: Minor cleanup in xform browse.
  * OTHER: Pass a real xmms_error_t in xml xform.
  * OTHER: Py2.3 ships with sets module, no need to include it.
  * OTHER: Quote arguments correctly in our thin "waf" wrapper.
  * OTHER: Remove src/plugins/old/
  * OTHER: Remove stupid "#!/usr/bin/env python" from wscript files
  * OTHER: Remove useless import from python wscript
  * OTHER: Remove xmms_defs.h in favor of xmms_configuration.h
  * OTHER: Rename "type" variable to "typ" to avoid shadowing the builtin in xmmsapi.pyx.
  * OTHER: Rewrite the thin "waf" wrapper in python.
  * OTHER: Silence some more warnings in pythonbindings.
  * OTHER: Update README to version on wiki
  * OTHER: Update python xmmsapi xmmsc_result_get_type prototype
  * OTHER: Update waf to 1.1.0.
  * OTHER: Use 4 spaces for indentation in wscripts as per PEP-8
  * OTHER: Use insert instead of doing list concatenation in toplevel wscript.
  * OTHER: Use os.path.basename instead of split("/")[-1] in wscript
  * OTHER: Workaround git bug by giving uselib_local in other order
  * OTHER: You get os.path when importing os, no need to import it explicitly.

 Ben Slote:
  * BUG(1351): Fix playlist_list in python bindings.

 Bernard Pratz:
  * FEATURE(956): Complete updating Python bindings for Playlist/Medialib API refactoring

 Daniel Chokola:
  * BUG(1275): Make playlist_volume_set accept a Symbol instead of a String.
  * BUG(1370): update old XmmsClient references in rdoc to Xmms::Client
  * BUG(1371): added XFORM plugin type
  * BUG(1372): move playlist methods to their own class
  * BUG(1403): Ruby collections API - featuring work by Tilman Sauerbeck
  * BUG(1440): build xmmsclient-ecore
  * BUG(1441): build xmmsclient-ecore Ruby binding
  * OTHER: Add my webpage to AUTHORS
  * OTHER: Move Xmms::Client::Playlist to Xmms::Playlist
  * OTHER: Ruby c_playlist_new and c_name should be static functions
  * OTHER: Ruby: Make Xmms::Client#playlist a shortcut for Xmms::Playlist#new
  * OTHER: Ruby: Update documentation on playlist methods.
  * OTHER: Ruby: add Xmms::Client::Sync convenience proxy class
  * OTHER: Ruby: change Xmms::Collection#~ to ~@
  * OTHER: Ruby: fix bug in Xmms::Playlist.new
  * OTHER: Ruby: fix potential bug in idlist=
  * OTHER: Ruby: minor rdoc fix for Xmms::Client#playlist
  * OTHER: Ruby: move rb_xmmsclient_playlist* to rb_playlist*
  * OTHER: Ruby: remove outdated now_playing.rb in favor of tutorials
  * OTHER: ruby: move playlist constants to the playlist class

 Daniel Svensson:
  * BUG(1178): Improve the browsing API.
  * BUG(1273): Split statfs.c to multiple files depending on platform.
  * BUG(1282): Add realpath support to cli browsing.
  * BUG(1288): Move signal related stuff to unixsignals.c
  * BUG(1289): Add a dummy version of unix signals.
  * BUG(1306): Added ASX playlist plugin.
  * BUG(1332): Add wsock support to waf socket group.
  * BUG(1337): Use g_usleep instead of sleep for win32 portability.
  * BUG(1376): Make xmmsc_result_get_type return xmmsc_result_value_type_t
  * OTHER: Add waf's socket group to xmmsclient++.
  * OTHER: Added a Doxyfile for the xmmsclient library.
  * OTHER: Clean up Doxyfile, and only build docs for xmms2d.
  * OTHER: Do not overwrite ptr to dict when sorting browse result.
  * OTHER: Do not store replaygain as dB in musepack.
  * OTHER: Fix broken waveout wscript
  * OTHER: Fix doxygen warnings
  * OTHER: Fix doxygen warnings for xmmsclient.
  * OTHER: Include xmmstypes in the clientlib documentation.
  * OTHER: Make ASX playlist plugin use case insensitive magic matching.
  * OTHER: More doxygen cleanups
  * OTHER: Remove old old relic of old old windows port.
  * OTHER: Remove unused header file
  * OTHER: Remove unused stuff from the clientlib.
  * OTHER: Removed unused header from bindata.c
  * OTHER: Unbreak musepack replaygain.
  * OTHER: Update waf to link plugins with xmms2core instead of xmms2d on win32
  * OTHER: Updated the server documentation.

 Erik Massop:
  * BUG(1265): Support for a jump-to-playlist-on-finish attribute
  * BUG(1313): Fix waf configure inclusion/exclusion.
  * FEATURE(1291): Add xmms2 coll queryadd to cli.

 Florian Ragwitz:
  * BUG(1162): Adapt xmmsc_coll_idlist_inserts parameter order to match the other _insert functions.
  * BUG(1257): Make xmms_playlist_insert_id check the id before inserting.
  * BUG(1261): Failure to create client configfile should not be fatal.
  * BUG(1272): Fix segfaults when parsing a broken config file.
  * BUG(1293): Don't use rpath for sid builders if the builders are in the libpath.
  * BUG(1320, 1229): SIGTERM should issue a clean shutdown.
  * BUG(1322): add proper error msg when using disconnected client
  * BUG(1323): Allow to pass userdata free functions for callbacks.
  * BUG(1327): stop the cli status cmd from displaying 00:00 as the total played time.
  * BUG(1328): Install manpages with the applications they are for.
  * BUG(1329): compress manpages on installation.
  * BUG(1331): Use the running python interpreter for running external py scripts.
  * BUG(1333): Use build instead of build_replace in plugin wscripts.
  * BUG(1349): Run ldconfig after installation.
  * BUG(1353): Rename MATCH/CONTAINS to EQUALS/MATCH
  * BUG(1356): Add XMMS_ACTIVE_PLAYLIST and use it in favour of "_active".
  * BUG(1362): Make sorting on XMMS_MEDIALIB_ENTRY_PROPERTY_ID possible.
  * BUG(1367): Add --with-python-archdir option.
  * BUG(1390): Add an mlib rmprop command.
  * BUG(1396): add relative volume commands.
  * BUG(1397): Don't require a channel for setting the volume.
  * BUG(1410): Add xmms_xform_chain_setup_{,url_}_without_effects.
  * BUG(1410): Create xform chains without effects when reading metadata and loading playlists.
  * BUG(1420): Remove a useless faad include from the mp4 plugin.
  * FEATURE(1340): make xmms2-launcher a separate build target.
  * FEATURE(666): Add (the very evil) XSPF plugin.
  * FEATURE(742): Include perl bindings.
  * OTHER: A minor code style fix for the equalizer plugin.
  * OTHER: Add Audio::XMMSClient::Sync to make writing synchronous clients easier.
  * OTHER: Add Todd to AUTHORS.
  * OTHER: Add an accessor for a collections operands to the perl bindings.
  * OTHER: Add an rss xform for using podcast feeds as playlists.
  * OTHER: Add an xml plugin to dispatch different types of xml data to specialized plugins.
  * OTHER: Add perl_xmmsclient_hv_fetch for easy fetching of hash values from c.
  * OTHER: Add perl_xmmsclient_unpack_char_ptr_ptr to unpack an SV structure
  * OTHER: Add some wrappers around Audio::XMMSClient::Collection->new
  * OTHER: Add waftools/xsubpp.py, which is needed for the perl bindings.
  * OTHER: Better error handling for the rss plugin.
  * OTHER: Better error reporting for the cli volume commands.
  * OTHER: Bind some missing clientlib functions to perl.
  * OTHER: Bind xmmsc_coll_idlist_from_playlist_file to perl.
  * OTHER: Bind xmmsc_coll_query_infos to perl.
  * OTHER: Bind xmmsc_playlist_create to perl.
  * OTHER: Build and install xmms2-find-avahi.
  * OTHER: Build and install xmms2-mlib-updater.
  * OTHER: Clarify mad plugin license.
  * OTHER: Don't add samplerate properties for cdda, flac, mad and vorbis.
  * OTHER: Don't create libtool linker scripts.
  * OTHER: Don't return empty list if coll_operand_list_valid returns false.
  * OTHER: Don't throw away metadata when creating collections from playlists.
  * OTHER: Don't try to free NULL xmms_object_cmd_value_t's.
  * OTHER: Fix -rpath compile time warnings.
  * OTHER: Fix a cli segfault in the insert cmd.
  * OTHER: Fix a coding style issue in src/xmms/main.c.
  * OTHER: Fix a compile time warning in src/lib/xmmstypes/coll.c
  * OTHER: Fix a memory leak in perls result_decode_url.
  * OTHER: Fix a xmms2 insertid segfault and make it work without an explict playlist name
  * OTHER: Fix an issue accidentally introduced by the XMMSC_ACTIVE_PLAYLIST commit.
  * OTHER: Fix compile time warnings in the rss plugin.
  * OTHER: Fix compile warnings in m3u and cue plugins.
  * OTHER: Fix error handling in the sync wrapper of the perl bindings.
  * OTHER: Fix path to the mlib-updater binary in its startup script.
  * OTHER: Fix reference counting issue in the perl bindings.
  * OTHER: Fix segfault when xmms_ipc_msg_get_collection_alloc returns false.
  * OTHER: Fix several compile-time warnings in the perl bindings.
  * OTHER: Fix some code style issues.
  * OTHER: Fix some compile-time warnings.
  * OTHER: Fix some manpage typos.
  * OTHER: Fix some memory leaks in the perl bindings.
  * OTHER: Fix some more indenting errors in src/xmms.
  * OTHER: Fix the generation of a queries alias_base.
  * OTHER: Fix the mapping between char ** structures and perl scalars.
  * OTHER: Get rid of a warning in Audio::XMMSClient::Sync.
  * OTHER: Get rid of all CODE sections in the Perl bindings.
  * OTHER: Handle playlist names the same way in the cli's insert and insertid cmds.
  * OTHER: Install manpages.
  * OTHER: Install mp4 and sid plugins into PLUGINDIR.
  * OTHER: Install sample snippet into SHAREDDIR.
  * OTHER: Link the sid plugin against resid-builder.
  * OTHER: Make Audio::XMMSClient::Collection::new smarter.
  * OTHER: Make Audio::XMMSClient::Result::decode_url a class method.
  * OTHER: Make Audio::XMMSClient::coll_query_ids easier to use by making all
  * OTHER: Make Audio::XMMSClient::coll_{query_id,query_info}s easier to use.
  * OTHER: Make src/plugins/ pass indentcheck.py (except where indentcheck is wrong)
  * OTHER: Make src/xmms/ pass indentcheck.py (except where indentcheck is wrong)
  * OTHER: Make the installed python bindings loadable.
  * OTHER: Make the perl bindings compile against libxmmsclient with collections.
  * OTHER: Make the perl bindings stick to the code style guidelines.
  * OTHER: Make the perl bindings use perls ccflags.
  * OTHER: Make the rss plugin use libxml2 instead of g_markup_*
  * OTHER: Make the ruby bindings loadable by removing the 'lib' prefix of the shared object.
  * OTHER: Make the xspf and rss plugins use the xml plugin.
  * OTHER: Modify waf to only use the major vnum as the soname version.
  * OTHER: Mute a warning with Audio::XMMSClient::Sync.
  * OTHER: Only call ldconfig where it is actually available.
  * OTHER: Only store the current perl context for callbacks when needed.
  * OTHER: Properly initialize PerlXMMSClientCallback structures.
  * OTHER: Re-enable perl bindings.
  * OTHER: Remove a comment with some debugging code.
  * OTHER: Remove a forgotten debugging statement.
  * OTHER: Remove build_replace from waftools/plugin.py.
  * OTHER: Remove lines containing only whitespaces.
  * OTHER: Remove perl_xmmsclient_collection_order_t and thereby all of the
  * OTHER: Remove some debugging code.
  * OTHER: Remove some indenting errors and tailing whitespaces in playlist.c
  * OTHER: Remove some tabs in favour of spaces.
  * OTHER: Remove two useless conditions in the playlist code.
  * OTHER: Remove xmmsc_query_attribute_t which isn't used at all.
  * OTHER: Return an empty idlist coll when importing playlists without entries.
  * OTHER: Set -DVERSION for the perl bindings.
  * OTHER: Simplify parts of the perl binding implementation.
  * OTHER: Simplify the perl binding internals some more.
  * OTHER: Some Audio::XMMSClient::Sync improvements.
  * OTHER: Support collections in propdicts, if that even exists.
  * OTHER: The cli's wscript doesn't use Common. Don't import it.
  * OTHER: Unify some copyright statements.
  * OTHER: Update COPYING.
  * OTHER: Update copyright year date for 2007.
  * OTHER: Update my AUTHORS entry.
  * OTHER: Update waf to svn 1006 to get shared libraries with sane SONAMEs.
  * OTHER: Update waf to svn r1008.
  * OTHER: Use XMMS_OBJECT_CMD_ARG_* defines consequently.
  * OTHER: Use pythons gzip module instead of the gzip binary for manpage compression
  * OTHER: Use the ability to supply free funcs to callbacks to leak less memory.
  * OTHER: Various coding style fixes all over the place.
  * OTHER: add outdata type metadata when setting up the xform chain.
  * OTHER: basic collection support for Audio::XMMSClient::Result structures for perl.
  * OTHER: bind xmmsc_coll_universe () to perl.
  * OTHER: boot the collections part of the perl bindings when loading XMMSClient.so.
  * OTHER: cli: Don't start xmms2d on unknown commands or quit.
  * OTHER: minor memory allocation fix for the perl bindings.
  * OTHER: perl bindings for most parts of the xmmsc_coll_* api.
  * OTHER: perl typemaps for collection related structures.
  * OTHER: properly link the equalizer plugin against libm.
  * OTHER: remove SIGINT and SIGTERM from the sigmask in their signal handler.
  * OTHER: use perl_xmmsclient_unpack_char_ptr_ptr instead of the current
  * OTHER: xmms_xform_t should increment the refcnt of their xmms_plugin_t.
  * OTHER: xmmsc_coll_attribute_get returns 0 on failure, not on success..
  * Revert "OTHER: properly link the equalizer plugin against libm."

 Jonne Lehtinen:
  * BUG(1126): Make getUserConfDir a free function.
  * BUG(1277): Remove useless list of slots to functions in c++
  * BUG(1290): Add missing functions to medialib class.
  * BUG(1313): Make waf able to enable/disable optional stuff (src/client/*)
  * BUG(1317): Fix xmmsc_coll_remove to be const correct.
  * BUG(1318): Removed comma from the end of enum list for standard c++
  * BUG(1344): Fix flac metadata reading.
  * BUG(1391): Add missing values to xmmsc_result_value_t
  * BUG(1401): Make generic callback trap exceptions and pass on.
  * BUG(845): Fix operator-> for Xmms::List< std::string > and Xmms::List<
  * FEATURE(1364): CD Plugin
  * FEATURE(1388): Add coverart from xmms2 cli.
  * FEATURE(1388): Read cover image from stdin also.
  * OTHER: Add signals and broadcasts back to Xmms::Playback.
  * OTHER: Begin to refactor C++ bindings.
  * OTHER: C++ bindings playback module nearly converted.
  * OTHER: Completed result wrappers for C++ bindings.
  * OTHER: Convert Collections to the new Result API.
  * OTHER: Convert Xmms::Bindata to the new Result API.
  * OTHER: Convert Xmms::Config to the new Result API.
  * OTHER: Convert Xmms::Medialib to the new Result API.
  * OTHER: Convert Xmms::Playlist to the new Result API.
  * OTHER: Convert Xmms::Stats to the new Result API.
  * OTHER: Convert Xmms::Xform to the new Result API.
  * OTHER: Fix issue with no callback function in async operations.
  * OTHER: Fix more warnings (xmms2-et this time).
  * OTHER: Fix waf pc file creation to use ${prefix} where possible.
  * OTHER: Fix warning in dict.cpp
  * OTHER: Fix warnings in C++ bindings caused by bug 1376.
  * OTHER: Fix warnings.
  * OTHER: Make cdda to log errors/info/debug better.
  * OTHER: Missing header for the C++ bindings.
  * OTHER: More Result wrappers.
  * OTHER: Nearly everything cleaned up/converted.
  * OTHER: Remove old code from c++ bindings.
  * OTHER: async c++ collection functions
  * OTHER: broadcast result wrappers

 Juho Vähä-Herttua:
  * BUG(1281): Fix a glitch resulting from libfaad misuse
  * BUG(1281): Re-enable gapless mp4 again with xform hotspot support
  * BUG(1287): Finish the Solaris compilation patch to actually work
  * BUG(1287): Fix XMMS2 to compile on Solaris with waf
  * BUG(1357): Skip redundant bytes after seek in output filler
  * BUG(1411): Don't set samplerate if it's already specified in output type.
  * BUG(1421): Fix problem with faad when trying to init the decoder.
  * BUG(908): Add hotspot support to xform peeking buffer
  * FEATURE(1279): Add ALAC support.
  * FEATURE(1279): Change offset and duration to be frame based
  * FEATURE(1279): Fix the waf commit little earlier
  * FEATURE(1279): Re-enable seeking in mp4 files
  * FEATURE(1279): Refactor MP4 as a separate plugin but keep AAC decoding in it
  * FEATURE(1279): Refactor wma into avformat and avcodec plugins
  * FEATURE(1279): Remove useless mp4ff files from faad directory
  * FEATURE(1279): Separate mp4 into a demuxer plugin using privdata.
  * FEATURE(1279): Update waf build scripts
  * FEATURE(1281): Add possibility to add none privdata to separate packets
  * FEATURE(1281): xform data passing API.
  * FEATURE(1377): Enable seeking in avcodec (only works in ALAC)
  * FEATURE(1429): Enable DTS support in libavcodec.
  * OTHER: Add AMR support to avformat codec (needs AMR support in ffmpeg)
  * OTHER: Disable seeking in avcodec for other codecs than ALAC (not handled).
  * OTHER: Don't reset decoder data if seek fails.
  * OTHER: Fix an error message to be correct to avoid confusion.
  * OTHER: Fix broken merge in devel related to Solaris compilation
  * OTHER: Fix broken xmms2d linking
  * OTHER: Fix equalizer building with waf
  * OTHER: Fix seeking hangup introduced earlier. (in bug 1357 fix)
  * OTHER: Fix wma linking on debian and ubuntu systems
  * OTHER: Just small cleanups in faad plugin
  * OTHER: Move XMMS_BUILD_PATH macro into private headers
  * OTHER: Remove "array subscript has type `char'" warning.
  * OTHER: Remove a rounding error from MP4 plugin and clean up the code.
  * OTHER: Remove bashism from waf to make it work better on other shells.
  * OTHER: Remove useless reentrant flag

 Karsten Krispin:
  * FEATURE(1379): Groupby support in pythonbinding's coll_query_infos()

 Sebastien Cevey:
  * BUG(1265): Support for a jump-to-playlist-on-finish attribute
  * BUG(1339): Do not auto-fetch the media id in queries generated by collections.
  * Complain and die if calling the coll API with NULL arguments.
  * FEATURE(1365): added xmmsc_playlist_create clientlib function.
  * OTHER: Add Playlist::create to C++ bindings (related to 1365).
  * OTHER: Add copyright/license in clientlib++ headers.  Merry Christmas RMS!
  * OTHER: Added documentation of the Xmms::Coll class tree in the C++ bindings.
  * OTHER: C++ bindings now contain *all* functions.
  * OTHER: Change Client::connect argument to const char*.
  * OTHER: Complete and comment all async collection methods in C++.
  * OTHER: Don't throw an exception when creating an empty List< Dict >.
  * OTHER: Fix Playlist::list type.
  * OTHER: Fix bug reported by rafl when fetching the 'url' property.
  * OTHER: Fix crash when querying a reference coll operator without the reference attribute.
  * OTHER: Fix missing functions and linking errors.
  * OTHER: Hide constructors taking coll_t* in the C++ bindings.
  * OTHER: Mess around with includes and headers to get the c++ async collection methods to compile.
  * OTHER: Misc code cleanup in cmd_coll.c
  * OTHER: More work on C++ bindings for collections, now compiles.
  * OTHER: More work on the C++ bindings for collections, not done yet.
  * OTHER: Redundant using clause in exceptions.h.
  * OTHER: Refactored coll in C++ to return proper coll pointer, const iterator access, header cleanup.
  * Trigger signal on position autoreset (before jumping to another playlist).
  * Updated the C/C++ bindings for bug 1339, forbidding an empty fetch list to coll_query_infos.

 Tilman Sauerbeck:
  * BUG(1283): the FLAC plugin now works with both FLAC 1.1.2 and 1.1.3.
  * BUG(1334): Reworked the vorbis comment parser.
  * BUG(1335): Reworked the FLAC vorbis comment parser.
  * BUG(1359): Case insensitive string magic matching.
  * Disabled most of the Ruby bindings so it builds.
  * OTHER: Clean up the rss plugin (formatting & coding style).
  * OTHER: Don't ask the FLAC decoder to respond to all metadata types.
  * OTHER: Don't return after calling rb_raise().
  * OTHER: Fixed Playlists's c_free() in a very neat way.
  * OTHER: Fixed linking of the Ruby bindings for libxmmsclient_glib.
  * OTHER: Re-enabled some Ruby binding methods.
  * OTHER: Shorten Playlist callback names.
  * OTHER: Slightly reworked c_playlist_sort().
  * OTHER: Store a copy of the char* to the playlist's name.
  * OTHER: Tweak the handling of 'name' in playlist_new().
  * OTHER: Updated .gitignore.
  * OTHER: xforms aren't forced to have a 'destroy' method anymore.

 Tobias Rundstrom:
  * BUG(1107): Simplify the seek command in CLI.
  * BUG(1304): Remove old plsplugin code.
  * BUG(1319): Only set ignore CCFLAGS for python.
  * BUG(1325): Unify resolved and available to one flag "status".
  * BUG(1424): Disable plugins when --without-xmms2d=1 is passed to configure
  * BUG(1427): Leftover reference to xmms_defs.h in mac plugin.
  * FEATURE(1303): Re-enable playlist plugins.
  * FEATURE(1303): Re-enable pls plugin.
  * FEATURE(1305): Add read_line to xform API
  * FEATURE(1394): Deny user from doing stupid things (running xmms2d as root)
  * FEATURE(1412): Move logfile to XDG_CACHE_DIR as default.
  * FEATURE(210): Add cuesheet playlist plugin.
  * OTHER: Add VERSION to C++ flags also
  * OTHER: Add missing file!
  * OTHER: Convert NMS plugin to waf
  * OTHER: Convert spaces to tabs in wscripts.
  * OTHER: Don't have waf as a binary blob in our tree. And make 'waf' a tiny wrapper.
  * OTHER: Don't leak memory on error path.
  * OTHER: Emit a uint list instead of int list from queryIds
  * OTHER: Enable soversion on public API
  * OTHER: Fix --conf-prefix option to waf.
  * OTHER: Fix compilation on MacOSX
  * OTHER: Fix crash in cuesheet reader.
  * OTHER: Fix daap plugin linking
  * OTHER: Fix dependency issues in waf.
  * OTHER: Fix pkgconfig file generation.
  * OTHER: Fix stupid typo in wscript
  * OTHER: Fix xmmsclient++-glib complation on osx.
  * OTHER: Forgot stupid debug info.
  * OTHER: Make the m3u parser a bit more forgiving.
  * OTHER: Make xmms_playlist_remove_by_entry remove id numbers in all playlists
  * OTHER: Post-merge collections and waf.
  * OTHER: Re-enable xmmsclient++-glib
  * OTHER: Read optional parameters from playlist plugins
  * OTHER: Remove David's copyright on the wscripts and add him to AUTHORS
  * OTHER: Remove old scons files.
  * OTHER: Remove the double-build feature
  * OTHER: Remove typo
  * OTHER: Rename PROPERTY_STARTSAMPLE and STOPSAMPLE to STARTMS and STOPMS
  * OTHER: Reorder include paths.
  * OTHER: Set -WIP flag
  * OTHER: Set USERCONFDIR to Library/xmms2 on OSX
  * OTHER: Set version to DrI+WIP since this is going to be DrJekyll
  * OTHER: Simplify the playlist plugins a bit.
  * OTHER: Simplify the wscript
  * OTHER: Split source strings prettier.
  * OTHER: Update waf to rev 1012 which includes soname fixes on osx
  * OTHER: Updated waf to r1026
  * OTHER: Updated waf version.
  * OTHER: add --without-xmms2d argument to waf.
  * OTHER: cast gsize to a int to get rid of a warning on darwin.
  * OTHER: get rid of other.c
  * OTHER: install_name fix.
  * OTHER: make our waf wrapper set WAF_HOME too.
  * OTHER: make waf pull in flags (--libs-only-other) from pkg-config
  * OTHER: properly propagate errors from browse method.
  * OTHER: set variant to fix some dependency problems.
  * OTHER: upgraded waf to r1025
  * OTHER: upgraded waf to svn 1021
  * OTHER: xmms/xmms_xformplugin.h was missing?

 Todd Bayley:
  * BUG(1408): make coll_query_* take arguments



Changes between DrGonzo+WIP+TEST2 and 0.2 DrHouse

 Release date: 2006-12-02
 Authors contributing to this release: 4
 Number of changesets: 47
 Number of files in this release: 403

 Anders Gustafsson:
  * BUG(1276): Reset GError before retrying conversion in mad/id3v1.c
  * OTHER: Wrap lines in INSTALL and README

 David Anderson:
  * FEATURE(1179): Add --without-plugins, fix the default build that I broke.
  * FEATURE(1179): Add a --with-plugins configure option, to explicitely
  * FEATURE(1179): Add a plugin helper function that helps reduce the
  * FEATURE(1179): Tweak, refactor and clean up some waf stuff.
  * Refactor all plugins.

 Juho Vähä-Herttua:
  * FEATURE(1217): Add replaygain support into faad plugin.
  * OTHER: Make AAC audio track detection more generic.

 Tobias Rundstrom:
  * Ignore plugins without wscript
  * OTHER: Add -install_name to macosx shlib targets
  * OTHER: Add output priority.
  * OTHER: Added PKGCONFIG support in waf.
  * OTHER: Build ruby bindings
  * OTHER: Create directory for xmms_defs.h before writing it.
  * OTHER: Documentation updates for DrHouse
  * OTHER: Enable et, mdns, xmmsclient++ and make a new optional build variable
  * OTHER: Enable python bindings and updates to various wscripts
  * OTHER: Fix CCFLAGS and CXXFLAGS when set from the environment.
  * OTHER: Fix CoreAudio wscript
  * OTHER: Fix cpp tool bug in WAF
  * OTHER: Fix install_in in daap script
  * OTHER: Fix musepack wscript
  * OTHER: Fix ruby/wscript to execute correct binary
  * OTHER: Generate the header on configure instead of buildtime
  * OTHER: Install headerfiles
  * OTHER: Just put statfs defines there on xmms2d
  * OTHER: Make the PLUGINDIR a flag.
  * OTHER: Make waf-korvsallad port.
  * OTHER: Run configure on xmmsclient and xmmsclient-glib
  * OTHER: Split autogen of xmms_defs.h into specific file.
  * OTHER: Update waf with small bugfixes.
  * OTHER: Updates to mad, mac and sid plugins.
  * OTHER: Waf updates, install headers in the right place.
  * OTHER: add forgotten file
  * OTHER: add launcher script support.
  * OTHER: added --with-ruby-binary to ruby/wscript
  * OTHER: bugfix for avahi buildscript
  * OTHER: enable configure in oss
  * OTHER: fix oss/wscript correctly
  * OTHER: import sys in oss/wscript
  * OTHER: really fix the oss/wscript
  * OTHER: remove confusing minus in avahi/wscript
  * OTHER: remove old crud
  * OTHER: s/=+/+= in dns_sd/wscript
  * OTHER: tweak install target
  * OTHER: update wafscripts to include xmmsutils



Changes between DrGonzo+WIP+TEST1 and DrGonzo+WIP+TEST2

 Release date: 2006-11-27
 Authors contributing to this release: 5
 Number of changesets: 17
 Number of files in this release: 403

 Anders Gustafsson:
  * BUG(1250): Make default tcp port a define and change it to 9667
  * BUG(1256): Allow insertion on end of playlist (patch from Frank v Waveren)
  * BUG(1260): Don't use g_free as key destroy function when we use integers as key. (patch from Rob Hoelz)
  * BUG(1266): Fix crash in converter when not resampling.
  * BUG(1268): Fix xmms_strlist_len to return correct value when there are empty items
  * BUG(1269): Fix infinite loop on read errors in bindata retrieve
  * OTHER: Clean up xmms_build_path
  * OTHER: Fix obvious typo in win32 xmms_userconfdir_get
  * OTHER: Move XMMS_STRINGIFY to xmmsc_util.h
  * OTHER: Move code after declarations in strlist.c

 Juho Vähä-Herttua:
  * OTHER: Cleanup the strlist to be a bit more readable.

 Rob Hoelz:
  * BUG(1255): Switched the position and id in the CLI insert failure output.

 Sham Chukoury:
  * BUG(1253): Fix java bindings build on Linux

 Tobias Rundstrom:
  * BUG(1252): Available was misspelled in upgrade path.
  * BUG(1254): Update currentpos when inserting entries.
  * BUG(1270): Don't leak memory on non-broadcasts in c++ bindings.
  * BUG(1271): Set executable bit for scripts that are being installed



Changes between 0.2 DrGonzo and DrGonzo+WIP+TEST1

 Release date: 2006-11-14
 Authors contributing to this release: 13
 Number of changesets: 121
 Number of files in this release: 403

 Alexander Botero-Lowry:
  * BUG(1176): Write errors to stderr instead of stdout
  * OTHER: Change default SHAREDIR to include xmms2 in the path
  * OTHER: Move all manual pages to section 1
  * OTHER: Unbreak java bindings on FreeBSD

 Anders Gustafsson:
  * BUG(1137): Change the ipc listen sockets to use giochannels.
  * BUG(1152): Don't create many medialib sessions when setting up chain.
  * BUG(1154): Clear plugin/* sources aswell as server source when rehashing.
  * BUG(1163): Open files in file.c with O_BINARY where available.
  * BUG(1171): Fix leaks on error paths.
  * BUG(1171): Kill off unused data->url in daap.
  * BUG(1171): Minor string handling cleanups.
  * BUG(1171): Sanitize daap_generate_request.
  * BUG(1171): Use g_new instead of g_malloc.
  * BUG(1171): Use g_new instead of g_malloc.
  * BUG(1171): Use g_strdup_printf instead of g_ascii_dtostr + g_malloc
  * BUG(1171): Use g_strdup_printf instead of g_sprintf + g_malloc0
  * BUG(1171): Use g_strdup_printf instead of malloc+sprintf.
  * BUG(1171): private data is always created in _init method.
  * BUG(1171): use g_return instead of just return.
  * BUG(1222): Remove entry from active playlist when removing from mlib.
  * BUG(1227): Fix encoding of urls in xform browse.
  * BUG(1241): Fix handling of port in daap urls.
  * FEATURE(1147): Add filename extension fallback in magic detection.
  * FEATURE(1158): Simplify browse api.
  * FEATURE(1234): Make xform browse return a sorted list.
  * OTHER: Add +WIP to version
  * OTHER: Added Florian Ragwitz to AUTHORS
  * OTHER: Change order metadata is collected.
  * OTHER: Fix loglevel of message in ip_setup_server.
  * OTHER: Improve log messages in ipc.c
  * OTHER: Improve v29->v30 medialib upgrade path.
  * OTHER: Minor cleanup in magic.c

 Cole Thompson:
  * BUG(1171): Changed gethostbyname() to the more reentrant-friendly getaddrinfo().
  * BUG(1171): Fixed breakage with gcc 2.95.

 Daniel Chokola:
  * BUG(1189): Separate userconfdir function into win32 and unix files.

 Daniel Svensson:
  * BUG(1159): Update daap to the new browsing API.
  * BUG(1171): Use the portable XMMS_EINPROGRESS instead.
  * BUG(1172,116): Add a generic version of EINPROGRESS.
  * BUG(1174): make get_data_from_url more readable, and less buggy.
  * BUG(1249): Add a platform independent default connection path method.
  * FEATURE(1153): last.fm plugin
  * FEATURE(116,1164): Added WaveOut output plugin.
  * OTHER: Added Manuel Fuhr to AUTHORS
  * OTHER: Fix copy/paste error in lastfmeta xform description.
  * OTHER: Fix typo in xmms_bindata.h
  * OTHER: Missing check for curl in lastfmeta Plugin file.
  * OTHER: Set connect timeout for lastfm plugins
  * OTHER: Turn xmms_lastfm_strstr_len into a xmms_lastfm_memstr.
  * OTHER: lastfm plugin init cleanup, and proper error messages.

 David Anderson:
  * Add a few comments.
  * Add the beginnings of an option parsing mechanism for selecting plugins
  * Add the glib client lib and cli builders to the master script.
  * Build the clientlib from the main wscript file.
  * Can now build xmms2d with waf... Once...
  * FEATURE(1179): Add the missing wscript for the xmms source directory.
  * FEATURE(1179): Add wscripts for all plugins. They configure okay on my
  * FEATURE(1179): Correct the detection for libmodplug, and make sidplay
  * FEATURE(1179): Finish configuration support for xmms2d, and add build
  * FEATURE(1179): First attempt at a Waf build system. Will currently
  * FEATURE(1179): Fix the OSS configuration function so that the oss plugin
  * FEATURE(1179): Fix the dependencies between libs so that the xmms2 cli
  * FEATURE(1179): Fix the generator hook to have full dependency tracking
  * FEATURE(1179): Fix the mms plugin build rules.
  * FEATURE(1179): Make FLAC non-mandatory.
  * FEATURE(1179): Make the OSS plugin build.
  * FEATURE(1179): Make the XMMS2 libs all static, readd color support
  * FEATURE(1179): Make the build system understand plugins and OSX bundles.
  * FEATURE(1179): Oops, forgot the new function for gittools that the waf
  * FEATURE(1179): Preemptively upgrade waf to support osx bundles.
  * FEATURE(1179): Refer to the tooldir using an absolute path to avoid
  * FEATURE(1179): Remove all the now obsolete Plugin files.
  * FEATURE(1179): Unbork the build funcs for all the plugins I can build.
  * Factor out the tests for glib into the main script.
  * Fix the build for xmms2d.
  * Make sidplay take builder paths into account, and pass the right flags
  * Make xmms2d build from end to end.
  * Name the plugin targets properly
  * Remove Scons stuff, so that I don't execute it accidentally and bork
  * Remove an extraneous return statement.
  * Remove debug output from the modplug configurator
  * Remove debug output, shouldn't be there.
  * Remove the color disabling code. export NOCOLOR=1 instead.
  * Some more build fixes contributed by rafl. Thanks!
  * Start adding support for plugins. Alsa configure script in place.
  * xmmsenv/python-generator.py

 Florian Ragwitz:
  * Add support for building the glib-enabled clientlib and the xmms2 cli.
  * FEATURE(1031): Let the magic plugin add metadata about the mime type.
  * FEATURE(1031): Let the magic plugin add metadata about the mime type.

 Juho Vähä-Herttua:
  * BUG(1165): Fix compilation on Solaris.
  * BUG(1166): Fix errno handling in diskwrite plugin.
  * BUG(1167): Fix xmms2-et system name on Solaris.
  * BUG(1169): Don't lock the audio device twice in libao.
  * BUG(1177): Convert xmmsclient-glib not to use custom GSource.
  * FEATURE(1105): Add support for pitch changing in vocoder plugin.
  * FEATURE(1105): Add transient detector for phase vocoder plugin.
  * FEATURE(1105): Fix overflows in sample conversion of vocoder plugin.
  * FEATURE(1105): Unregister config callbacks properly on cleanup.
  * FEATURE(1105): Update copyright information related to vocoder.
  * FEATURE(1105): Whitespace cleanups for vocoder plugin.
  * FEATURE(1137): Convert client ipc thread to use mainloop and giochannels.
  * FEATURE(168): Add libao output plugin.
  * OTHER: Cleanup ao plugin a little bit.
  * OTHER: Don't destroy write_cb in xmmsclient-glib if we have data in queue.
  * OTHER: Fix an annoying typo no one else fixes no matter how much I bitch.
  * OTHER: Fix broken vocoder commit earlier.
  * OTHER: Fix possible crash when freeing memory in ao plugin.
  * OTHER: Make absolutely sure xmmsclient-glib always disconnects.
  * OTHER: Remove clipping from vocoder when attack detection is on.

 Sebastien Cevey:
  * OTHER: Fix bug in xmmsc_coll_idlist_get_size.

 Sham Chukoury:
  * BUG(1149): Use integer config file version
  * BUG(1160): Use xmms_userconfdir_get in xmms2d

 Tobias Rundstrom:
  * BUG(1193): Fix compilation for Java bindings on OSX
  * BUG(1220): trigger entry_changed() on entry_property_remove()
  * FEATURE(512): Instead of removing entries from the medialib, set property available to zero.
  * FEATURE(867): Generate launcher-scripts to contain the path.
  * OTHER: Emit entry_changed signal when updating the AVAILABLE flag.
  * OTHER: In dns-sd, when register a service, port should be in bigendian.
  * OTHER: Use EXIT_SUCCESS and EXIT_FAILURE on all exit-points
  * OTHER: don't free NULL values in value_cleanup()

 Todd Bayley:
  * BUG(1233): Fixed bindata methods in Ruby bindings.

 rafl:
  * Add support for the xmmsclient lib



Changes between DrFeelgood+WIP+TEST4 and 0.2 DrGonzo

 Release date: 2006-09-26
 Authors contributing to this release: 3
 Number of changesets: 12
 Number of files in this release: 384

 Anders Gustafsson:
  * BUG(1132): Fix crash in daap when passed empty url.

 Sebastien Cevey:
  * OTHER: First draft of C++ collection bindings.
  * OTHER: Fix const-ness, indentation and some visibility restrictions.
  * OTHER: More work on the c++ collection bindings.
  * OTHER: Organized the C++ collection classes in a hierarchy. Added collection module.
  * OTHER: Prefer exceptions to bool return value, cosmetic fixes.
  * OTHER: Reduce the verbosity of errors when accessing idlists.
  * OTHER: Surround xmmsc_coll.h with extern "C", for C++.
  * OTHER: add xmmsc_coll_operand_list_
  * OTHER: coll.c needs -fPIC on 64-bit arch.
  * OTHER: updated the xmmsclient++ Playlist class to match the API refactoring.

 Tobias Rundstrom:
  * OTHER: Up version dependecy of Python to python 2.3



Changes between DrFeelgood+WIP+TEST3 and DrFeelgood+WIP+TEST4

 Release date: 2006-09-21
 Authors contributing to this release: 4
 Number of changesets: 20
 Number of files in this release: 384

 Anders Gustafsson:
  * BUG(1115): Fix crash when trying to play nonexistant entry.
  * BUG(1117): Fix oss format probing (based on patch from Constantin Makshin)
  * BUG(1122): Fix browse in samba.
  * BUG(1123): Fix ipc argument handling.
  * BUG(1127): Fix seeking in xing vbr mp3 files larger than 16M
  * OTHER: Make length checks in ipcmsg wrapsafe.
  * OTHER: Use the correct value for mb trackid.

 Daniel Svensson:
  * BUG(1121): Always return hash of data even if it has already been added.

 Sebastien Cevey:
  * OTHER: Cleanup the hierarchy of collection documentation.
  * OTHER: Fix bug in IPC (stringlist extraction)
  * OTHER: Fix bug in cli when updating type of a pshuffle playlist.
  * OTHER: Fix bug in validation of collections in the DAG ; pshuffle now works properly.  (reported by nesciens)
  * OTHER: Fix warning in cmd_coll.c
  * OTHER: Fixed heaps of documentation warnings.
  * OTHER: In collection patterns, make '~' imply matching of the argument anywhere in the property (real CONTAINS check).
  * OTHER: Quick and dirty fix for add/radd arguments vs playlist name.
  * OTHER: Support explicit autofilters, e.g. ~foo (matches if any property contains foo).

 Tobias Rundstrom:
  * BUG(1125): Release memory in xmmsclient++ bindings
  * FEATURE(1124): reduce frequency of playtime signal
  * OTHER: Don't do crap.



Changes between DrFeelgood+WIP+TEST2 and DrFeelgood+WIP+TEST3

 Release date: 2006-09-15
 Authors contributing to this release: 3
 Number of changesets: 6
 Number of files in this release: 384

 Jonne Lehtinen:
  * BUG(1106): Wrap xmmsc_userconfdir_get in C++ bindings.

 Ma Xuan:
  * BUG(1108): Fix seeking in MAC (APE Files) plugin

 Tobias Rundstrom:
  * BUG(1109): Fix crash in daap browsing
  * OTHER: Added SCons options to compile things static
  * OTHER: Listen to the warnings from gcc, that makes you happier.
  * OTHER: Re-Added Library file for xmmsclient-cf



Changes between DrFeelgood+WIP+TEST1 and DrFeelgood+WIP+TEST2

 Release date: 2006-09-13
 Authors contributing to this release: 6
 Number of changesets: 14
 Number of files in this release: 383

 Anders Gustafsson:
  * BUG(1096): Implement seeking in converter xform.
  * BUG(1099): Do proper error and bounds checking in ipc.
  * OTHER: Bump xform api version (should be done a while ago)

 Cole Thompson:
  * BUG(1090): If url is incorrect and daap can't connect, user is informed. Also, fixed annoying "trailing slash in url" issue.

 Daniel Svensson:
  * BUG(1102): Fix typo in SConstruct that installed headers incorrectly.

 Juho Vähä-Herttua:
  * BUG(116): Change bzero into memset also in sse optimized equalizer version.
  * FEATURE(1105): Add initial (somewhat experimental) phase vocoder plugin.

 Tilman Sauerbeck:
  * BUG(1100): The 'radd' and 'mlib addpath' commands now support 1+ args.

 Tobias Rundstrom:
  * BUG(1098): Don't hold the transaction longer than needed in radd/path_import commands
  * BUG(1101): Add missing encoded() functions.
  * BUG(1101): Wrap missing encoded() functions in Python.
  * BUG(1101): Wrapped missing encoded functions in C++ bindings.
  * BUG(775): Updated xmms2d.8 manpage.
  * OTHER: assert when BUSY timeout happens.



Changes between 0.2 DrFeelgood and DrFeelgood+WIP+TEST1

 Release date: 2006-09-07
 Authors contributing to this release: 16
 Number of changesets: 287
 Number of files in this release: 383

 Alexander Botero-Lowry:
  * BUG(1086): Updates to xmms2d manpage
  * BUG(656): Add xmmsc_userconfdir_get() to the Python bindings
  * BUG(775): Add xmms2-mdns-avahi.8 manual Page
  * BUG(977): Implement PropDict.get method
  * OTHER: Clarify docstring for broadcast_medialib_entry_changed()
  * OTHER: Clarify userconfdir_get() docstring

 Anders Gustafsson:
  * BUG(1010): Make bad options to xmms2d fatal errors.
  * BUG(1017): We only need non block when opening the alsa device.
  * BUG(1022): Set GError to NULL before use.
  * BUG(1023): Fix macros in ape tag parser.
  * BUG(1066): Stop playback if sampleformat setting fails (based on patch by Sham Chukoury)
  * BUG(1083): Make shuffle do full shuffle if currentpos==-1 (patch from Bryan Taylor)
  * BUG(1084): Fix segfault when wma can't initialize (found by Bryan Taylor)
  * BUG(1087): Simplify bindata api for plugins. Don't include len in hashes. (changes filenames!)
  * BUG(801): Remove debian/ directory
  * BUG(885): Fix noise when doing xmms2 next too fast.
  * BUG(897): Fix next/prev to work in paused.
  * BUG(939): Fix double unlock in ipc when write returns EAGAIN.
  * BUG(946): Make xmms_vorbis_read return -1 on error, not vorbis error code.
  * BUG(954): Fix handling of eos flag in xform.c.
  * BUG(979): Flush after seeking.
  * BUG(980): Flush when killing xform chain.
  * FEATURE(1094): Add playlist_add_encode and friends.
  * OTHER: Cleanup id3v2 parser.
  * OTHER: Fix typo in musepack.
  * OTHER: Improve LAME parsing code in mad.c
  * OTHER: Loosen up runtime glib version check a bit.
  * OTHER: Make cli say that it autostarts the daemon.
  * OTHER: Minor clean up of errormessages in mad.c
  * OTHER: Minor typ cleanup in bindata.
  * OTHER: Verify that returnvalue of xform plugins read method is not < -1.

 Bryan Taylor:
  * FEATURE(263): Added sorting on multiple properties

 Cole Thompson:
  * Added mDNS browsing of DAAP shares.
  * Avahi mDNS code properly updates the server list when a DAAP server disconnects.
  * Changed all remaining instances of g_printf() to XMMS_DBG()
  * Cleaned unnecessary whitespace, fixed compiler warnings.
  * Code cleanup and style fixes.
  * Cosmetic fixes.
  * DAAP browse lists urls with the correct suffix instead of always .mp3
  * DAAP: Track lengths now display correctly, instead of 0:00
  * Enable support for meta tags, can now ask iTunes for useful data.
  * FEATURE(1064): DAAP: Multiple servers supported.
  * Fixed headers on daap_conn.c for compiling on FreeBSD
  * Fixed memory leak.
  * Fixed read bug in daap xform, should work fine now.
  * Fixed some login/logout crashes, plus some other fixes and cleanup.
  * Fixed the rest of the whitespace to conform to standards.
  * Made improvements to mDNS and browser handling. Avahi support now optional.
  * Miscellaneous cleanup work. Fixed some memory leaks.
  * Previous commit missed some files.
  * Protect g_server_list with a mutex.
  * Removed an unneccessary argument from cc_data_free(), as well as made a
  * Removed some unnecesary cruft. Added GPL notices. Changed nonfatal asserts
  * Removed the rest of the asserts; there is no more ugly message printing on

 Daniel Svensson:
  * BUG(1004): Make mad set samplerate in medialib.
  * BUG(116): Make equalizer compile on Windows.
  * BUG(116): Make file xform compile on Windows.
  * BUG(116): Make plugins link with glib.
  * BUG(116): Make socket code compile on Windows
  * BUG(116): Make xmmsipc compile on Windows.
  * BUG(116): Remove unused Windows stuff from SConstruct
  * BUG(116): Remove unused stuff from xmmsclient/Library
  * BUG(656): Obey fd.o by moving ~/.xmms2 to ~/.config/xmms2
  * BUG(656): Obey fd.o by moving ~/.xmms2 to ~/.config/xmms2
  * BUG(656): Update the xmms2 cli to use the new path.
  * BUG(983): Make ALSA open the soundcard non-blocking.
  * FEATURE(1037): Add autostart support for the cli.
  * OTHER: Fixed some uninitialized compiler warnings.
  * OTHER: Load/save config file at the correct place.

 Dries Harnie:
  * FEATURE(930): Make CLI aware of current status.

 Georg Schild:
  * BUG(1072): Fix getConfigurationPath in java client bindings
  * BUG(1073): in javabindings use byte[] for bindata instead of short[] and remove base64 stuff
  * FEATURE(823): fix small bug in playlist
  * FEATURE(923): Much improvements to the javabindings
  * FEATURE(923): cleanups the improvements ;)
  * FEATURE(949): repackage javabindings
  * FEATURE(953): wrap bindata API into javabindings and refactor some things
  * FEATURE(958): Add more features to the new javabindings

 Jonne Lehtinen:
  * FEATURE(1008): xmms2-launcher accepts --logfile and --pidfile
  * FEATURE(967): Wrap bindata API in CPP bindings

 Juho Vähä-Herttua:
  * BUG(352): Add support for configurable encoding in ID3v1 tags.
  * FEATURE(970): Add coverart extraction in FAAD plugin.

 Ma Xuan:
  * BUG(796): Fix special chars in playlistnames.
  * BUG(974): Monkey's audio plugin coding style fixes.
  * FEATURE(363): XForm for decode Monkey's Audio (APE) added.

 Sebastien Cevey:
  * Add the coll attr subcommand to modify collection attributes.
  * Added a field to the PLAYLIST_CHANGED signal to store the name of the changed playlist.
  * Added collection versions of mlib search/searchadd to cli.
  * Added create_playlist command to the cli.
  * Added cycle detection in the collection DAG, storage on the server now tested and stable!
  * Added support for receiving STRINGLIST arguments on the server.
  * Added the PARTYSHUFFLE operator.
  * Added the QUEUE collection operator.
  * Added the _HAS operator, fixed issues in the query generation.
  * Added the xmmsc_coll_rename command.
  * Added type_playlist command to the cli.
  * Added validation of collection structures before they are saved.
  * Added xmmsc_coll_idlist_* manipulation functions.
  * Added xmmsc_playlist_current_active to find the active playlist.
  * Allow NULL string list (e.g. query order).
  * Also trigger PL_CHANGED when a coll is first saved (auto-init Party Shuffle).
  * Append fields to fetch to the SELECT.
  * BUG(1023): Musepack file crashes the server.
  * BUG(1023): Musepack file crashes the server.
  * CLI now support collections.
  * Cast to gint64 even, safer.
  * Change recursion order (apply first, recurse then).
  * Cleanup and factorize collection code.
  * Cleanup of _get/set_int_attr functions.
  * Cleanup source, fix bugs in collection_find.
  * Code cleanup, reuse functions.
  * Collections now support 'id' as any other property (ordering, operator attribute, etc).
  * Completed the Playlist refactoring, now using collections as playlists!
  * Cross-signals between collections and playlists.
  * Do not recurse in operands of reference operators.
  * Document and cleanup the query code.
  * Documentation of the coll_idlist_* functions, plus _{get/set}_index functions.
  * Documentation spree.
  * Done stripping all the references to the old GList* playlist structure.
  * Done with mem allocation when saving/removing collections.
  * Filter operators default to case-insensitive, support for the 'case-sensitive' attribute.
  * First draft of query generation from a collection structure.
  * Fix argumen type of xmms_collection_get_int_attr
  * Fix argument names.
  * Fix bug in cli (remove command).
  * Fix bug in coll_idlist_insert
  * Fix bug in collection serialization, now works with '_active' playlist.
  * Fix bug with type of data retrieved from the mlib.
  * Fix bugs in collection de/serialization.
  * Fix bugs in collection_find, now functional.
  * Fix collection serialization issues (DB schema, refcounting).
  * Fix compilation warning and errors.
  * Fix compilation warnings.
  * Fix errors in position update while moving entries in the playlist.
  * Fix leaks and refcounting/free issues.
  * Fix mismatching declaration.
  * Fix more complex leaks.
  * Fix previous commit (missing ref').
  * Fix warning while compiling ET.
  * Fixed a reference bug in collection queries.
  * Fixed the multi-properties playlist sort function.
  * Handle DESCending ordering using the '-' prefix.
  * Identify namespaces by a string (instead of a uint).
  * Implement the COLLECTION_CHANGED signal
  * Implemented _playlist_{add,insert}_collection (added order argument).
  * Implemented server part of collection list/save/get/remove.
  * Implemented the coll_query_ids method, testing still needed.
  * Improve xmms_collection_query_ids (reuse query_infos). Don't escape numbers.
  * Improved the query generation (cleverer choice of the SELECT base property).
  * Improved validation checks in Playlists namespace and hashtable updates.
  * Initial implementation of collection_find, not working yet.
  * Limit recursion inside the collections, simplify query condition generation.
  * Make xmmsc_coll_free private.
  * Modularized _playlist commands of the CLI in subcommands.
  * Modularized collection queries and serialization in separate files.
  * More error warning on collection operands.
  * Move xmms_medialib_select to public header
  * New playlist name argument to _playlist_current_pos
  * No need to save the colldag reference.
  * No side effect in x_return_if.
  * OTHER: Added xmmsc_coll_parse, a modular string-to-collection parser.
  * OTHER: Better handling of argument list passed to xmmsc_coll_parse in the cli.
  * OTHER: Cleanup the parser code, factor with macros.
  * OTHER: Create a Default playlist on mlib creation/upgrade.
  * OTHER: Document and cleanup the collection parser.
  * OTHER: Fix cli help about search/add.
  * OTHER: Fix the cli so party shuffles use a proper reference to their input collection (reported by nesciens).
  * OTHER: Improver parser detection of CONTAINS filter.
  * OTHER: Prevent warning on parsing of invalid pattern.
  * OTHER: Put back xmmsc_medialib_select for the next release.
  * OTHER: Support xmmsc_coll_parse in the cli (for coll save, mlib search, mlib searchadd).
  * OTHER: Surround #define argument with parentheses.
  * OTHER: Updated AUTHORS file.
  * Optimize the query generation from collections.
  * Prettier playlists_list command for the xmms2 cli (emph. the active playlist).
  * Refactoring of Medialib/Playlist API (clientlib part).
  * Refactoring of Medialib/Playlist API (more breakage: server, cli, clientlib)
  * Refactoring of Medialib/Playlist API (updated the cli, fixed compilation of server)
  * Refactoring of playlists to use collections (early changes).
  * Remove over-verbose collection debugging messages.
  * Send list of properties to sort by in xmmsc_playlist_sort.
  * Style fix (else bracket position).
  * Support query_infos on the server.
  * The collection DAG is now saved/restore with the daemon (a few bugs left still).
  * Unitialized value in filter_get_operator_case in some cases.
  * Update dbversion.
  * Update playlist_sort doc
  * Update the CLI to send proper list of properties to sort by.
  * Use correct SQL operators for all filter operators.
  * Use sqlite string escape function.
  * coll_add_operand already increments ref count, no need to do it manually.

 Sham Chukoury:
  * BUG(1015): move userconfdir_get out of xmmsclient.XMMS
  * BUG(1071): Make xmmsc_userconfdir_get accept a buffer to fill
  * BUG(1072): Make xmmsc_userconfdir_get return absolute path
  * BUG(656): Respect XDG_CONFIG_HOME as per fd.o base directory spec
  * BUG(976): Use encoded url in xmmsc_playlist_insert_args
  * OTHER,PYTHONMINOR: recognise unicode strings as keys in PropDict.__getitem__
  * OTHER: Fix some whitespace issues
  * OTHER: some cleanups to xmmsclient.pyx after indentcheck
  * Update AUTHORS: add Thomas Jollans

 Thomas Jollans:
  * BUG(1009): Implement PropDict.__contains__

 Tilman Sauerbeck:
  * BUG(1027): Sort the magic specs by complexity again.
  * BUG(1032): Added missing bindata methods.
  * BUG(1033): Don't allocate the buffer for the hex string on the heap.
  * BUG(1034): Sanitized xmms_bindata_add().
  * BUG(1035): Don't use sprintf() for the ascii conversion.
  * BUG(1093): Tweaked xmmsc_userconfdir_get().
  * BUG(656): Added Xmms.userconfdir.
  * BUG(656): Include '/xmms2' in USERCONFDIR.
  * BUG(947): Handle files correctly that consist only of NUL bytes.
  * DOC: Improve documentation for xmmsc_userconfdir_get().
  * FEATURE(968): Added bindata support to Ruby bindings.
  * OTHER: Adapted Ruby code to the XMMS2 coding guidelines (finally).
  * OTHER: Added .gitignore
  * OTHER: Formatting.
  * OTHER: Spell "retrieve" correctly.

 Tobias:
  * BUG(950): Make sure to pass 1 to more_init in all broadcast functions in pythonapi
  * DOC: Updated AUTHORS file

 Tobias Rundstrom:
  * BUG(1043): When filesize == -1 we don't set duration in the metadata.
  * BUG(1048): Make sure to check len of TXX fields in id3v2 parser.
  * BUG(1075): Unbreak bindata md5 routine.
  * BUG(1076): Remove unused base64 stuff from clientlib
  * BUG(1088): The CLI now doesn't have to connect to server before it can print help
  * BUG(790): Make sure that internal functions can use sources too
  * BUG(940): Make sure that the compilers work before we do any work with them.
  * BUG(963): Don't dealloc messages before they are totaly read.
  * BUG(964): Propagate exceptions from python callbacks.
  * BUG(975): Make sure to update mediainfo in ogg streams when a new serial is found.
  * BUG(978): make it able to get the format_set call everytime.
  * BUG(981): Added options for controlling where the compiled binaries should end up.
  * BUG(981): Put python modules in platform specfic directory.
  * FEATURE(1013): Add last_started property in the Medialib
  * FEATURE(1024): Decode URL properly in cli
  * FEATURE(1050): Make buffersize configurable
  * FEATURE(1078): Implement browse method in samba xform
  * FEATURE(1079): Use xmms_xform_browse() internally in path_import
  * FEATURE(1091): Make default source preference to prefer client set values.
  * FEATURE(1094): Add functions that takes already encoded paths in python.
  * FEATURE(1094): Wrap new encoded functions in C++ API
  * FEATURE(148): Update ices to new API and redo it as a output plugin.
  * FEATURE(373): Preliminary support for gapless mp3's encoded with LAME. Expect bugs.
  * FEATURE(775): Add missing manpages.
  * FEATURE(814): Added ID3v2 comment extraction.
  * FEATURE(854): Move radd to the serverside.
  * FEATURE(854): Wrap new xmmsc_playlist_radd() in Python.
  * FEATURE(854): Wrap xmmsc_playlist_radd() in C++ bindings
  * FEATURE(942): Also provide the mimetype for the base64 stored image.
  * FEATURE(953): Added bindata api
  * FEATURE(953): Wrap bindata api in python
  * FEATURE(953): id3v2 plugin now saves art with the bindata api
  * FEATURE(965): Added result_type_bin and updated PythonAPI and ID3v2 plugin.
  * OTHER: Add missing files
  * OTHER: Added a generic strnlen
  * OTHER: Added disclaimers, and comments to the URL decoding feature of the CLI.
  * OTHER: Better check for C++ compiler.
  * OTHER: DAAP plugin updates. DNS-SD (MacOSX etc) is now supported.
  * OTHER: Fix a stupid error and add some fail checking in id3v2
  * OTHER: Fix for bigendian and DAAP
  * OTHER: Fixed speling.
  * OTHER: Fixed stupid warning in output.c
  * OTHER: Fixed two small bugs in feature 1094
  * OTHER: Free some memory in medialib_destroy()
  * OTHER: Improve error message when cli can't create configfile.
  * OTHER: Include xmms_log.h in the DAAP plugin.
  * OTHER: Let DAAP plugin send more information on browse
  * OTHER: Let xmmsc_result_decode_url() be called without result argument
  * OTHER: Make outputplugin honour errors from write method.
  * OTHER: Make sure that sources.append() work in config stage.
  * OTHER: Make xmms_output_current_id visible for plugins
  * OTHER: Plug memory leak in medialib_source
  * OTHER: Really commit the fix for big endian machines
  * OTHER: Remove a warning
  * OTHER: Removed old dnssd code
  * OTHER: Removed spam in DAAP Plugin
  * OTHER: Replaced the LAME tag parsing code from the one found in madplay.
  * OTHER: Unblock connect() call in DAAP plugin.
  * OTHER: Updated COPYING
  * OTHER: Wrap xmmsc_xform_media_browse() in C++ bindings.
  * OTHER: bug fix for streamed metadata.
  * OTHER: fix small warning
  * OTHER: make sure that we update sources in a target after we runned config.
  * OTHER: remove unecessary debug output.
  * OTHER: remove warning about unused variable
  * OTHER: remove warning in xmms2-et
  * OTHER: remove warnings
  * OTHER: unbreak strnlen
  * OTHER: update .gitignore



Changes between 0.2 DrEvil and 0.2 DrFeelgood

 Release date: 2006-07-15
 Authors contributing to this release: 6
 Number of changesets: 54
 Number of files in this release: 380

 Cole Thompson:
  * Add (broken) DAAP xform
  * Removed standalone client (xform mostly complete now)

 Daniel Svensson:
  * BUG(839): Change to medialib version 29 and provide an upgrade path.
  * BUG(839): Change to medialib version 29 and provide an upgrade path.

 Sebastien Cevey:
  * Fixed another bug in the collection API (_coll_operand_save/restore).
  * Fixed small bugs in the collection API.
  * Use xmms_ipc_msg_get_collection_alloc instead of xmmsc_deserialize_coll.

 Sham Chukoury:
  * BUG(936): Use a property to handle the PropDict sources list

 Tilman Sauerbeck:
  * BUG(922): Let SQLite do the ordering so we don't need to reverse the list.
  * BUG(931): Properly export XMMS_PATH
  * BUG(933): Don't access freed memory.
  * BUG(933): Don't access freed memory.
  * BUG(934): Sort entries in "mlib addpath" before adding them.
  * BUG(938): 0 is a valid fd, so use -1 as the default value and in the asserts.
  * OTHER: Some formatting cleanup.
  * OTHER: Warning fix.

 Tobias Rundstrom:
  * BUG(941): Add a workaround for iTunes b0rkness to the id3v2.4 parser.
  * BUG(941): Add a workaround for iTunes b0rkness to the id3v2.4 parser.
  * BUG(945): Handle Xing's 'Info' header also
  * BUG(945): Handle Xing's 'Info' header also
  * FEATURE(354): Extend xmms_xform_browse_entry_add() with extended info.
  * FEATURE(942): Store media images in medialib from id3v2 tags.
  * OTHER: Cleanup building of loadables on MacOSX
  * OTHER: Cleanup building of loadables on MacOSX
  * OTHER: Fix annoying problem with SCons adding wrong dependecys for Programs sometimes
  * OTHER: Fix annoying problem with SCons adding wrong dependecys for Programs sometimes
  * OTHER: Fix annoying problem with SCons adding wrong dependecys for Programs sometimes
  * OTHER: Fix compiler warning
  * OTHER: Plug memoryleak in xform_chain_setup
  * OTHER: Plug memoryleak in xform_chain_setup
  * OTHER: Plug memoryleak in xform_chain_setup
  * OTHER: Plug memoryleak when destroying a client.
  * OTHER: Plug memoryleak when destroying a client.
  * OTHER: Plug memoryleak when destroying a client.
  * OTHER: Plugged two ugly memory leaks in mad plugin.
  * OTHER: Plugged two ugly memory leaks in mad plugin.
  * OTHER: Plugged two ugly memory leaks in mad plugin.
  * OTHER: Style cleanup for effect.c
  * OTHER: Style cleanup for log.c
  * OTHER: Style cleanup in object.c
  * OTHER: Style cleanup in playlist.c
  * OTHER: Style cleanup in plsplugins.c
  * OTHER: Style cleanup in ringbuf_xform.c
  * OTHER: Style cleanup in sample.c and sqlite.c
  * OTHER: Style cleanup in statfs.c
  * OTHER: Style cleanup in visualisation.c
  * OTHER: Style cleanup of medialib.c
  * OTHER: Style cleanups for mediainfo.c
  * OTHER: Updated Alex's email.
  * OTHER: Whitespace removal in xmms2-launcher.c
  * OTHER: remove whitespaces in xform.c
  * OTHER: style cleanup for config.c
  * OTHER: style cleanup for ipc.c
  * OTHER: style cleanup in main.c



Changes between DrDolittle+WIP+TEST2 and 0.2 DrEvil

 Release date: 2006-07-06
 Authors contributing to this release: 8
 Number of changesets: 28
 Number of files in this release: 380

 Alexander Botero-Lowry:
  * FEATURE(884): Add a insert command to the CLI

 Anders Gustafsson:
  * BUG(926): Don't crash on vorbiscomments that are empty or don't contain a =

 Cole Thompson:
  * Added the DAAP standalone client.

 Daniel Svensson:
  * BUG(839): change source "plugins" to "plugin"

 Sebastien Cevey:
  * Added support for extraction of collections from a result.
  * Added xmmsc_coll_operand_list_save/restore, and use them now.
  * Bug fixes, header declarations and various cleanup.
  * Check for NULL instead of '\0' at the end of string lists.
  * Fix xmmsclient++ to match the refactored API.
  * Important source tree refactoring, moved collection utility functions and xlist to src/lib/xmmstypes/.
  * Improved memory alloc/deallocation of collections, changed idlist to uints.
  * Initial code for collection IPC support, including serialization, IPC command generation.
  * Initial collection API, with all the collection manipulation functions.
  * Refactor files and headers to share things for client/server.

 Sham Chukoury:
  * OTHER, PYTHONMINOR: Return values from XMMS.ioin and XMMS.ioout
  * OTHER, PYTHONMINOR: xmmsglib: return value of xmms.ioin() so gsource can be
  * OTHER: Return false on ipc error when dispatching gsource in

 Tilman Sauerbeck:
  * BUG(888): Use the full config property key when registering a new property.
  * BUG(889): Properly access the config-property-changed dict.
  * OTHER: In clear_config(), don't destroy and recreate the hash table, but remove all entries.

 Tobias Rundstrom:
  * BUG(927): Fix CoreAudio init sequence for intel macs.
  * FEATURE(354): Add a method to browse files from xform plugins.
  * FEATURE(354): Add xform_media_browse to Python bindings
  * FEATURE(354): Add xform_media_browse to Ruby bindings
  * FEATURE(929): Store part of set in the medialib.
  * OTHER: Cleanup building of loadables on MacOSX
  * OTHER: Make sure that variables have sane names.
  * OTHER: Set WIP flag for postEvil



Changes between 0.2 DrEvil-RC1 and DrDolittle+WIP+TEST2

 Release date: 2006-06-11
 Authors contributing to this release: 6
 Number of changesets: 44
 Number of files in this release: 380

 Anders Gustafsson:
  * BUG(375): Adjust some loglevels.
  * BUG(593): Fix crash in python when callback raised exception.
  * BUG(764): Fix type of current_pos broadcast when removing from playlist.
  * BUG(850): Remove log-table.
  * BUG(855): Fix glitch when doing playback_start while already playing.
  * BUG(856): Fix seek_samples_rel.
  * BUG(858): Don't use assert to validate file data in wave plugin.
  * BUG(862): Make playback status go to stopped when going to end of playlist.
  * BUG(871): Skip effects that don't handle the sample format.
  * BUG(874): Replace braindead bandaid in samba with a slightly less braindead one.
  * BUG(880): Fix seeking in vbr mp3 files.
  * BUG(885): Fix noise when doing several xmms2 next too fast.
  * FEATURE(833): Support arguments on url in client lib.
  * FEATURE(851): Add timesplayed property.
  * FEATURE(852): Calculate HVSC fingerprint on sid files.
  * OTHER: Add some doxygen comments about xform stuff.
  * OTHER: Added "chain" property to medialib, containing colon-separated list of xforms used.
  * OTHER: Don't declare variable in middle of block in icymetaint.
  * OTHER: Enable jack plugin.
  * OTHER: Fix misleading comments in clientlib.
  * OTHER: Fix some minor warnings.
  * OTHER: Make ET send chain value.
  * OTHER: Remove ChangeLog file.
  * OTHER: Remove some unused functions from medialib.c
  * OTHER: Remove spam in magic.c

 Georg Schild:
  * BUG(842): Add versioncheck for swig
  * BUG(842): Add versioncheck for swig
  * BUG(847): Add support for typed mlibPropertySet in java bindings.

 Sham Chukoury:
  * BUG(789): Check for NULL from xmmsc_result_get_error in python bindings

 Tilman Sauerbeck:
  * BUG(849): Implemented PropDict#inspect.
  * BUG(878): Properly terminated argument list for xmms_output_stream_type_add().
  * BUG(883): Xmms::Client#medialib_property_set() now wants a symbol as the key.
  * FEATURE(732): Teach Ruby about typed mlib_property_set functions.
  * OTHER: Code cleanup.
  * OTHER: Fixed a compiler warning.
  * OTHER: Make on_prepare() static.

 Tobias Rundstrom:
  * BUG(844): Unbreak volume_set
  * FEATURE(732): Made the property_set functions in python typed.
  * FEATURE(732): Made the property_set functions typed.
  * OTHER: Don't run the statfs() call everytime we access the medialib.
  * OTHER: Remove broken topsongs command from cli.
  * OTHER: Remove un-update ChangeLog.
  * OTHER: move statfs() checks from SConstruct to src/xmms/Program

 Tobias Rundström:
  * FEATURE(732): Support for typed property_set in c++ api.



Changes between 0.2 DrDolittle and 0.2 DrEvil-RC1

 Release date: 2006-05-27
 Authors contributing to this release: 14
 Number of changesets: 243
 Number of files in this release: 379

 Alexander Botero-Lowry:
  * BUG(665): Updated manpages.
  * FEATURE(774): Manpage for the xmms2-et program

 Anders Gustafsson:
  * BUG(553, 758): Move output driving thread to outputplugin.c.
  * BUG(620): Remove some more uses of XMMS_OS_*
  * BUG(631): Redo xing+crc fix that got lost in xforms conversion.
  * BUG(737): Include correct file in sdl-vis.
  * BUG(740): Fix wildcard handling in source preference in python bindings.
  * BUG(741): Put plugins/* in default source preference.
  * BUG(744): Kill xmms_audio_format_t
  * BUG(750): Do xmms_medialib_entry_cleanup in xmms_xform_metadata_collect.
  * BUG(758): Move api_mutex to outputplugin.c
  * BUG(758): Start cleaning up output.c
  * BUG(758): White space cleanups.
  * BUG(759): Reenable id3v1 in mad.
  * BUG(760): Fix seeking in id3v2 plugin.
  * BUG(771): Seeking in vorbis.
  * BUG(792): Remove bad xmmsc_result_unref in broadcast handler, causing broadcast not to be called anymore.
  * BUG(792): Send medialib_entry_changed broadcasts correctly.
  * BUG(795): Handle unsync-flag in id3v2 tags.
  * BUG(822): Filler shouldn't go to running state if killed in stopped state.
  * BUG(830): Fix race on filler buffer in output. (simplify locking too)
  * BUG(840): Minor whitespace cleanups in id3v2.
  * BUG(840): Remove the numerous amount of references to mad in id3v2 plugin.
  * FEATURE(144): Decode urls correctly when setting up xform chains.
  * FEATURE(144): First steps towards seeking in xforms.
  * FEATURE(144): Implement full seeking again.
  * FEATURE(144): Update sid plugin to xforms. (based on patch by Jonas Berlin)
  * FEATURE(733): Disable plugins not ported yet.
  * FEATURE(733): Fix shutdown of new plugin api.
  * FEATURE(733): Use new plugin api.
  * FEATURE(757): Buffer in output.c
  * FEATURE(815): Implement seeking in eq.
  * FEATURE(831): Allow metadata to be set after init in xform plugins.
  * FEATURE(833): Support arguments in url (not implemented in clientlib yet)
  * OTHER: Add missing docfile.
  * OTHER: Don't use expressions with sideeffects in macros that can cause argument to be evaluated twice in wma. (fixes metadata on !LE platforms)
  * OTHER: Fix DOS linebreak screwup.
  * OTHER: Fix plugins/ices/encode.* license screwup.
  * OTHER: Fix xmms_xform_indata_get_int argument screwup in replaygain.
  * OTHER: Fixed warning in id3v2
  * OTHER: Improve COPYING file.
  * OTHER: Indentation cleanups for plugin api commits.
  * OTHER: Move id3v2 plugin to own directory.
  * OTHER: Remove 229 lines of unused code in mad.c
  * OTHER: Remove old XMMS_MEDIALIB_ENTRY_PROPERTY_*, rename XMMS_XFORM_DATA_* to XMMS_MEDIALIB_ENTRY_PROPERTY_*
  * OTHER: Set "subtunes" property in sid.
  * OTHER: Update AUTHORS
  * OTHER: Update copyright of xmms_defs.h.in
  * OTHER: Updated AUTHORS
  * OTHER: Whitespace cleanup in faad.c
  * OTHER: Whitespace cleanups in curl and icymetaint plugins.
  * OTHER: Workaround bug in pyrex.
  * OTHER: s/XMMS/XMMS2/ in version output.
  * Revert "BUG(840): Cleanup id3v2 plugin, remove all refrences to mad"

 Daniel Chokola:
  * OTHER: Cleanup SCons stuff in src/xmms/
  * OTHER: Update copyright notices to (C) 2003-2006 XMMS2 Team

 Daniel Kamiñski:
  * FEATURE(734): Add "mlib remove" command in cli.

 Daniel Svensson:
  * BUG(735): Actually use xmms_plugin_type_t
  * FEATURE(114): Include MMS transport plugin using libmms.
  * FEATURE(144): Update gnomevfs transport to the xforms api.
  * FEATURE(144): Update jack output plugin to the xforms API.
  * FEATURE(144): Updated musepack to xforms API.
  * FEATURE(144): Updated smb plugin to xforms API
  * OTHER: Added samba and sun to what I've done in AUTHORS
  * OTHER: Changed my copyright notices to XMMS2 Team
  * OTHER: Do not call _format_set before _open for output xforms.
  * OTHER: Make APEv2 parser not fail when unwanted tags found.
  * OTHER: Update alsa output to the xforms API.
  * OTHER: jack plugin xmms2 style cleanup

 Georg Schild:
  * BUG(724): Improve java bindings.
  * BUG(752): Make javabindings build with gcc 2.95
  * BUG(766): JMain needs xmmsc_io_disconnect() when spinning down
  * BUG(776): Fix license on some files in java bindings.
  * BUG(777): Fix java coding style.
  * BUG(810): Improve javabindings (old and new). JMain works better now and Xmms2Backoffice uses wait/notify for locking
  * Bug(778): Fix parameter for pluginList*() in Xmms2.java to follow

 Jonas Berlin:
  * BUG(756): Round duration correctly in cli.
  * BUG(772): Reimplement seeking in wave plugin.
  * BUG(800): Throw away peek buffer only when seek succeeds.
  * BUG(804): Fix seeking of mp3 in wave.
  * BUG(806): Make id3v2 & nulstripper seek functions return correct value.
  * FEATURE(144): Update curl to xforms API.

 Jonne Lehtinen:
  * BUG(745): xmmsc_medialib_remove_entry should take uint32_t instead of int32_t
  * BUG(843): Fix C++ bindings compilation on 64 bit arch.
  * Fix bug where broadcasts would always get disconnected.
  * Make (C++ bindings) Lists const correct.
  * OTHER: Add Quit handler for Client class.
  * OTHER: Add typedefs for slots, clean up helpers header a bit.
  * OTHER: Added 'contains' method for dicts to check if the dict has such key.
  * OTHER: Added async functions for Medialib class.
  * OTHER: Added async versions of Client::stats and Client::pluginList
  * OTHER: Added function wrappers for asynchronous methods.
  * OTHER: Added generic callback handler for xmmsclient++ async methods.
  * OTHER: Added scons file for xmmsclient++
  * OTHER: Change async functions to use the typedefs.
  * OTHER: Change callSignal functions to be inline instead of static
  * OTHER: Change foreach function names to 'each'... grr, qt...
  * OTHER: Changed boost::any to boost::variant.
  * OTHER: Check for types in List constructors.
  * OTHER: Comment Client class and modify the implementation a little so that doxygen finds the correct definitions and references.
  * OTHER: Comment Config class.
  * OTHER: Comment GMainloop class.
  * OTHER: Comment List class (ignore the specializations from the doxygen, commenting on List<T> and SuperList should suffice).
  * OTHER: Comment Playback class and fix volumeGet to return Dict instead of unsigned int.
  * OTHER: Comment Stats class and reorder the functions a bit (for better output from doxygen).
  * OTHER: Comment helpers and fix the line widths.
  * OTHER: Comment signal.h, this won't show up on the doxygen by default though.
  * OTHER: Comment the rest of the functions in Medialib class, reorder the functions a bit (for doxygen) and fix comments in Playlist class.
  * OTHER: Comment the rest of the functions in Playlist class.
  * OTHER: Comment typedefs and fix the Xmms::bind comment not to link boost::bind on themselves.. Couldn't fix the long and incorrect reference list though.
  * OTHER: Commented exceptions, some changes.
  * OTHER: Create MainloopInterface to implement mainloops and modify files to work with it properly.
  * OTHER: Created a singleton to handle storing and deletion of Signal objects.
  * OTHER: Delete custom mainloop and unref connection on disconnection. Also
  * OTHER: Fix doxygen warnings for client.h and prevent doxygen from reordering the functions (required for @overload command).
  * OTHER: Fix empty list bug.
  * OTHER: Fix pkg-config deps mess with cpp bindings
  * OTHER: Implement Glib Mainloop integration.
  * OTHER: Implement Medialib class.
  * OTHER: Implement Xmms::Dict::get, templated function to retrieve a value from the dict.
  * OTHER: Implement async functions for Playback class.
  * OTHER: Implement async functions for Playlist class.
  * OTHER: Implement broadcast/signals for Playback class.
  * OTHER: Implement disconnect callback, fix leak if setMainloop is called multiple times (bad thing anyway usually).
  * OTHER: Implement foreach for Dict and PropDict.
  * OTHER: Implement missing Playback::CurrentID sync and async versions.
  * OTHER: Implemented sync playlist functions in xmmsclient++.
  * OTHER: In xmmsclient++, wrapped C function calling and checks in one function and made implemented functions to use it instead.
  * OTHER: Make scons install all xmmsclient++ headers.
  * OTHER: Overload signal stuff for empty argument list (Signal< void >)
  * OTHER: Remove obsolete *_foreach function completely (Function declarations were still there).
  * OTHER: Remove the stupid Xmms::Detail namespace and move SuperList to the Xmms namespace.
  * OTHER: Removed old shared_ptr header from client.h
  * OTHER: SignalHolder implementation.
  * OTHER: Simplified the signal code, removed shared_ptr, unified template specializations.
  * OTHER: Specialize extract_value for xmms_playback_status_t* (Playback::Status)
  * OTHER: Wrap boost::bind in Xmms::bind for easier use.
  * OTHER: delete mainloop in client destructor if it exists.
  * Use StatusSlot for broadcastStatus instead of UintSlot.

 Juho Vähä-Herttua:
  * BUG(507): Make XMMS2 compile on Solaris.
  * BUG(678): Glibify time() call in mediainfo.c.
  * BUG(769): Fix ringbuf bug causing underrun loops on eos.
  * BUG(829): Make equalizer plugin check for enabled config value.
  * BUG(832): Fix pkgconfig value of WMA to be correct.
  * FEATURE(115): Include ASF/WMA transform plugin which uses ffmpeg library.
  * FEATURE(144): Enable seeking in faad plugin and remove compiler warnings.
  * FEATURE(144): port faad plugin to xform API and update the copyright note
  * FEATURE(784): Gapless playback of Nero encoded AAC files.
  * FEATURE(815): Replace the old equalizer with a new one from EQU project.
  * OTHER: Clean up the equalizer code to conform style requrements.
  * OTHER: Clean up the faad Plugin file to set correct flags.
  * OTHER: Fix compilation bug in new equalizer.
  * OTHER: Update COPYING and wma license to be correct.

 Pauli Virtanen:
  * FEATURE(725): Wrapper for xmmsc_medialib_playlist_list in Python bindings

 Sebastien Cevey:
  * BUG(755): Change xmmsc_result_source_preference_set to take char**
  * BUG(755): Change xmmsc_result_source_preference_set to take char**
  * BUG(783): Fixing xmmsc_result_get_dict_entry_* functions introduced in -devel.
  * BUG(783): Moved functions around into correct (possibly new) modules, removed OtherControl module.
  * BUG(783): Renamed xmmsc_result_get_dict_entry_int32/uint32/str to xmmsc_result_get_dict_entry_int/uint/string (resp.),
  * BUG(783): rename playlist_insert/add to playlist_insert/add_url
  * OTHER: Add sqlitePrepareString method to Medialib.
  * OTHER: Added a PropDict class.
  * OTHER: All functions now added, including new modules (config, stats).
  * OTHER: Cleanup indent in stats.
  * OTHER: Document mainloop.h and listener.h
  * OTHER: Fix PropDict::setSource to use the heap.
  * OTHER: Fix crash of the mainloop on disconnection.
  * OTHER: Fix headers to consider new xform plugin types.
  * OTHER: Hide private details from doc.
  * OTHER: Insert xmms2 listener on reconnection.
  * OTHER: Remove Xmms::Listener from mainloop on disconnection.
  * OTHER: Remove deprecated Detail::*_foreach functions.
  * OTHER: Renamed xmmsclient++2.h to xmmsclient++.h
  * OTHER: Some more commenting in Client.
  * OTHER: Update AUTHORS with Eclipser and theefer's infos.
  * OTHER: Update all classes to use MainloopInterface.

 Tilman Sauerbeck:
  * BUG(653): Add xmmsc_configval_register() to the Ruby bindings.
  * BUG(736): Support MP3 data in wave files.
  * BUG(754): Fixed propdict handling.
  * BUG(767): Temporary fix. atm, only the first xform in the chain doesn't have a plugin set, so we gather meta data from all the xforms but the first one.
  * BUG(768): Added nulstripper transform.
  * BUG(770): Ported effect stuff to transforms. Replaygain only atm.
  * BUG(773): Only store id3v1 tags when the metadata property hasn't been set before (ie when there's no equivalent id3v2 tag). Not configurable yet.
  * BUG(779): Use peek instead of reads in nulstripper so we can get rid of the seek call.
  * BUG(780): Cleaned up compute_gain() calls.
  * BUG(785): Spelling fixes.
  * BUG(808): Unbreak FLAC tags.
  * BUG(809): Read replaygain tags for FLACs. Note that only 'modern' style rp tags are read. I don't know whether FLAC wrote 'old' style tags at a point.
  * BUG(811): Unbreak xmms_output_volume_get().
  * BUG(812): Check arguments in xmmsc_*.
  * BUG(813): Ignore seek requests for +0/-0 seconds. Also improved argument handling.
  * BUG(814): Read "comment" tags for Vorbis and FLAC files.
  * BUG(816): Don't do the utf8-to-locale conversion for data that will be g_print()'ed, because it will handle the conversion itself.
  * FEATURE(144): Implement seeking for FLAC.
  * FEATURE(144): Ported the diskwrite plugin to the transforms API.
  * FEATURE(144): Ported the null plugin to the transforms API.
  * FEATURE(144): Ported the wave plugin to the transforms API.
  * FEATURE(144): vorbis/flac don't need to make sure that the read and seek methods aren't called at the same time manually anymore as that's handled by the transforms API now.
  * FEATURE(834): Added Xmms::VERSION.
  * OTHER: 'write'-type output plugin need both open and close methods.
  * OTHER: Cleaned up the id3v2 plugin. Removed "mad" prefix from functions, since mad isn't used at all.
  * OTHER: Code cleanup.
  * OTHER: Disable the musepack plugin until it's ported to the transforms API.
  * OTHER: Fix nulstripper includes.
  * OTHER: Fix silly extra cast in wave.c.
  * OTHER: Fixed a few compiler warnings that only occur when enabling optimizations.
  * OTHER: Fixed formatting; apparently I'm the only who cares.
  * OTHER: Glibify some parts of xform.c
  * OTHER: Implementing seeking for replaygain.
  * OTHER: Improve replaygain's format handling.
  * OTHER: Make add_metadatum static.
  * OTHER: Make functions static.
  * OTHER: Make sure a value is return from non-void functions.
  * OTHER: Make xmms_nulstripper_plugin_setup static.
  * OTHER: Provide a fallback in xmms_xform_shortname_get() for xforms without a plugin.
  * OTHER: Slight code cleanup.
  * OTHER: Some formatting fixes.
  * OTHER: Tweaked some error messages.
  * OTHER: Use proper return values in read methods.
  * OTHER: Whitespace/formatting cleanup.

 Tobias:
  * BUG(840): Cleanup id3v2 plugin, remove all refrences to mad

 Tobias Rundstrom:
  * BUG(730): Fix compilation flags for mDNS/dns_sd
  * BUG(739): C89 fixes.
  * BUG(762): Remove views from medialib.
  * BUG(781): When a client edits mlib-entries the mlib_entry_changed_broadcast is now called
  * FEATURE(144): Made CoreAudio work with transforms API.
  * FEATURE(144): Updated CoreAudio output to xforms API
  * FEATURE(144): port FLAC plugin to xform API
  * FEATURE(275): Assert if user puts medialib.db on a remote filesystem.
  * FEATURE(761): Make log function include file:row
  * OTHER: Add -install_name on macosx
  * OTHER: Added xmmsclient++ checks for libboost
  * OTHER: Cleanup SConstruct a bit.
  * OTHER: Disable some plugins
  * OTHER: Fix stupid scons typo.
  * OTHER: Make output_status take xmms_playback_status_t instead of int
  * OTHER: Make some error messages use xmms_log_error instead of DBG
  * OTHER: Provide upgrade path between v26 and v27
  * OTHER: Set WIP flag
  * OTHER: We do now not free the query before we log.
  * OTHER: expose xform_iseos
  * OTHER: fix logic in xmms_output_plugin_verify
  * OTHER: temporary ugly fix for building on darwin until we cleanup scons



Changes between 0.2 DrCox and 0.2 DrDolittle

 Release date: 2006-03-27
 Authors contributing to this release: 12
 Number of changesets: 140
 Number of files in this release: 315

 Alexander Botero-Lowry:
  * FEATURE(630): Added a medialib_entry_add signal.
  * FEATURE(641): property_remove method

 Anders Gustafsson:
  * BUG(695): Fix race when seeking in vorbis.
  * FEATURE(144): xform plugins
  * FEATURE(198): Java bindings.
  * OTHER: Updated AUTHORS.

 Chris Morgan:
  * FEATURE(696): Update jack plugin to new Volume API

 Dan Chokola:
  * FEATURE(649): Add plugin_list to ruby bindings

 Daniel Chokola:
  * BUG(650): Split plugin "name" string and add plugin versioning
  * BUG(653): Ruby:: add bindings for xmmsc_main_stats
  * BUG(655): Fix crash in volume broadcast
  * BUG(664): broadcast_configval_changed now uses the config property's key as the dict entry's key and the config property's value as the dict entry's value.

 Daniel Svensson:
  * BUG(327): Hide stderr when running configuration tools.
  * OTHER: Add startup script for medialib-updater
  * OTHER: Added prepare_string to python bindings.
  * OTHER: Adding xmmsc_result_get_class to C++ bindings via getClass()
  * OTHER: Plug mem-leak in medialib-updater
  * OTHER: medialib-updater updated to the current API.
  * OTHER: xmmsc_result_type_get -> xmmsc_result_get_class

 Georg Schild:
  * BUG(720): javabindings codecleanups
  * FEATURE(198): Java bindings.

 Jonne Lehtinen:
  * Added List class.
  * OTHER: Adding a Dict wrapper class to xmmsclient++.
  * OTHER: Proper handling of Dicts using static maps.
  * OTHER: Refactor the mainloop to be unique, change methods to use Dicts and DictLists and be sync-safe.

 Sebastien Cevey:
  * BUG: Fixed erroneous casting in generic_handler.
  * Cleaner handling of MainLoop creation in Client.
  * Commit first drafts of the new xmmsclient++, most code by Eclipser.
  * Create an Xmms::Plugins namespace for plugin types.
  * Created subclass to circumvent absence of template typedefs.
  * DOC: Fixed comments in clientlib.
  * FEATURE(616): format_pretty_list in cli should check $COLUMNS
  * FEATURE(654): Support for * wildcard in sources
  * Fix more bugs, include MainLoop in Client (badly) ; mainloop now tested and working!
  * Fixed comments in result.c.
  * Fixed more of ++_methods.h, including configvals.
  * Make everything compile, including mainloop and listener.
  * Now have signal and slots matching the result class.
  * OTHER: Simplified the usage of signals in the C++ clientlib.
  * OTHER: Use signal class instead of signal1.
  * Small coding and organization cleanup in C++ bindings.
  * Transformed template result classes into static classes, now properly typedef'd

 Tilman Sauerbeck:
  * BUG(637):Added result typification.
  * BUG(653): Wrap xmmsc_io_need_out_set_callback() in the Ruby bindings. Patch by Dan Chokola.
  * BUG(653): Wrap xmmsc_medialib_get_id() in the Ruby bindings. Based on a broken patch by Dan Chokola.
  * BUG(653): Wrap xmmsc_medialib_playlist_list() in the Ruby bindings.
  * BUG(653):Wrap xmmsc_configval_list() in the Ruby bindings.
  * BUG(653):Wrap xmmsc_medialib_playlist_remove() in the Ruby bindings.
  * BUG(660): Emit the current volume in broadcast_volume_changed.
  * BUG(669):xmmsc_configval_list() now returns a dict that contains the config property's names and values instead of a list of names. Patch by Dan Chokola.
  * BUG(672):Tweak Ruby module/class names. Patch by Dan Chokola.
  * BUG(672):Update the sample script, too.
  * BUG(682): The argument to Xmms::Client#plugin_list is optional now.
  * BUG(685): Fix bad memory usage in xmms_config_property_register().
  * BUG(685): Unbreak xmmsc_configval_list(). The bug was introduced by the patch for bug 669.
  * BUG(687): Fixed the converter.c builder.
  * BUG(688): snd_mixer_handle_events() returns the number of events that occured on success (this isn't documented), so we need to check for err < 0 to determine if an error occured or not.
  * BUG(689): Initialize the command argument in xmms_object_emit_f().
  * BUG(690): Remove output->object_mutex since it's not needed.
  * BUG(694): Replace 'cid' with 'cookie' in the various APIs. This also removes xmmsc_result_cid() from the public libxmmsclient interface.
  * BUG(699): Make sure xmms_output_open() unlocks the API mutex.
  * BUG(705): Fixed a typemap bug in the Java bindings.
  * BUG(707): Use g_usleep() instead of nanosleep() in the null plugin.
  * BUG(721): Properly evaluate the dict in handle_config().
  * BUG(722): Use xmms_ipc_msg_put_uint32() to store the unsigned int new_pos in xmmsc_playlist_move() instead _put_int32().
  * BUG(723): Don't enforce that XMMS_PATH is set.
  * FEATURE(630):Unsuckify the Ruby method.
  * OTHER: Close the device _before_ returning from the function. That bug was introduced by the fix for bug 703.
  * OTHER: Code cleanup.
  * OTHER: Code cleanup/formatting.
  * OTHER: More Ruby bindings macro voodoo crap.
  * OTHER: Moved the declarations of xmmc_result_seterror() and xmmsc_result_restartable() to the private header file.
  * OTHER: Moved type definitions above function prototypes.
  * OTHER: Remove some casts that aren't needed anymore.
  * OTHER: Removed xmms_ipc_msg_get(), as it's both buggy and unused.
  * OTHER: Removed xmms_ipc_msg_get_reset(), it's not used.
  * OTHER: Update alsa.c copyright.
  * OTHER:Indentation fix.
  * OTHER:Ruby bindings code cleanup.
  * OTHER:Use the proper type for the method argument in Client#plugin_list.

 Tobias:
  * BUG(703): Make sure that we check return value of snd_pcm_open()

 Tobias Rundstrom:
  * BUG(631): Fix XING headers in MP3 files with CRC headers.
  * BUG(635): Ruby 1.9 dectection patch by Dan Chokola
  * BUG(643): Make quit function in main set a timeout and return.
  * BUG(652): rename xmmsc_main_status() -> xmmsc_main_stats()
  * BUG(658): Fix complation for C89 compilers.
  * BUG(667): Move decoder_init_for_decoding into the while loop.
  * BUG(668): Make sure that medialib id is set before sending signal.
  * BUG(668): Set error string when asking for a ID that doesn't exsist.
  * BUG(670): change clientlib functions taking char* where const char* would be sufficient
  * BUG(673): Remove , at end of enums.
  * BUG(675): Temporary fix for JAVA_HOME for DrDolittle release.
  * BUG(676): Fix rubybindings for OSX
  * BUG(681): Don't FPE in MAD's duration calculation.
  * BUG(684): Rename Log.value to Log.percent
  * BUG(702): Fixed crashbug in Jack plugin.
  * BUG(710): Make OSS format probing work in all cases.
  * BUG(711): Return NULL instead of assert in volume_get
  * BUG(712): Don't assert on play when output plugin isn't loaded.
  * BUG(713): Don't assert if the volume thread isn't running.
  * DOC(648): Fix error message patch from Dan Chokola.
  * DOC: Update copyright year
  * DOC: Updated AUTHORS
  * DOC: We now depend on SCons 0.96.90, enforce this.
  * DOC: show which pkg-config modules we are searching for
  * Disable autogeneration of C++ methods.
  * FEATURE(114): Converted vorbis plugin to xforms.
  * FEATURE(644): Add multiple socket support for xmms2d
  * FEATURE(662): Added more indexes to SQLite.
  * FEATURE(662): Found the big resource hog.
  * FEATURE(662): Only emit unindexed signal once every 50th entry.
  * FEATURE(662): Started optimization rounds for medialib imports.
  * FEATURE(662): let path_import call insert directly to avoid running select MAX()
  * FEATURE(669): Added mDNS agent.
  * FEATURE(693): Reduce resources used by xmmsipc
  * FEATURE(716): Utilize the ANALYZE table to speed up medialib.
  * OTHER: Add whitespace
  * OTHER: Added more methods for promoe
  * OTHER: Don't leak huge amount of memory in medialib-updater.
  * OTHER: Don't try to link on osx
  * OTHER: Fix configuration output.
  * OTHER: Fix ruby for other platforms, breakage in previous patch.
  * OTHER: Make mDNS clients check XMMS_PATH_FULL instead of XMMS_PATH
  * OTHER: Remove some debugging info.
  * OTHER: Removed warning.
  * OTHER: Revert C++ wrapper.
  * OTHER: Revert patch for bug 667.
  * OTHER: Rework ruby compliation on macosx and remove dependency on unreleased SCons
  * OTHER: Set WIP flag for next release
  * OTHER: Use resonable flags in the c++ library file.
  * OTHER: add getCID() command to c++ libs.
  * OTHER: added more C++ methods
  * OTHER: fail in xmms_medialib_entry_to_list if we came back empty handed.
  * OTHER: fix merge error.
  * OTHER: fix potential memory leak in mad plugin.
  * OTHER: fixed typo.
  * OTHER: removed old script code.
  * OTHER: speling misstake.
  * OTHER: use source argument in unresolved query also.
  * OTHER: xmms2-et didn't quit if xmms2d wasn't running.



Changes between 0.2 DrBombay and 0.2 DrCox

 Release date: 2006-02-21
 Authors contributing to this release: 12
 Number of changesets: 103
 Number of files in this release: 296

 Alexander Botero-Lowry:
  * BUG(598): Remove old code blocks.
  * DOC(437): Update documentation for xmms2d.

 Anders Gustafsson:
  * BUG(121): Fix race when writing message to clients.
  * BUG(358, 567): Read bitrate from vbr-files in mad. Set vbr flag in mediainfo.
  * BUG(587): Fix rounding error in resampler.
  * BUG(595): Make xmms_medialib_entry_new* propagate errors.
  * BUG(607): Add support for DragonFlyBSD (from Robert Sebastian Gerus)
  * BUG(613): Make it work on SQLite 3.3.3
  * BUG(619): Allow platforms with "-" in name.
  * BUG(619): HP-UX portability.
  * BUG(620): Set default output with scons magic instead.
  * BUG(623): Don't start medialib sessions recursivly in xmms_medialib_select_and_add
  * BUG(624): Set create correctly in xmms_sqlite_open
  * BUG(625): Use ifnull(max(id),0) in prepare_playlist to avoid error with no playlists
  * BUG(626): Make xmms_sqlite_query_table report errors via xmms_error_t
  * BUG(629): Store url in transport to make life easier for playlistplugins.
  * FEATURE(627): Only report errors with xmms_log_error, use xmms_log_info for info
  * FEATURE(633): Add medialib_begin debugging.
  * FEATURE(634): Make et report number of playlist loads and medialib resolves.
  * OTHER: Add +WIP tag to version
  * OTHER: Cleanup source-handling a bit medialib.c
  * OTHER: Fix error-handling in query-functions in sqlite.
  * OTHER: Handle G_LOG_LEVEL_CRITICAL too.
  * OTHER: Handle symbolic refs in .git/HEAD
  * OTHER: Make resolving of git commit id use git-rev-parse.
  * OTHER: Make xmms2d -V more verbose.
  * OTHER: Make xmms_object_cmd_value_str_new take const gchar *
  * OTHER: Report used sqlite version.
  * OTHER: Update AUTHORS
  * OTHER: Updated AUTHORS
  * OTHER: Use full precision when calculating xing vbr bitrate.
  * OTHER: mad.c cleanups. Based Daniel Chokola's patch.
  * OTHER: rework mediainfo-resolver-loop.

 Bernhard Leiner:
  * BUG(136): Update sun output plugin.

 Chris Morgan:
  * BUG(576): Fixes so that xmms2d doesn't abort when jackserver isn't reachable

 Daniel Chokola:
  * FEATURE(323): Report FLAC bitrate from header.

 Daniel Svensson:
  * BUG(382): Don't mix async/sync in xmms2 cli status
  * BUG(577): Teach APEv2 tag parser to parse more tags.
  * BUG(610): make query param to xmmsc_medialib_add_to_playlist const
  * BUG(611): XMMS2 cli client split to many files
  * BUG(612): Extract year from APEv2 tags.
  * BUG(618): in xmms2 list only increase total_playtime with valid values.
  * OTHER: Glibify the xmms2 cli client.
  * OTHER: Replace ugly sprintfs with g_build_path in the xmms2 cli
  * OTHER: Replace use of printf/fprintf with print_info/print_error
  * OTHER: SConstruct portability
  * OTHER: Unused headers in xmms2_client.h removed.
  * OTHER: scons pkg-config helper portability

 Jens Taprogge:
  * DEBIAN: New snapshot, use new intro clip
  * [DEBIAN] New snapshot

 Juho Vähä-Herttua:
  * BUG(608): Fix faad plugin to handle MusicBrainz tags.

 Sebastian Cevey:
  * FEATURE(606): Add relative seeking to clientlib.

 Sebastien Cevey:
  * BUG(615): xmmsc_init now takes a const char* instead of a char*.
  * Made XMMSResultList a top-class.
  * Modularized XMMSResult into typesafe subclasses.
  * Rename getDict/Prop/List and make them return objects on stack.
  * Replaced signal pointer by an object.
  * Solved the issue with mixed-type dicts.

 Tilman Sauerbeck:
  * BUG(29,484):New mixer/volume API.
  * BUG(549):Ruby documentation update from Dan Chokola with some tweaks and additions by myself.
  * BUG(599):C89 cleanup patch from Alexander Botero-Lowry.
  * BUG(601): Rename the "configlist" command to "config_list" for consistency.
  * BUG(602):Mark the 'autosaved' playlist as an internal one.
  * BUG(603): Make xmms_medialib_entry_to_list() fail if 'entry' is zero.
  * BUG(604):Add volume control to the CLI. Patch by Dan Chokola.
  * FEATURE(600):Ruby bindings for the new mediainfo reader calls.
  * OTHER:Add my GnuPG key information to AUTHORS.
  * OTHER:Fix a potential memory management problem wrt xmms_ipc_msg_get_string_alloc().
  * OTHER:Fix stupid bug in the OSS mixer API.
  * OTHER:Fixed a compiler warning.
  * OTHER:Fixed some bad whitespace.
  * OTHER:Implement XmmsClient#medialib_playlists_list.
  * OTHER:Remove debugging helper from xmmsc_result_decode_url().
  * OTHER:Remove outdated comment.

 Tobias Rundstrom:
  * BUG(590): Check medialib id before adding it to playlist.
  * FEATURE(29): Fixed volume api in coreaudio plugin.
  * FEATURE(29): Wrap the new volume API for Python.
  * FEATURE(580): Let callback based plugins propagate error from the status_method.
  * FEATURE(600): Add pythonbindings for the mediainfo reader status.
  * FEATURE(600): Added a status broadcast and a counter for the mediainfo reader.
  * FEATURE(605): Let callback based plugins propagate errors.
  * FEATURE(622): Add transaction support to medialib.
  * FEATURE(627): Report errors with xmms_log_error in wave plugin.
  * FEATURE(632): Added a C++ wrapper to the clientlib.
  * OTHER: Be able to list a empty playlist.
  * OTHER: Be more strict about the namespace in c++ wrapper.
  * OTHER: Better reporting of SQL errors from the server.
  * OTHER: C++ binding updates.
  * OTHER: Changed decoder_iseos to make subsequent call to ringbuf_iseos instead of checking decoder->threads status.
  * OTHER: Cleanup some warnings in mediainfo.c
  * OTHER: Don't double free mediareader on exit.
  * OTHER: Don't hold the medialib lock forever in check_id() function.
  * OTHER: Fixed some warnings in output.c
  * OTHER: Release medialib sessions better(?) in the medialib_playlist code.
  * OTHER: Remove cd player plugin.
  * OTHER: Remove useless directory.
  * OTHER: Removed ugly warning.
  * OTHER: Report VBR bitrate in bits not kbits
  * OTHER: Report errors better from sqlite
  * OTHER: Speling errors.
  * OTHER: Stupid bug in mediainfo.
  * OTHER: Use same type everywhere in xmmsclient.h
  * OTHER: make xmmsclient++_methods.h depend on xmmsclient.h



Changes between 0.2 DrAlban and 0.2 DrBombay

 Release date: 2006-01-13
 Authors contributing to this release: 10
 Number of changesets: 54
 Number of files in this release: 291

 Alexander Botero-Lowry:
  * BUG(540): Fix playlist move documentation.
  * BUG(571): Fix compilation FreeBSD 4.x

 Anders Gustafsson:
  * BUG(515): Remove bogus x_list_remove call in xmmsc_ipc_result_lookup
  * BUG(524): Allow checkheader to take a list
  * BUG(528): Make has_key in PropDict respect source_preference.
  * BUG(529): Fix handling of length field in frames in id3v2.4 tags.
  * BUG(545): Encode url correctly when adding songs to medialib only.
  * BUG(546): Remove useless src/xmms/xmms2.conf file.
  * BUG(562): Don't crash in transport_open if entry has disappeared from medialib.
  * BUG(573): Make xmms_transport_read_line work with files without ending \n
  * BUG(574): Report tracknumber correctly in faad.
  * BUG(578): Fix buffersize calculation in resampler, and make it not realloc every buffer.
  * FEATURE(559): Check glib version. config-, compile- and runtime.
  * OTHER: Make sqlite-threadhack logmessage use info level instead of debug.
  * OTHER: Revert "BUG(558): Flush soundcard buffer on stop."
  * OTHER: Updated AUTHORS and INSTALL files.
  * OTHER: Updated version to -WIP
  * OTHER: s/cache/index/ in gittools.py

 Daniel Svensson:
  * BUG(570): script install message should not lie

 Jens Taprogge:
  * DEBIAN: Add missing file debian/xmms2-et.install.
  * [DEBIAN] Add libsidplay2-dev to Build-Depends; remove et-launcher
  * [DEBIAN] Force the version of -et to match -core.
  * [DEBIAN] New snapshot
  * [DEBIAN] New snapshot (0.2 - DrAlban)

 Juho Vaha-Herttua:
  * FEATURE(503): Use platform independent GOption instead of getopt when parsing options to xmms2d

 Juho Vähä-Herttua:
  * BUG(572): faad plugin doesn't read track id, year etc. from mp4 files

 Sebastien Cevey:
  * BUG(511): Make xmmsc_sqlite_prepare_string take const char * instead.

 Tilman Sauerbeck:
  * BUG(514):Don't open/close the ALSA mixer handle in the OPEN/CLOSE methods.
  * BUG(525):Warn about results_list misuse.
  * BUG(541): Register the "enabled" config properties after loading the plugin, not when it's used for the first time.
  * BUG(542): Made xmms_plugin_info_add() check for NULL arguments.
  * BUG(543):xmms_plugin_new() rejects invalid "type" values now.
  * BUG(544): Don't accept NULL for 'shortname' in xmms_plugin_new().
  * BUG(547):Added description for XMMS_ERROR_EOS.
  * BUG(551): Handle NULL hash table in xmms_object_cmd_value_free().
  * BUG(557):Fix documentation for xmmsc_playlist_move() (client libraries and CLI)
  * OTHER:Cleaned up ALSA mixer code a bit.
  * OTHER:Code cleanup.
  * OTHER:Code cleanup.
  * OTHER:Code cleanup.
  * OTHER:Code cleanup.
  * OTHER:Code cleanup.
  * OTHER:Code cleanup.
  * OTHER:Fixed xmmsclient error messages.
  * OTHER:Formatting.

 Tobias:
  * BUG(523): When adding a new entry, handle an empty Media table.
  * BUG(527): Fix crashbug in playlist_insert when playlist len was 0

 Tobias Rundstrom:
  * BUG(518): xmms_sqlite_query_array now handle errors and empty rows.
  * BUG(548): Added new intro clip.
  * BUG(558): Flush soundcard buffer on stop.
  * FEATURE(552): Make flush on pause a configuration value.
  * FEATURE(554): Add size property to entries.
  * FEATURE(579): Add topsongs command to CLI client.
  * OTHER: Postmerge from -tilman.



Changes between 0.1DR2.2 and 0.2 DrAlban

 Release date: 2005-12-18
 Authors contributing to this release: 15
 Number of changesets: 195
 Number of files in this release: 291

 Alexander Botero-Lowry:
  * FEATURE(387): Add proxy configuration to curl plugin.

 Anders Gustafsson:
  * BUG(257): Don't die when alsa returns -EINTR
  * BUG(276): Rip out daemonisation from xmms2d.
  * BUG(289): Encode paths so they are valid utf8 when stored in medialib.
  * BUG(359): Make sure transport stops buffering before seeking.
  * BUG(374): Use glib's function for logging
  * BUG(375): Adjust loglevels for messages (WIP)
  * BUG(386): Do proper cleanup in diskwrite plugin.
  * BUG(391): Fix crash on bad options to xmms2d.
  * BUG(401): Add -q to decrease verbosity of xmms2d
  * BUG(407): Fix playlist sort crash on missing mediainfo.
  * BUG(408): Make playlist sort stable.
  * BUG(410): Don't update gitcache if running as another user.
  * BUG(425): Do explicit fflush after printf in log.c.
  * BUG(438): Don't die when wakeup pipe couldn't be allocated. Fix potential deadlock.
  * BUG(441): Use "PRAGMA user_version" in sqlite.
  * BUG(474): Don't rebuild manpages on every build.
  * BUG(476): Fix race when creating decoder thread.
  * BUG(478): Don't crash when changing plugin while playing.
  * BUG(478): Fix changing outputplugin without breaking other things.
  * BUG(478): Fix got lost in some merge.
  * BUG(482): Fix deadlock when seeking after buffer thread reached EOF in transport
  * BUG(498): Reset playtime when stopping playback.
  * BUG(501): Fix compilation on OpenBSD (from Bernhard Leiner)
  * BUG(502): Give more useful errormessage when plugin dir not found.
  * BUG(508): Fix massive memleak in visualisation layer.
  * FEATURE(276): Add xmms2-launcher program.
  * FEATURE(282): Use one dict for all sources in python. Backwards compatible!
  * FEATURE(453): Quit broadcast, emitted when the daemon terminates.
  * FEATURE(468): Add xmmsc_result_decode_url function.
  * FEATURE(477): Put information about what decoder/transport and converter is used in medialib.
  * FEATURE(487): Finish xmms2-et.
  * FEATURE(487): Phone home agent that provides testcoverage data.
  * OTHER: Allow cmd's to have more than two arguments.
  * OTHER: Clean up transport more, delay seeking until first read after seek.
  * OTHER: Cleanup transport.c
  * OTHER: Use commithash-file from snapshot to provide nice version information.

 Chris Morgan:
  * BUG(334):Fixed noise in Jack plugin.

 Daniel Chokola:
  * BUG(397):Added missing xmms_medialib_end() call.
  * OTHER: Fix compilation of medialib-updater
  * OTHER: Removed magic.h from some plugins.
  * OTHER: Updated samba plugin to new API
  * OTHER: remove M3U warning.

 Daniel Svensson:
  * BUG(356): Silence output when playlist is empty.
  * BUG(426): Store tracknr as int
  * BUG(426): Store tracknr as int in flac too
  * BUG(428): musepack decoder plugin
  * BUG(460): Check if the stream is seekable instead of assuming it is.
  * BUG(461): Do not assert in musepack's get_mediainfo
  * BUG(462): musepack ape-tag portability
  * OTHER: Updated comments for the APE parser.

 Jens Taprogge:
  * [DEBIAN] New snapshot

 Johannes Heimansberg:
  * FEATURE(445): Sort entries in CLI that should be removed.

 Juho Vaha-Herttua:
  * BUG(350): Fix problems with possible empty ID3 tags and make the detection little cleaner.
  * BUG(360): Enabled faad plugin again with a check for NeAACDecInit2 now and
  * BUG(361): Update for modplug plugin magic checks instead of mime type checking.
  * BUG(402): Added magic checks for AAC in MPEG
  * BUG(402): Make sure that MAD plugin tries to handle MPEG Layer I, II and III but not IV
  * BUG(483): fix FAAD breaks with libfaad 2.0 and mono/non-16-bit files
  * FEATURE(371): faad plugin now supports AAC files with ADIF header

 Magnus Bjernstad:
  * FEATURE(398),PYTHONMINOR: Add missing plugin_list to python bindings

 R�mi Vanicat:
  * BUG(404): Speed up topsongs view.

 Sebastien Cevey:
  * BUG(411): Keep relative playlist position after the playlist has been sorted.
  * FEATURE(346): Added new function playlist_insert_id that works like playlist_insert but on id numbers.
  * OTHER: Correct a small position bug in playlist_add

 Sham Chukoury:
  * BUG(255): rename xmms_config_value_* to xmms_config_property_*
  * BUG(389): Make xmms_config_init return FALSE when encountering invalid config files
  * BUG(429): add config file versioning
  * BUG(430): fix xmms_config_init
  * BUG(431): rename xmms_plugin_config_value_register to xmms_plugin_config_property_register
  * BUG(434): Revert to default config on parse error
  * OTHER: Minor python bindings docstrings fix
  * OTHER: Update documentation in config.c
  * OTHER: fixup internal API breakage from previous commit
  * OTHER: missed alsa & eq plugins when trying to fix breakage
  * OTHER: rename *type_get functions to *get_type in config.c for consistency

 Tilman Sauerbeck:
  * BUG(321):Reworked output plugin switching.
  * BUG(364): In our ringbuffer implementation, the usable size of the buffer
  * BUG(367): Implement ANDing of input stream values before comparing them.
  * BUG(377): Renamed xmmsc_setup_with_{ecore,gmain} to
  * BUG(392):Spelling fix.
  * BUG(395):Use magic's mimetype to figure out what plugin to use when exporting playlists.
  * BUG(399): Use XPOINTER_TO_INT to convert from pointer type to integer.
  * BUG(409):xmms_playlist_sort() now only emits the _CHANGED signal and position change if the playlist was actually changed.
  * BUG(413,414):Ignore the icy-br header that shoutcast uses, since we cannot know whether it's present at all. Determine the bitrate in the mad plugin for streams as well instead.
  * BUG(415): Remove XMMS_PLUGIN_PROPERTY_SEEK.
  * BUG(417):Implemented plugin verification. Plugins that don't implement needed methods aren't accepted anymore.
  * BUG(418):Fixed vorbis' IO callback return values.
  * BUG(419):If we cannot switch to another output plugin, go back to the one we used before.
  * BUG(420):Fixed memory leak in equalizer plugin.
  * BUG(421):Remove unneeded FORMAT_SET methods from CoreAudio and jack plugins.
  * BUG(439):Fix magic indentation level implementation.
  * BUG(450):Save playlist position in medialib.
  * BUG(464,465): Fixed memory leaks related to DICT results.
  * BUG(466): Reset payload pointers in xmmsc_result_cleanup_data() because that function might be called more than once for broadcasts.
  * BUG(467): Fixed another potential memory leak in xmmsc_deserialize_dict().
  * BUG(469):Fixed a memleak related to lists of dictionaries.
  * BUG(479):Removed declaration of xmmsc_playlist_save().
  * BUG(480):Support optional chunks in wave files.
  * BUG(481):Made xmms_medialib_info() fail if the supplied mlib entry id doesn't exist.
  * BUG(485):When initializing the replaygain plugin, evaluate its config properties.
  * BUG(489):Use symbols instead of strings for propdict keys.
  * BUG(490):Implement Result#decode_url.
  * BUG(499):Properly initialize the xmms_magic_checker_t for playlist plugins.
  * FEATURE(422):Added the null output plugin.
  * FEATURE(453):Wrap xmmsc_broadcast_quit() in the Ruby bindings.
  * OTHER,RUBY:Fixed XmmsClient#playlist_insert.
  * OTHER:Add support for XmmsClient#medialib_entry_property_set in Ruby bindings.
  * OTHER:Add support for property dictionaries in Ruby bindings.
  * OTHER:Added license header to speex.c
  * OTHER:Code cleanup.
  * OTHER:Code cleanup/formatting.
  * OTHER:Code cleanup/formatting.
  * OTHER:Code cleanup/formatting.
  * OTHER:Comply with C89, don't declare variables in the middle of a block.
  * OTHER:Do reads in xmms_ringbuf_read_wait() chunk-by-chunk instead of
  * OTHER:Don't claim we sorted a playlist with less than 2 elements.
  * OTHER:Don't initialize the ringbuffer data to zero. This is more likely to
  * OTHER:Enabled faad plugin again.
  * OTHER:Fix some memory leaks.
  * OTHER:Fix the help text for the clear command.
  * OTHER:Fixed a potential buffer overflow in the modplug plugin.
  * OTHER:Fixed the g_return_if_fail() calls in various ringbuffer methods.
  * OTHER:Formatting
  * OTHER:Formatting fixes.
  * OTHER:Formatting.
  * OTHER:Formatting.
  * OTHER:Formatting/code cleanup
  * OTHER:In xmms_ringbuf_read() and _write() respectively, only signal the
  * OTHER:In xmms_ringbuf_read_wait(), abort if EOS is set.
  * OTHER:Lock/unlock our mutex in xmms_transport_tell()
  * OTHER:Make the wave plugin compile again.
  * OTHER:More ringbuffer code cleanup.
  * OTHER:Properly initialize the hash variable before setting it.
  * OTHER:Refactored parts of the seeking code into its own function.
  * OTHER:Remove comment about fulhack that doesn't exist anymore.
  * OTHER:Remove some of the mlib/sqlite debugging spam.
  * OTHER:Remove the remains of the CAN_HANDLE decoder api.
  * OTHER:Remove unused variable.
  * OTHER:Removed an unused variable.
  * OTHER:Removed xmms_output_plugin_method_get(), since it's pointless.
  * OTHER:Whitespace fixup.
  * OTHER:xmms_transport_seek() has to use current_position as the base offset

 Tobias Rundstrom:
  * BUG(167): Use "real" autoincrement in playlistentries.
  * BUG(205): Don't deadlock when seeking with FLAC.
  * BUG(351): Make sure that result is null when testing if it's set or not.
  * BUG(357): Make sure that bitrate is reported as integer from curl.
  * BUG(433): Check for mad and samba headers.
  * BUG(447): Fix a crash bug in client IPC layer.
  * BUG(448): Remove tags before reading new information in rehash function.
  * BUG(452): Fixed the deadlock introduced in 5b54defd9dad6ae11733419dba94dd1c31bfe19d
  * BUG(458): Make sure to remove all entries that fails resolving.
  * BUG(463): remove memoryleak from result code.
  * BUG(472): Fix Python bindings according to the changes in foreach functions
  * BUG(472): Split xmmsc_result_dict_foreach into one function for sourced dicts and one for normal dicts.
  * BUG(473): Fix mediainfo reader
  * BUG(509): Enable seeking in FLAC again.
  * DOC: Some documentation updates.
  * FEATURE(282),PYTHONMAJOR: Added sources to the mediainfo hash in Python bindings.
  * FEATURE(282),PYTHONMINOR: Added medialib_property_set() method.
  * FEATURE(282): Added support for writing data to medialib from clients.
  * FEATURE(312): Added samplerate property to medialib.
  * FEATURE(381): Add support for sending lists and dicts from clients to sever.
  * FEATURE(442): Remove x_hash_t from IPC in clientlib.
  * FEATURE(442): Removed x_hash_t from clientlib.
  * FEATURE(454): Add a global script directory
  * FEATURE(456): Added a status method.
  * FEATURE(470): Symlink startup and shutdown scripts instead of copy it.
  * OTHER,PYTHONMINOR: fixed foreach callback in Python bindings.
  * OTHER,RUBYMINOR: Fixed foreach call in ruby bindings
  * OTHER: Added set_preference to the headerfile.
  * OTHER: Cleaned up session handling.
  * OTHER: Disabled faad and modplug plugin while waiting for magic updates.
  * OTHER: Enabled modplug again.
  * OTHER: Fix set_source_preferences call to not include internal types.
  * OTHER: Fix so that xmmsc_playback_status runs the correct commando.
  * OTHER: Fixed a small warning.
  * OTHER: Made new SQLite code work on older libsqlites.
  * OTHER: Make sure that unique part of Media table is id,key,source instead of id,key
  * OTHER: Remove ugly whiteline in ALSA plugin.
  * OTHER: Removed deserialize_hashtable on serverside.
  * OTHER: Removed warning in transport.c
  * OTHER: Rename proplist / sourcedict -> propdict
  * OTHER: Speed up mlib searches by not using lower on keys.
  * OTHER: Updated AUTHORS file
  * OTHER: Updated AUTHORs file
  * OTHER: Upped SQLite versioning for great justice.
  * OTHER: WARNING! Try to use only one medialib_session in the mediainfo reader.
  * OTHER: disable faad again :-)
  * OTHER: don't remove LMOD field when cleaning up the mess.
  * OTHER: missed return NULL in id3 parser. resulted in crash on unparsable tags.
  * OTHER: propdict renames in PythonAPI also
  * OTHER: really fix FLAC seeking.
  * OTHER: use sqlite3_libversion_number() instead of SQLITE3_VERSION_NUMBER.

 Tobias Rundström:
  * OTHER: Cleanup in ipc_destroy removes annoying warnings when xmms2d quits



Changes between 0.1DR2.1 and 0.1DR2.2

 Release date: 2005-09-06
 Authors contributing to this release: 6
 Number of changesets: 43
 Number of files in this release: 265

 Alexander Rigbo:
  * FEATURE(206): Sorting now behaves well on integers.

 G. Gallino:
  * BUG(297): Added checking for negative gain value.
  * BUG(297): Added checking for negative gain value.
  * FEATURE(297): Added additional formats support to Equalizer plugin.

 Jens Taprogge:
  * [DEBIAN] Add man-pages.
  * [DEBIAN] Disable sdl-vis.
  * [DEBIAN] New snapshot

 Sebastien Cevey:
  * BUG(342): Fixed buggy xmmsc_result_list_first
  * BUG(342): Fixed buggy xmmsc_result_list_first

 Tilman Sauerbeck:
  * BUG(187),RUBYMINOR: Fix refcounting for ruby clientbindings
  * BUG(349),PYTHONMINOR: Fix refcounting problems in Python clientbindings.
  * BUG(353): :Fixed a memory leak in results that store lists.
  * OTHER: Cleanup of ruby error handling.
  * OTHER: Small fix in ruby testscript.
  * OTHER: complain about result refcount missuage in clientlib.
  * OTHER:Don't try to check magic for plugins that don't provide them.
  * OTHER:Fix compilation.
  * OTHER:Fixed a memory leak in results that store lists. When you iterate
  * OTHER:Make the magic code work with streams.
  * PLUGINMINOR:xmms_transport_seek() now checks for no-op seeks, so plugins
  * PRIVATE:Check for the two slashes in the url, too.
  * PRIVATE:Code cleanup.
  * PRIVATE:Don't allocate one byte more than requested in xmms_ringbuf_new()
  * PRIVATE:Don't signal the "free" condition in xmms_transport_seek()
  * PRIVATE:Remove additional errno declaration.
  * PRIVATE:Remove duplicated entry for AND-operator.
  * PRIVATE:Removed old file plugin.
  * PRIVATE:Switch to unsigned integers for the ringbuf buffer size and
  * PRIVTE:Slight cleanup, nicer debugging output.

 Tobias Rundstrom:
  * BUG(328),PYTHONMINOR: Fix bad documentation in xmmsclient python bindings.
  * BUG(328),PYTHONMINOR: Fix bad documentation in xmmsclient python bindings.
  * BUG(341): Plug memory leak in xmms_object_emit_f
  * BUG(341): Plug memory leak in xmms_object_emit_f
  * FEATURE(190): Remove gigantic SQLite3 lock.
  * FEATURE(289),CLIENTLIBMAJOR: Add more features to the xmmsc_plugin_list api.
  * OTHER: Add a medialib_end() in modplug.
  * OTHER: Added a check after each plugin_new() to see if we actually did create anything.
  * OTHER: Added check so that we don't try to compile with a new version of
  * OTHER: Crashbug in object.c
  * OTHER: Make XMMSSync() accept a none clientname.
  * OTHER: Post sqlite3 merging.
  * OTHER: Remove spam and disable call to setcachemode.
  * OTHER: Removed sqlite3 version check since it's not needed with new sqlite3 code.



Changes between 0.1DR2 and 0.1DR2.1

 Release date: 2005-08-18
 Authors contributing to this release: 9
 Number of changesets: 34
 Number of files in this release: 265

 Alexander Botero-Lowry:
  * BUG(326): Fixed typo in OSS plugin.
  * FEATURE(300): Install the manpages with SCons
  * FEATURE(322): Added command to output the current entry formatted.

 Alexander Rigbo:
  * BUG(284): Removed medialib_random mode since it was flawed and obscure.
  * BUG(318): Initialize GError variable before using it.

 Anders Gustafsson:
  * BUG(293): Remove bogus code in id3v2-reader that made tags not read.
  * BUG(314): Remove leftover debug assertion in resampler.

 Daniel Svensson:
  * BUG(140): sid plugin updated to sample_t changes
  * BUG(315): Added srand before rand.
  * BUG(316): Really fixed without breaking -o
  * BUG(316): cmdline -i <url> sets ipcpath
  * Coding style cleanups

 Jens Taprogge:
  * BUG(294): Fixed ruby compilation.
  * [DEBIAN] Include new headers.
  * [DEBIAN] New snapshot
  * [DEBIAN] New snapshot
  * [DEBIAN] New snapshot, disabled speex for now

 Michael Walle:
  * FEATURE(295),CLIENTLIBMAJOR: Changed the medialib_playlists_list.
  * FEATURE(295): Updated CLI to use new API.
  * FEATURE(319),CLIENTAPIMINOR: Added playlist_list command.
  * FEATURE(319): Use the new playlist_list API in the CLI client.

 S�bastien Cevey:
  * BUG(308): Declare some of the medialib functions static.
  * BUG(308): Fixed some incorrect documentation.

 Tilman Sauerbeck:
  * FEATURE(65): Add new magic code.
  * PRIVATE:Removed xmms_ringbuf_unread() because it's a) not used and b)

 Tobias Rundstrom:
  * BUG(208): Bugfixed the libtool parser a bit.
  * BUG(296): Better errorhandling when we can't initialize the outputplugin.
  * BUG(301),PYTHONMINOR: Removed global result refholder.
  * BUG(325): Handle exception on UTF-8 convertion error.
  * FEATURE(208): Added a libtool parser.
  * FEATURE(289),CLIENTLIBMINOR: Added a plugin_list command.
  * FEATURE(307): SCons configuration now logs ConfigErrors to config.log.
  * OTHER: Disabled libtool parser to make way for DR2.1
  * PRIVATE: DR2-WIP



