Hello list I've been looking at the Audioscrobbler plugin source code to see how it handles the MusicBrainz ID or MBID tag:
/rhythmbox/plugins/audioscrobbler/rb-audioscrobbler.c There is an AudioscrobblerEntry structure with a string field mbid, which is used when writing to the queue and for submission's to last.fm However, as far as I can tell, the MBID field is never populated. Other fields like the artist, title, length and timestamp get copied from object audioscrobbler->priv which is a _RBAudioscrobblerPrivate structure. The _RBAudioscrobblerPrivate structure DOES NOT have an MBID field. The other fields get updated by rb_audioscrobbler_song_changed_cb using RHYTHMDB_PROP_TITLE, RHYTHMDB_PROP_ARTIST, RHYTHMDB_PROP_ALBUM, RHYTHMDB_PROP_DURATION etc for the currently playing track. These properties are defined in the enum RhythmDBPropType in: /rhythmbox/rhythmdb/rhythmdb.h There is currently no such entry for the MBID. Have I read the code correctly so far? If so I was wondering about extending things... Some people might have the MBID in their mp3 ID3 tags from using some analysis program (Picard, MusicTagger etc) so it would a good start if rhythmbox could extract this field and pass it to the Audioscrobbler plugin. [Should I file a "little" bug on just this?] Could the MBID track tag even be included in the database (what about the album and artist tags if known?). Then a plugin could be written to lookup the MBID using the track/album/artist tags and record the ID in the database. It could then optionally standardise the artist/album/track names according MusicBrainz. A further option would be to write the MBID (and "corrected" track/album/artist names) back into the mp3 ID3 data I've had a look at the python library musicbrainz2 and it looks writing such a plugin for rhythmbox would be an interesting project - but I think it would be easier with a little built in infrastructure. Peter _______________________________________________ rhythmbox-devel mailing list [email protected] http://mail.gnome.org/mailman/listinfo/rhythmbox-devel
