2005/12/20

XMMS2 0.2 DrAlban

So we finaly released a new version of XMMS2. It took way much longer than expected and I have a feeling that our release-often-release-early scheme is not really working. But on the other hand we where able to put a lot of nice features in there.

Magic recognition of media files:
Tilman put a lot of effort into adding this feature. Before 0.2 we looked at the file extention of each entry added to the playlist, trying to figure out (read: guess) what decoder plugin that should be used for playback. This wasn't very good. Enter the magic code. This feature adds some strings into each decoder plugin that describes the header of that fileformat. When a file is added to the playlist a couple of bytes are read from the file and it's mached against each magic describer we have.

This has a lot of advantages. We are not dependent on the fileextention and we can do same kind of matching on streams as on files.

But it also comes with disadvantages. If you experiance problems with files please submit the headers to the xmms2 team so that we can figure out if our signatures are bad.

Removal of SQLite problems
I did take under the assignment to rewrite our SQLite3 code so that it could be multithreaded and reentreant. This changed the internal API pretty heavy (you now have to aquire a session before manipulating the data). This changed was forced upon us by SQLite maintainers deciding to break the API in a minor version (well they disagree about breakage, but hey it made amaroK and xmms2 to stop work).

The new code will probably not run so well with old versions of SQLite3 (older then 3.2.6) there is also a fulhack in there that will slow things down.

New plugin additions
DrAlban introduced musepack and AAC decoding plugins. Thank juhovh and nano for the additions. Enjoy!

Write data to MediaLIB
I also added code for associating anything to a medialib entry. This can be useful in many ways! For example to put a rating, comment or override information from the files. Make sure you read the guidelines about it before you add that kind of code into you client!

All in all DrAlban is probably the best release of XMMS2 in a long time. Make sure you try it out and mabe work on a client. I will go over the changes for the next release (DrBombay) some other day.

See more here:
http://wiki.xmms2.xmms.se/index.php/Download_XMMS2
http://wiki.xmms2.xmms.se/index.php/Release:DrAlban

No comments: