Hi PyToners!
I just uploaded a pre-release for the next major PyTone version. It can be found under
http://www.luga.de/pytone/download/PyTone-3.0.0-pre1.tar.gz
It contains a completely new database code based on the SQLite database. I thus recommend using the latest Python version with a corresponding built-in binding.
Note that the migration of old databases will not be supported. The same holds true (at least currently) for setups with more than one database. Remote database are completely untested, and currently not supported, as well.
The new database code should be much more performant and already allows a couple of nice things which had been impossible before. Furthermore, I used the opportunity to include more metadata in the database.
Speaking of metadata, the preferred (read: most tested) ID3 decoder is the mutagen module·
http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen
I also tested the interface to the eyeD3 decoder a little bit, but testing of the internal metadata decoder and of the Ogg vorbis code is mostly lacking (due to lack to time and song material). So please test extensively.
I probably forgot a couple of other things since the code has been unreleased for much too long. So again: please test extensively.
Enjoy,
Jörg
On Mon, 29 Jan 2007, Joerg Lehmann wrote:
Speaking of metadata, the preferred (read: most tested) ID3 decoder is the mutagen module·
http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen
pytone seems to be unable to read the metadata of any of the files I have. No mp3 files, no ogg files. The log displays for each file that is cannot read metadata.
Kind regards, -- dag wieers, dag@wieers.com, http://dag.wieers.com/ -- [all I want is a warm bed and a kind word and unlimited power]
On Tue, 30 Jan 2007, Dag Wieers wrote:
On Mon, 29 Jan 2007, Joerg Lehmann wrote:
Speaking of metadata, the preferred (read: most tested) ID3 decoder is the mutagen module·
http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen
pytone seems to be unable to read the metadata of any of the files I have. No mp3 files, no ogg files. The log displays for each file that is cannot read metadata.
I tried a rebuild and only using a single database. And now I don't get the 'could not read metadata' messages, but still no songs are added to the database. Despite the fact that in the debug file I see it scan, and read the metadata of files.
Kind regards, -- dag wieers, dag@wieers.com, http://dag.wieers.com/ -- [all I want is a warm bed and a kind word and unlimited power]
Hello Dag,
On 30.01.07, Dag Wieers wrote:
On Tue, 30 Jan 2007, Dag Wieers wrote:
On Mon, 29 Jan 2007, Joerg Lehmann wrote:
Speaking of metadata, the preferred (read: most tested) ID3 decoder is the mutagen module·
http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen
pytone seems to be unable to read the metadata of any of the files I have. No mp3 files, no ogg files. The log displays for each file that is cannot read metadata.
I tried a rebuild and only using a single database. And now I don't get the 'could not read metadata' messages, but still no songs are added to the database. Despite the fact that in the debug file I see it scan, and read the metadata of files.
Could you please enable the debugging mode and send the corresponding lines in the debugging output.
Thanks,
Jörg
* Dag Wieers dag@wieers.com [2007-01-30 04:35]:
On Mon, 29 Jan 2007, Joerg Lehmann wrote:
Speaking of metadata, the preferred (read: most tested) ID3 decoder is the mutagen module·
http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen
pytone seems to be unable to read the metadata of any of the files I have. No mp3 files, no ogg files. The log displays for each file that is cannot read metadata.
Hi Jörg,
first of all thanks for the new version ;-)
Unfortunately I have the same problems then Dag - could not read metadata nor file length when scanning the filesystem into a *new* database ... is that related to the fact that I use UTF-8 on my machines?
Here is a small part of the debug.log: D [06:59:18|MainThread|hub] request: 'autoregisterer_queryregistersong'('/opt/mp3/Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xc3\xa9.ogg')->'main' (priority 0) D [06:59:18|MainThread|hub] event: <hub.requestresponse instance at 0x2aaaac4dce18> (priority 0) D [06:59:18|songautoregisterer service|hub] request: 'getsongs'(False, ('url'=u'file://Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xe9.ogg',), random=False)->'main' (priority -100) D [06:59:18|songautoregisterer service|hub] event: <hub.requestresponse instance at 0x2aaaac4f3998> (priority -100) D [06:59:18|songdb manager service|services/songdb] dbrequest cache: query for request: 'getsongs'(False, ('url'=u'file://Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xe9.ogg',), random=False)->'main' D [06:59:18|songdb manager service|services/songdb] dbrequest cache: sucessfully hashed request: -5083241016406433754 D [06:59:18|songdb manager service|services/songdb] dbrequest cache: hit for request: 'getsongs'(False, ('url'=u'file://Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xe9.ogg',), random=False)->'main' D [06:59:18|songdb manager service|hub] got result [] for 'getsongs'(False, ('url'=u'file://Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xe9.ogg',), random=False)->'main' D [06:59:18|songautoregisterer service|metadata] reading metadata for '/opt/mp3/Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xc3\xa9.ogg' W [06:59:18|songautoregisterer service|metadata] could not read metadata for '/opt/mp3/Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xc3\xa9.ogg' D [06:59:18|songautoregisterer service|log] Exception caught: global name 'self' is not defined D [06:59:18|songautoregisterer service|log] File "/usr/lib64/python2.4/site-packages/pytone/metadata.py", line 139, in metadata_from_file metadatadecoder(md, path) D [06:59:18|songautoregisterer service|log] File "/usr/lib64/python2.4/site-packages/pytone/metadata.py", line 277, in read_vorbis_metadata self.title = id3get('TITLE', [""])[0] W [06:59:18|songautoregisterer service|metadata] could not read length of song '/opt/mp3/Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xc3\xa9.ogg' D [06:59:18|songautoregisterer service|hub] got result None for 'autoregisterer_queryregistersong'('/opt/mp3/Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xc3\xa9.ogg')->'main'
Greetz Stefan
========================================================= My very personal wishlist for Pytone - just ignore it ;-) ========================================================= * BPS recognition Show the bits per seconds from a song in the MP3 info window
* Pause between tracks
* Some sort of replaygain
* Extended search function -- Stefan Wimmer swimmer@xs4all.nl
On 30.01.07, Stefan Wimmer wrote:
- Dag Wieers dag@wieers.com [2007-01-30 04:35]:
On Mon, 29 Jan 2007, Joerg Lehmann wrote:
Speaking of metadata, the preferred (read: most tested) ID3 decoder is the mutagen module·
http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen
pytone seems to be unable to read the metadata of any of the files I have. No mp3 files, no ogg files. The log displays for each file that is cannot read metadata.
Hi Jörg,
first of all thanks for the new version ;-)
Unfortunately I have the same problems then Dag - could not read metadata nor file length when scanning the filesystem into a *new* database ... is that related to the fact that I use UTF-8 on my machines?
Do you only have Ogg files? If yes, I'm sorry at the moment, Ogg metadata support seems to be really broken. I'll see what I can do for the next pre-release.
Here is a small part of the debug.log: D [06:59:18|MainThread|hub] request: 'autoregisterer_queryregistersong'('/opt/mp3/Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xc3\xa9.ogg')->'main' (priority 0) D [06:59:18|MainThread|hub] event: <hub.requestresponse instance at 0x2aaaac4dce18> (priority 0) D [06:59:18|songautoregisterer service|hub] request: 'getsongs'(False, ('url'=u'file://Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xe9.ogg',), random=False)->'main' (priority -100) D [06:59:18|songautoregisterer service|hub] event: <hub.requestresponse instance at 0x2aaaac4f3998> (priority -100) D [06:59:18|songdb manager service|services/songdb] dbrequest cache: query for request: 'getsongs'(False, ('url'=u'file://Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xe9.ogg',), random=False)->'main' D [06:59:18|songdb manager service|services/songdb] dbrequest cache: sucessfully hashed request: -5083241016406433754 D [06:59:18|songdb manager service|services/songdb] dbrequest cache: hit for request: 'getsongs'(False, ('url'=u'file://Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xe9.ogg',), random=False)->'main' D [06:59:18|songdb manager service|hub] got result [] for 'getsongs'(False, ('url'=u'file://Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xe9.ogg',), random=False)->'main' D [06:59:18|songautoregisterer service|metadata] reading metadata for '/opt/mp3/Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xc3\xa9.ogg' W [06:59:18|songautoregisterer service|metadata] could not read metadata for '/opt/mp3/Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xc3\xa9.ogg' D [06:59:18|songautoregisterer service|log] Exception caught: global name 'self' is not defined D [06:59:18|songautoregisterer service|log] File "/usr/lib64/python2.4/site-packages/pytone/metadata.py", line 139, in metadata_from_file metadatadecoder(md, path) D [06:59:18|songautoregisterer service|log] File "/usr/lib64/python2.4/site-packages/pytone/metadata.py", line 277, in read_vorbis_metadata self.title = id3get('TITLE', [""])[0] W [06:59:18|songautoregisterer service|metadata] could not read length of song '/opt/mp3/Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xc3\xa9.ogg' D [06:59:18|songautoregisterer service|hub] got result None for 'autoregisterer_queryregistersong'('/opt/mp3/Tango/Carlos_Di_Sarli/Instrumental/05.El_Cabur\xc3\xa9.ogg')->'main'
Greetz Stefan
========================================================= My very personal wishlist for Pytone - just ignore it ;-) =========================================================
- BPS recognition
At least BPS information is stored in the database now...
Show the bits per seconds from a song in the MP3 info window
and will be showed in the detailed song information, i.e. after pressing '='.
- Pause between tracks
Don't count on that.
- Some sort of replaygain
Should work for mp3 files.
- Extended search function
That's definitely on the TODO list.
Jörg
* Joerg Lehmann joerg@luga.de [2007-01-30 10:10]:
Do you only have Ogg files? If yes, I'm sorry at the moment, Ogg metadata support seems to be really broken. I'll see what I can do for the next pre-release.
Hmpf - this is quite a pity since I use nearly exclusively ogg-files at the moment :-/
- BPS recognition
At least BPS information is stored in the database now...
Show the bits per seconds from a song in the MP3 info window
and will be showed in the detailed song information, i.e. after pressing '='.
Ok - the counting can start then ;-)
- Pause between tracks
Don't count on that.
No count ...
- Some sort of replaygain
Should work for mp3 files.
See above :-/
- Extended search function
That's definitely on the TODO list.
That's definitely good news! Can't wait on that to be honest :)
BTW is playlistload extinguished in the new version? I can't find any bindings for that anymore respectively the bind produces an error ...
I'll submit a new ebuild nevertheless that Gentoo people can test it as well -> http://bugs.gentoo.org/show_bug.cgi?id=70450
Greetz Stefan -- Stefan Wimmer swimmer@xs4all.nl
Hi Stefan,
On 30.01.07, Stefan Wimmer wrote:
- Joerg Lehmann joerg@luga.de [2007-01-30 10:10]:
Do you only have Ogg files? If yes, I'm sorry at the moment, Ogg metadata support seems to be really broken. I'll see what I can do for the next pre-release.
Hmpf - this is quite a pity since I use nearly exclusively ogg-files at the moment :-/
Ok, see my other mail.
- Some sort of replaygain
Should work for mp3 files.
See above :-/
There are non-zero chances that this works now as well for Ogg files.
BTW is playlistload extinguished in the new version? I can't find any bindings for that anymore respectively the bind produces an error ...
Yes, it's gone. In fact, I don't plan to fiddle around with m3u files anymore. If you want a playlist, generate it internally and add it via "i" to the playlist.
I'll submit a new ebuild nevertheless that Gentoo people can test it as well -> http://bugs.gentoo.org/show_bug.cgi?id=70450
But please make sure that this doesn't propagate as a release usable by the general publice. It's really not intended to be a such. The main reason why I made this releases is to activate myself again (that was the goal of the 3.0.0-pre1 release, I was cheating on you... *duck*) and to really get some testing (which should be possible with 3.0.0-pre2). I'm using this stuff on a daily basis, but not the full functionality.
Joerg