Release:DR2
From XMMS2
Developer Release 2 is the second release of XMMS 2 code. What it means:
- Make adjustments in the API according to needs of new plugins/clients. Hopefully these are very minor (or totally non-existent if we are lucky)
- Fix bugs
- Add tons with new bugs and new features that will make xmms2 crash in exciting new ways.
Contents |
Release notes
Hello intrawebb. The XMMS2 Team is happy to announce the release of XMMS2 Developer Release 2. Delayed for a couple of weeks due to summer, beer, (plastic) women and other real life nonsense, we release a feature-packed second version of XMMS2. This release is the direct result of feedback from DR1 on both APIs, functionality and behaviour. We would like to thank everyone who provided us with feedback, patches and encouragement.
We've come quite a long way since DR1 and DR1.1, and not just code-wise.. Our #xmms2 channel on Freenode has grown considerably, with users and client developers frequently coming and going, or simply lurking around. Project-wise, there have been a number of small improvements here and there:
- A new mini-homepage at http://xmms2.xmms.org/ (featuring a cool map, of all things!)
- A new 'contribs' page at http://xmms2.xmms.org/contrib/
- The Bug tracker becoming more and more integral to the process of working on XMMS2 code, especially with:
- The use of specific commit tags to categorise changes to the code tree.
- Not related specifically to the XMMS2 team, but new XMMS2 Clients have been popping up like mushrooms, as developers have dared to install XMMS2 and been inspired to create some funky clients.
- An increased rate of contributions and bug fixes from other users and developers than just the XMMS2 team. (keep them coming!)
- Also thanks to the freenode channel, we've been receiving feature requests from certain specialised users (read: DJs) about things they'd like to see in XMMS2. Stay tuned while we work on these..
This release breaks the client API, the plugin API, as well as your current medialib. Please understand that this is pre-release software and should only be downloaded and used by developers not end-users.
To review the ChangeLog please check the wiki http://wiki.xmms2.xmms.se/ To download source code please surf to the Download page.
Oh, and happy birthday to Sham!
ChangeLog
New Features
- Alexander Botero-Lowry:
- Alexander Rigbo:
- Magnus Bjernstad:
- Tilman Sauerbeck:
- Updated to new xmmsclient API. Removed typed methods to retrieve result value, use Result#value instead. bug #235
- Tobias Rundstrom:
- Added medialib_playlist_loaded method to Python. bug #280
- Added medialib_playlist_loaded signal. bug #280
- Added a command in the cli for instant loading of playlists. bug #220
- Added support for integers in medialib. bug #254
- Report bitrate in bps instead of kbps. bug #246
- Updated Python bindings to new list / dict API. bug #235
- Make lists and dicts able to carry ints as well as strings in the same resultset. bug #235
- Tuure Laurinolli:
- Partial windows support for clientlib bug #116
- Vegard Nossum:
- Added new URL parser that also supports IPv6 bug #245
Bugs fixed
- Alexander Botero-Lowry:
- Anders Gustafsson:
- Fix to UCS2 encoded text frames in id3v2.2/2.3 bug #290
- Don't steal another xmms2d's ipc unix-socket. bug #283
- Fix get_mediainfo in flac by actually using mode flag in init. bug #258
- Give startup/shutdown.d-scripts full environment. bug #285
- Call init in decoders before get_mediainfo, mode arg to init. bug #128
- Ma Xuan:
- Make sure that ringbuffer data is correct after seeking. bug #243
- Michael Lindgren:
- Better errorhandling in html export command. bug #222
- Sham Chukoury:
- Tilman Sauerbeck:
- Updated Wave plugin to new decoder plugin API. bug #128
- Tobias Rundstrom:
- Add 64bytes ints on file operations. bug #270
- Remove EXTINFO parser from m3u plugin since it often gives us bad data. bug #262
- Fixed some strange things in ipc layer that could cause busy-loops on disconnect. bug #261
- Validate all strings inserted into DB to be UTF-8 bug #265
- FIxed a bug in medialib that could return wild integers if property was not found.
- Fix position problems with sorting. bug #264
- Bugfix output plugin configvalue. bug #253
- Fixed a deadlock in the transport layer. bug #233
- Fixed a stupid bug with config value changed signal. Changed from list to a dict. bug #242
- g_direct_hash on string keys are *not* a good idea bug #241
- xmms2d now handle long strings. bug #228
- Fixed so that we signal before we quit if IPC failed. bug #217
- SO_REUSEADDR was moved to a better place. bug #226
- Better error handling in log functions. bug #216
- Passing the environ to scons bug #215
- Fix bug #189 by removing entries from the playlist that are not valid.
- Vegard Nossum:
- Fixed NULL strings to msg_put_string bug #211
Clientlib Changes
- Tilman Sauerbeck:
- Properly sort the list that's returned by xmms_config_listvalues().
- Empty lists in results are now handled properly.
- Tobias Rundstrom:
- changed OUTPUT_STATUS_ to PLAYBACK_STATUS_
- removed xmmsc_result_get_playlistchange since this now is a dict
- added xmmsc_configval_register. Clients can now register configuration values.
- added get_id function to medialib. Returns id number for a URL
- add xmmsc_medialib_remove_entry that removes something from the medialib
- Tuure Laurinolli:
- added xmmsc_sqlite_prepare_string for correct sql escaping.
- Added query generators that can create select statements for multiple criterions.
Other Changes
- Daniel Pearson:
- PYTHON: Added syncronous proxy class for API
- PYTHON: Added output_status enum to API
- PYTHON: renamed hash to dict to be conformed with the rest of the API
- PYTHON: Exposed get_type() call
- PYTHON: Fixed problem with value() which didn't return hashtable.
- Daniel Svensson:
- CLI: Added sort command
- PLAYLIST: Added sorting functionality
- CLI: xmms2 mlib addpath now handles relative paths
- Heikki Orsila:
- PRIVATE: Various clientlib cleanups.
- Michael Lindgren:
- CURL: Fix some issues with broken streams and headers in HTTP stream plugin.
- Sham Chukoury:
- cli client: change mlib addall to mlib loadall, split cmd_mlib into smaller functions
- Tilman Sauerbeck:
- CLI:Fixed config file related memory leaks.
- CLI:Fixed the 'quit-msg' in 'xmms2 status'
- Tobias Rundstrom:
- PLUGINMAJOR: Added versioning on plugins.
- changed argument to xmms functions to a callable instead of a class
- PYTHON: renamed python_loop() to loop() and made xmms argument to XMMSSync optional.
- CURL: fixed bug #209, set SSL_VERIFYPEER/HOST to 0
- PYTHON: added playlist_changed_actions_t as constants
- PRIVATE: changed OUTPUT_STATUS to PLAYBACK_STATUS
- RUBY: Removed playlist_changed
- PYTHON: removed playlist_changed
- PLAYLIST: changed playlist changed msg to a dict instead of a own type
- MAD: Cleaned up ID3v2 code and removed a strange bug with TXXX fields.
- CLI: add 'mlib queryadd' for wild querys that should be added to the playlist
- PYTHON: remove glib dependency. If you are using setup_with_gmain() in your python application you need to rework it. Example will be presented in due time.
- MEDIALIB: Fixed a quoting bug with xmmsc_medialib_add_to_playlist()
- PYTHON: clean-up and made pythonapi fully unicode aware
- MAD: Added support for ID3v2.4 tags.
- MAD: add warning if plugin not found!
- Tuure Laurinolli:
- CLI: Added mulitple selections for searchadd also
- CLI: Added multiple selections to xmms2 mlib select, closes bug #183
- PYTHON: changed HASHLIST to DICTLIST. old symbols.

