Release:DrGonzo
From XMMS2
Current status
- 2006-09-26 - DrGonzo is released. Get it at sourceforge.net
Release Notes
This is a live broadcast from the XMMS2 Team! We are releasing a new Developer Release to the wild. This one is dubbed DrGonzo and includes a heap of new exciting bugs (a.k.a. features). This is the first release of XMMS2 that contains code sponsored by Google Summer of Code. Download at the usual places over at sourceforge and read the full release notes here.
Upgrading
The path to the configuration files has changed. The new path is depending on your OS (on most systems it's now ~/.config/xmms2). This means that unless you copy your ~/.xmms2 to the new location xmms2d will be "restarted" without configuration or medialib.
Noteworthy changes
Feature additions
DAAP xform was added as a part of the Summer of Code program. This means that you can stream mediafiles from iTunes or mt-daapd
We have finally imported the Monkeys audio plugin from Ma Xuan. Many thanks for bringing more formats to XMMS2!
The ID3v1 plugin now has a fallback charset so that you can globally configure what the ID3 entries are encoded as.
Clients can now browse serverside directory/files.
A framework for saving album art on the server was added. Album art stored in MP4/MP3 (ID3v2) files is automatically extracted and stored on the server.
We have done a lot of work trying to get LAME encoded MP3s gapless. This is not 100% working yet but the progress is pretty good. Please report how well it works for you.
The radd command in the client was moved to the serverside, which means it will be faster and can also act on remote directories.
The comment field in MP3/FLAC/Vorbis files is now read.
Bug fixes
This changeset unbroke sorting command again.
Doing next many times should now not produce noise between the tracks.
The daemon now doesn't go into and endless loop if it tries to read files that only consist of NUL bytes.
The APE parser was bugfixed to not crash on certain platforms.
Some files could be wrongly identified since the introduction of xforms. We hope that most of it was solved with this change
New platforms
Nope.
Notes to client authors
- Clients should no longer use /home/blah/.xmms2/ as the default xmms2 config path, but should rather use the xmmsc_userconfdir_get() method in their respective bindings. This changes at runtime based on what $XDG_CONFIG_HOME is set to, or falls back on a default like /home/blah/.config/xmms2 or /Users/blah/Library/xmms2. Note that xmmsc_userconfdir_get() always returns an absolute path.
Notes to xform authors
- XForms that read URLs into octet-streams (former transport plugins) should implement the browse method (see file.c or smb.c for reference).
- Decoder xforms that handle mediafiles with coverart support should extract coverart and add it with the bindata API. See id3.c and faad.c for reference.
Final ChangeLog between TEST4 and FINAL
Full ChangeLog (TEST4) from TEST3
Anders Gustafsson
- 1123: Bad args can crash xmms2d
- 1117: Required number of channels and sampling rate are detected incorrectly.
- 1115: removing id from medialib does not remove it from playlists
- 1127: Seeking in vbr mp3 files >16M broken.
- 1122: radd doesnt work with smb
Daniel Svensson
Tobias Rundström
Full ChangeLog (TEST3) from TEST2
Ma Xuan
Jonne Lehtinen
Tobias Rundström
Full ChangeLog (TEST2) from TEST1
Anders Gustafsson
Cole Thompson
Daniel Svensson
Tilman Sauerbeck
Tobias Rundström
- 775: Missing manpages
- 1098: SEGV when radding large(!) directory...
- 1101: The clientlib is missing a xmmsc_medialib_add_entry_encoded() function.
Full ChangeLog (TEST1) from Release:DrFeelgood
Alexander Botero-Lowry
- 656: Obey fd.o by moving ~/.xmms2 to ~/.config/xmms2
- 775: Missing manpages
- 884: xmms2cli lacks support to insert an id at a position
- 977: Implement PropDict.get
- 1086: Please fix some manpage typos
Anders Gustafsson
- 801: Remove debian/ directory?
- 885: noise when doing many xmms2 next too fast.
- 897: skipping to next/prev track while paused doesn't work.
- 939: disconnecting the promoe client sometimes crashes the server
- 946: xmms2d segfaults on OS x PPC when Streaming an OGG file from the internet
- 954: xforms' EOS status isn't propagated properly
- 979: Flush when seeking.
- 980: Flush when switch song
- 1010: Fail when bad options are passed to xmms2d.
- 1017: snd_pcm_drain needs to block
- 1022: GError not always cleared.
- 1023: Musepack file crashes the server
- 1066: Output disregards return value from xmms_output_plugin_method_format_set
- 1083: Top playlist position is not shuffled even when playlist position is not set
- 1084: Segfault at line 209 of src/plugins/wma/wma.c (avcodec_close)
- 1087: Bindata api from plugins uses GString making plugin's life harder.
Bryan Taylor
Cole Thompson
Daniel Svensson
- 116: Windows port
- 656: Obey fd.o by moving ~/.xmms2 to ~/.config/xmms2
- 839: Inconsistency in naming conventions for sources/configvals
- 983: ALSA shouldn't block when it can't open the device.
- 1004: mad xform doesn't store samplerate in medialib
- 1037: cli should start xmms2d if XMMS_PATH is local
Dries Harnie
- 922: reduce unnecessary duplication of code and reversing of entries
- 930: [PATCH] make CLI client understand paused/running/stopped
Georg Schild
- 823: Playlist Entries are poorly sized.
- 923: Much improvements to the javabindings
- 949: Repackage javabindings to avoid confusion
- 953: be able to save binary data in medialib and avoid duplication.
- 958: Add more features to javabindings
- 1072: xmmsc_userconfdir_get doesn't completely respect the fd.o basedir spec
- 1073: javabindings should use byte[] instead of short[] for bindata and remove the base64 methods
Jonne Lehtinen
Juho Vähä-Herttua
- 352: On tag types that don't specify an encoding there should be a way to specify it
- 507: SCons compilation broken on Solaris
- 970: Add coverart extraction in FAAD plugin.
Ma Xuan
- 363: Monkey's Audio decoder plugin
- 796: mlib playlist commands need to handle special characters
- 974: monkey audio plugin coding style..
Sébastien Cevey
Sham Chukoury
- 656: Obey fd.o by moving ~/.xmms2 to ~/.config/xmms2
- 936: PropDict handles sources in a very non-Pythonic way
- 976: xmmsc_playlist_insert_args uses unencoded url
- 1015: userconfdir_get doesn't need to be a method
- 1071: xmmsc_userconfdir_get shouldn't allocate new memory
- 1072: xmmsc_userconfdir_get doesn't completely respect the fd.o basedir spec
Thomas Jollans
Tilman Sauerbeck
- 656: Obey fd.o by moving ~/.xmms2 to ~/.config/xmms2
- 931: XMMS_PATH not exported properly
- 933: xmms_xform_chain_setup() accesses freed memory
- 934: mlib addpath should sort before actually adding
- 938: xmmsipc - tcp_socket doesn't assert socket value correctly
- 947: certain files make xmms2d hang with 100% Cpu-Load
- 968: add binary type to resultset.
- 1027: Problem playing AAC files with latest -devel release
- 1032: bindata stuff not completely implemented
- 1033: xmms_bindata_calculate_md5() hitting the heap unnecessarily
- 1034: xmms_bindata_add() shortcomings
- 1035: xmms_bindata_calculate_md5() relies on sprintf
- 1093: Tune xmmsc_userconfdir_get()
Tobias Rundström
- 148: Update ices effect plugin to sample_t api.
- 354: Implement a method for transport plugins to browse avaliable media
- 373: Gapless playback of LAME encoded MP3 files
- 790: xmms_playlist_sort and other functions using XMMS_MEDIALIB_RETRV_PROPERTY_SQL assume server source
- 814: decoder plugins: read "comment" tags
- 854: move "radd" to server side.
- 929: Part of set (discnumber) should be extracted from media files.
- 940: scons tries to compile c++ bindings even if there's no c++ compiler available
- 941: ID3v2.4 parser should handle bad iTunes tags.
- 942: let id3v2 plugin handle album covers
- 945: Mad plugin should handle "Info" header aswell as "Xing"
- 950: broadcast_playback_volume_changed in python only works on the first volume change
- 953: be able to save binary data in medialib and avoid duplication.
- 963: Large messages is not read correctly by xmms2d
- 964: exceptions from python callbacks are not propagated.
- 965: make bindata api use a new binary result type
- 975: Vorbis plugin doesn't update mediainfo when a new serial is encountered
- 978: some plugins want format_set called everytime.
- 981: Bad configuration on Linux-x86_64 system.
- 1013: Add last_played property to media
- 1024: Decode url property from server source.
- 1043: Streams should report no duration instead of -1
- 1048: Not checking len of TXXX id3 tags can make xmms2 go boom.
- 1050: make buffersize a configvalue
- 1075: bindata path generation broken
- 1076: Remove base64 stuff
- 1078: implement browse() function in smb xform
- 1079: xmms_medialib_import_path should use xmms_xform_browse() internally
- 1088: client must ask server for permission to print help ;)
- 1091: tweak the default source preference (server and clientside) to show user set values first

