Hi,
I have just uploaded PyTone 2.0.14, which can be found at the usual place:
http://www.luga.de/pytone/download/PyTone-2.0.14.tar.gz
This release contains numerous bug fixes. A polish translation of the UI is now included (many thanks to Krzysztof Zych). Support for the eyeD3 id3 parsing module has been added. The database code now makes use of the transactional capabilities provided by the Sleepycat bsddb. Searching by regular expression is now possible. For details see the attached ChangeLog.
Enjoy,
Jörg
2004-07-22 Jörg Lehmann joerg@luga.de
* Version 2.0.14 released.
* Make player progress bar more readable on mono devices (thanks to Krzysztof Zych <kzych at manta dot univ dot gda dot pl>).
2004-07-19 Jörg Lehmann joerg@luga.de
* Replace "PyX" by "PyTone" in license headers (thanks to Krzysztof Zych <kzych at manta dot univ dot gda dot pl> for pointing this out).
* Add polish translation (many thanks to Krzysztof Zych <kzych at manta dot univ dot gda dot pl>).
* dbitem.py: Update eyeD3 integration based on contributions by Krzysztof Zych <kzych at manta dot univ dot gda dot pl>.
* item.py: Make last played song list sorted again.
* services/songdbs/locale.py: Some fixes in database upgrade code.
2004-07-18 Jörg Lehmann joerg@luga.de
* services/songdbs/locale.py: Really make use of transactional subsystem.
* services/songdbs/locale.py: Move dbitem.song creation to songautoregisterer thread to greatly improve the usability during the song registering process.
* dbitem.py: Added support for the eyeD3 module, which parses MP3 files much faster as the current version of the MP3Info module.
2004-07-15 Jörg Lehmann joerg@luga.de
* Handle SIGTERM gracefully by sending a quit signal to all running threads.
2004-07-13 Jörg Lehmann joerg@luga.de
* hub.py: Explicitly use list as underlying queue to make the PriorityQueue class work with Python 2.4 (thanks to Krzysztof Zych <kzych at manta dot univ dot gda dot pl> for reporting this problem).
2004-07-08 Jörg Lehmann joerg@luga.de
* pytone.py: Catch errors during service creation to be able to shut down all already running services
* services/playlist.py: Be careful when loading a dumped playlist which has ids incompatible with the global _counter variable.
* playlist.py: Issue selectionchanged event in _recenter and in playlistchanged method if necessary. This should fix a longstanding bug where the item info window showed the wrong playlist item.
2004-07-07 Jörg Lehmann joerg@luga.de
* Allow only songs located under basedir in databases.
* Do not delete currently playing song when backspace is pressed.
* decoder.py: Replace samplerate by outrate in calculation of playing time since the data has already been resampled to outrate.
2004-07-06 Jörg Lehmann joerg@luga.de
* Removed some unnecessary selectionchanged notifications.
* dbitem.py: Finally switched from path as id to relative path as id. This should facilitate moving songs from one base directory to the other.
* Database version 3.
* Use artist and album from relative path as fallback if no id3 information is present and the relative path (with respect to the musicbasedir) consists of exactly two directories.
2004-07-01 Jörg Lehmann joerg@luga.de
* services/songdbs/local.py: Don't index song in _queryregistersong, if it is already registered in database.
* services/songdbs/local.py: Use transaction system when writing to the database (addressing the problems of Debian bug #245503).
* pytone.py: Set locale to setting defined by the user's environment variables.
* inputwin.py: Allow the user to input all printable characters according to the locale set (as suggested by Stuart Pook <Stuart dot Pook at infres dot enst dot fr>).
* filelistwin.py: Empty search string repeats last search (as suggested by Stuart Pook <Stuart dot Pook at infres dot enst dot fr>).
* slist.py: New method for regular expression search.
* filelistwin.py: Search strings are now interpreted as regular expressions.
2004-06-29 Jörg Lehmann joerg@luga.de
* Make timer a service, which runs in an independent thread
* services/songdbs/local.py: Turn on transaction and log subsystem and checkpoint log regularly.
2004-06-25 Jörg Lehmann joerg@luga.de
* mixerwin.py: Do not fail if neither ossaudiodev nor oss module is present (thanks to Linus Sjöberg <lsjoberg at aland dot net>)
2004-06-21 Jörg Lehmann joerg@luga.de
* dbitem.py: Catch error when no id3 tag is present in an MP3 file (fix contributed by Tomaž Ficko <tomaz at gmx dot net>).
* MP3Info.py: New version (thanks to Tomaž Ficko <tomaz at gmx dot net> for providing me with the update). Included is a patch which should fix the length detection for VBR MP3 files (hopefully fixing a problem reported some time ago by George J. De Bruin <SoundChaser at myrealbox dot com>).