Rhythmbox Plugin - finally starting to work

It’s nice to be somewhat ahead of the roadmap that I gave myself, especially since all kinds of problems that I hadn’t thought about are cropping up. However, I finally have the analysis portion of the plugin more or less ready to go, despite a few bumps along the way related to threads and subprocesses. Those are pretty much ironed out thanks to the help of Jonathan Matthew and my mentor Philip Van Hoof, and I learned a fair bit along the way. That’s what this GSoC thing is all about, right?
One thing that took me a while to decide was how to control the song analysis. It is a fairly processor intensive and time consuming process, so I didn’t want it to just run whenever, but I didn’t think it deserved its own toolbar button. I settled on a pop-up window that runs when Rhythmbox starts if it detects that the library is out of date (from a gconf key). It looks like this:
The thing about “running manually” is a lie, since I haven’t implemented the preferences pane just yet, but I like the “don’t ask me again” option. Now, I just need to do the playlist creation stuff - I’ve got a bit of C++ code that looks through all the songs and picks out the top match, but I’d like to change it so that it gives a list of top matches. I also need to do the actual Rhythmbox adding to queue or playlist generating stuff as well, and I’m sure I can find any number of things to work on for the rest of the summer. However, I’m pretty happy with how things have been working thus far, and I’m looking forward to the rest.

Organization: GNOME Original: Source