Second generation of XMMS music player.
Be the first to post a text review of XMMS2. Rate and review a project by clicking thumbs up or thumbs down in the right column.
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 Vh-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 Kamiski: * 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 Vh-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 Rundstrm: * 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 Vh-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 Sbastien 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 Vh-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 Vh-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 Vh-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 Vh-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 Vh-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 Vh-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 Rundstrm: * 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 Kamiski: * 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 Vh-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 Vh-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 Vh-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 Rmi 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 Rundstrm: * 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. Sbastien 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
11th of November 1997 was a great day. This was the day when the first public release of X11Amp (later renamed to XMMS) was made. Now ten years later we celebrate this with a release of XMMS2. XMMS2 0.4 DrKosmos contains the new official XMMS2 logo, a few new plugins such as a PulseAudio output plugin and lots of bugfixes. Hope you will have as much fun downloading, compiling and using it as we had making it. You can obtain XMMS2 here: Release notes: http://wiki.xmms2.xmms.se/index.php/Release:DrKosmos Source: http://sourceforge.net/projects/xmms2 Thanks to everyone involved in this release. Especially the 10 people who made the AUTHORS file grow.
Hello all music lovers. Another release of XMMS2 is now available. This has been one of the longest release periods in the history of XMMS2. A lot of big changes has been merged, including the long awaited Collections API. We have also switched to a new build-system. The XMMS2 Team would like to extend a big THANK YOU to all who have helped out with this release, a lot of bug testing and bug fixing by new faces has been seen. Hope to you all around for the next release!
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?