Re: [Rhythmbox-devel] Problem tagging songs



Hi all,

I've been writing a track tagger plugin for Rhythmbox, it searches
MusicBrainz and lets you tag an album or collection of songs on the same
release. The idea is to make it easy to clean up messy tags on an album,
or if you just have the album title and track numbers you can get the
names without having to type them in manually. The plugin displays as an
extra tab on the Song Info dialogue.

So I came back to this just today after having a problem a while ago,
and I think I've realised the problem. Basically when the song info box
closes it checks to see if the song tags have been changed, and
obviously they have been. So any changes to shared fields (Artist, Album
Title, Year, etc) are reset to the incorrect ones rather than the ones
that were looked up.

Looking at the docs and rb-song-info.c I can't see an easy way to fix
it. There is a method in rb-song-info.c, rb_song_info_populate_dialog()
which would be perfect I think, but it has no Python bindings. Another
way to go would be to change the text on the song info tab manually, but
the widgets are all private and I can't see a way to get to them through
Python.

So I wanted to ask, does anybody see another way to do it that doesn't
need a change in the rb-song-info.c or extra bindings being written? I
am moderately experienced with C but I had a look at the Python binding
code and it was a bit over my head. Although I will probably have a go
at adding something in if there's no other way to do it.

Cheers,

Joe

On Wed, 2009-07-22 at 15:26 +0100, Joseph Bain wrote: 
> Hi all,
> 
> I have been writing an RB plugin in Python and it's almost finished, or
> at least testable. I'm just having a weird problem setting the tags on
> tracks which I haven't been able to clear up from looking at the
> documentation.
> 
> Once I have set the info on the tags I call db.commit() and I can see
> all the info change in the main window. My plugin currently is an extra
> tab on the song info window, and when I close the window all the tracks
> revert to their previous tags.
> 
> I'm a bit lost at the moment, any pointers would be appreciated.
> 
> Joe
> 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]