Hi,
I have just uploaded a prelease of PyTone 2.0.14, which can be found here:
http://www.luga.de/pytone/download/PyTone-2.0.14pre.tar.gz
Since it contains a new database scheme, I would really appreciate some testing of the automatic upgrade procedure. Furthermore, the database code now uses the transactional subsystem of the bsddb library. Please report any problems which might occur due to this change.
For the list of the other changes, which are mostly bugfixes, see the attached ChangeLog.
Enjoy,
Jörg
2004-07-15 Jörg Lehmann joerg@luga.de
* Handle SIGTERM gracefully by sending quit signla 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/songdbs/local.py: Try to join existing database environment.
* 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 into the database.
* 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>).