mirage and scipy need to be soft dependencies

Bug #816967 reported by Eric Casteleijn
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
autoqueue
Fix Committed
High
Eric Casteleijn

Bug Description

Right now the plugin will not work when scipy and/or banshee-extension-mirage are not installed. This needs to be fixed.

Changed in autoqueue:
assignee: nobody → Eric Casteleijn (thisfred)
importance: Undecided → High
status: New → Triaged
Revision history for this message
Graham White (graham-alton) wrote :

I found some time to have a quick look this afternoon, needed is some sort of ability to detect if mirage has been installed. I've attached a patch that should do that bit and sets use_mirage appropriately. Some more work is required to get a pure last.fm implementation working though by putting some if use_mirage in appropriate places and dropping out to last.fm if it's not found.

Revision history for this message
Eric Casteleijn (thisfred) wrote :

Thanks! I just checked in a more complete solution (in that I think I really caught all the places where mirage is used), but it's also a lot uglier than yours. I like the dbus call a lot more. Please test trunk again, and if the solution at least works, I'll clean it up with your suggestions.

Changed in autoqueue:
status: Triaged → Fix Committed
Revision history for this message
Eric Casteleijn (thisfred) wrote :

I went ahead and added your fix too, it's in trunk now :)

Revision history for this message
Eric Casteleijn (thisfred) wrote :

Btw, I added your name to the copyrights, let me know if you want an email address in there as well.

Revision history for this message
Graham White (graham-alton) wrote :

This looks much better, can confirm it's working on my Rhythmbox now. I'll do a little more work on the spec file to get it up to scratch. Thanks for the help!

Revision history for this message
Graham White (graham-alton) wrote :

OK, I'm attaching an updated RPM spec file. I've shifted the quodlibet install location around to match the Fedora location (I'm assuming /usr/share/pyshared is the Ubuntu location). The output RPMs work for me on Fedora too.

The reason for the dbus call was to maintain your nice code separation i.e. the plugin superclass doesn't need to know anything about mirage even though that would be the obvious place to perform the test. I wasn't so sure about asking for mirage support over dbus but that was the only sensible way I could see of doing it.

The only other comment I would have is a really picky point about the Rhythmbox plugin following the convention of other Rhythmbox plugins, it should probably just be called autoqueue and be installed to /usr/lib/rhythmbox/plugins/autoqueue but that's really not important.

With this working I can get cracking on some of the other features I'm interested in. If they turn out to be decent I'll submit them to you for your consideration. Top of the list for me would be better integration with the Rhythmbox interface (some sort of easy on/off switch and a config GUI would be good), then some more functionality such as the ability to automatically populate a playlist from query instead of the current song (such as "play me some of my favourite music", or "tracks similar to my favourites", etc). I used to do all of the latter queries with Amarok but maintaining the local database across version upgrades was a pain so moving the data onto a service such as last.fm just seems like the right thing to do (for me anyway). Longer term I might even look into Squeezebox integration so I can use it at home as well as on my laptop ;-)

Thanks again, this looks like a really nice little extensible/pluggable project and I'm glad I didn't have to start from scratch.

Revision history for this message
Eric Casteleijn (thisfred) wrote :

Oops, with the deluge of launchpad mail I get, I completely missed this latest patch. I'll include it right away

Revision history for this message
Eric Casteleijn (thisfred) wrote :

pushed in r389

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.