Ubuntu One Music Store plugin

Bug #528567 reported by Andrew Starr-Bochicchio
64
This bug affects 10 people
Affects Status Importance Assigned to Milestone
Exaile
Won't Fix
Wishlist
Unassigned
exaile (Ubuntu)
Invalid
Wishlist
Unassigned

Bug Description

Considering that Exaile is the default Xubuntu music player, it would be nice to have an Ubuntu One Music Store plugin for Exaile. This should be investigated further. It might be better implemented as a separate project instead of something shipped with Exaile as it seems likely that this will have to depend on Ubutnu One, which can be theoretically be ported to other Linux distros but hasn't yet (IIRC there has been some work done to get it running on Fedora).

A plugin for Rythmbox has already been written. The code can be found at https://launchpad.net/rhythmbox-ubuntuone-music-store

Also in need of investigation is whether this is even allowed by the vendor. From the Ubuntu One Music Store FAQ:

Q: What desktop application will include the Ubuntu One Music Store?
The standard Ubuntu music player, Rhythmbox, will be used for the music store. We know that people still want choice in their music player application so The Ubuntu One Music Store was developed as a plug-in that can be re-used in some other music applications. We have received approval from the music labels for the Ubuntu One Music Store to be embedded within Banshee, Amarok, and a few other applications. Please contact the Ubuntu One Music Store team for information about this process and implementation support.

https://wiki.ubuntu.com/UbuntuOne/MusicStore

I'm opening a question with the Ubuntu One Music Store devs that I'll link to this bug asking for clarification.

I'm not sure if my python skills are up to this, but would love to work on this with some mentorship if no one else picks this up. Between existing Exaile plugins and the rhythmbox-ubuntuone-music-store as examples, it seems like it shouldn't be too hard.

Changed in exaile (Ubuntu):
importance: Undecided → Wishlist
status: New → Triaged
Revision history for this message
Steve Dodier-Lazaro (sidi) wrote :

While I don't wish to work on this on my own (because it takes time and I'm not interesting in working on something contributing to selling music), I can provide you with some help with Exaile's inner workings if needed, despite my limited knowledge of it and Python. You can ask for help in #exaile at any time anyway, if it's about development.

Changed in exaile:
importance: Undecided → Wishlist
Revision history for this message
reacocard (reacocard) wrote :

I second Steve's opinion. While I'd love to see this happen, and would be willing to provide assistance as I can to anyone attempting to implement it, I have no personal use for the plugin as I do not use Ubuntu, and thus will not spend my personal development time on it.

Changed in exaile:
status: New → Confirmed
Changed in exaile:
assignee: nobody → Ubuntuxer (johannes-schw)
status: Confirmed → In Progress
Revision history for this message
Stuart Langridge (sil) wrote :

If you run into issues implementing this, let me know and I can explain how the Rhythmbox plugin works.

Revision history for this message
Ubuntuxer (johannes-schw) wrote :

I've started to implement the Ubuntu One Music Store in Exaile.
The site is displayed correctly and you can listen to a song's preview.
Bugs:
After you listen to a preview more than once, Exaile will start to play your current playlist. Any suggestions to solve this?
If you scroll horizontal the menu bar from the site isn't scrolled, but this is rather an bug in the lib. The gab between the house symbol and the menu entry New is fixed, so much space is wasted.

I removed the check wether you can play an mp3 file and the automatic installation process.

I don't try to download anything.

@Stuart Langridge:
What do the methode play_library()?

Revision history for this message
reacocard (reacocard) wrote :

Ugh, so this just embeds a browser with the store in Exaile and adds some hooks to make playback integrate, basically? That's never really ever going to fit well in Exaile's UI, it's not like Rythmbox where we have almost the entire window open for that. We need a proper music store API so we can write an interface that will fit into Exaile correctly. This is just plain unusable as it stands, especially on smaller monitors.

Of course that's more a problem with Ubuntu One Music Store itself, not this plugin. For the plugin specifically:
 - I'd prefer it be named "ubuntuonemusicstore" or something more descriptive like that. "umusicstore" doesn't tell you anything about what the 'u' means.
 - Why are the preview-mp3, download-finished, and url-loaded signals passed on basically unchanged? Would it not be better to just connect to the original source of these signals and adjust the callbacks appropriately?

And to answer your questions:
"After you listen to a preview more than once, Exaile will start to play your current playlist."
 - This is a limitation of the playback system, as its not designed to handle anything beyond playlists at the moment. We can expand the player API to add what is needed for this later.
(from irc/source) "How I can update the collection list after I have added an track with exaile.collection.add()"
- Well, you could do it via the collection panel's load_tree() method, but really we should just adjust CollectionPanel so that it auto-refreshes for collection memberships changes in addition to Track metadata changes.

Revision history for this message
Ubuntuxer (johannes-schw) wrote :

I've revised the plugin a little bit:
- rename it to ubuntuonemusicstore
- don't pass the signals
- add installation dialog for mp3 codec from rhythmox plugin

I've opened a new bug report 549909 for the collection list issue.

tags: added: patch
Revision history for this message
Ubuntuxer (johannes-schw) wrote :

I've added the methode play_library() and made some tiny improvements.
Does anybody have some ideas how to improve the integration in Exaile?

The collection list issue is fixed now.

Revision history for this message
Nigel Babu (nigelbabu) wrote :

Perhaps you can get it into a PPA for people to test?

Revision history for this message
Thibault Saunier (saunierthibault) wrote :

I just applied the last patch (http://launchpadlibrarian.net/42879598/ubuntuonemusicstore2.diff) and activated the plugin on the last exaile player from bzr, but nothing changed on the UI. Where should I start using this plugin? I looked for something saying "Ubuntu music store" but didn't find anything.

Thanks in advance.

Revision history for this message
Ubuntuxer (johannes-schw) wrote :

Mhm, I can't figure out why it isn't shown in the panel. It should look like this.
http://www.ubuntu-pics.de/bild/53971/exaile_001_s8tZCf.png
Are there any error messages?

At the moment I don't have any time to work on the plugin.

Revision history for this message
Thibault Saunier (saunierthibault) wrote :

I don't have any error in the command line. When running in debug mode and activating the plugin I only get:

15:50:56,813:DEBUG : Loaded plugin ubuntuonemusicstore (xl.plugins)

But nothing in the main GUI happens.

How could I get something usefull to you?

Revision history for this message
Ubuntuxer (johannes-schw) wrote :

I'm sorry, it seems I uploaded an old patch. Please test the attached patch.

Revision history for this message
Thibault Saunier (saunierthibault) wrote :

I still have the exactly same behaviour with this last patch.

Revision history for this message
Ubuntuxer (johannes-schw) wrote :

Please copy an MP3 file named empty.mp3 to the directory plugins/ubuntuonemusicstore. The plugin checks wether you had installed MP3 support. At the start it tries to play this file. I forgot to mention this.
Sorry for the inconvenience.

Revision history for this message
Thibault Saunier (saunierthibault) wrote :

It works now, what is this file for?

I actually agree with Aren Olson that this is pretty badly integrated, Couldn't you use a new tab insted of doing it in the panel?

I add a "mockup" of what I imagine

Revision history for this message
Ubuntuxer (johannes-schw) wrote :

At the first start the plugin checks whether you had installed MP3 support. It tries to play the file empty.mp3 and if it fails it automatically install the required packages. I've copy this code from the Rhythmbox Ubuntu One Music Store plugin.

In my opinion it would be better if you select the panel entry MusicStore the panel is resized to the whole window size. If you select another entry the panel should resized back.
But I don't know how to manage it.

Revision history for this message
Thibault Saunier (saunierthibault) wrote :

Ok ok, I understand, the mp3 should be included in the plugin then.

I don't think it would be a good solution to resize since you wouldn't have access to the player control buttons. I don't know if the idea presented before could be realize with the actual state of exaile but I believe iit would be much cleaner.

What do you think about my idea?

Revision history for this message
reacocard (reacocard) wrote :

Resizing the panel is an even WORSE idea. Changing things suddenly on the user is terrible UI design. It's really unfortunate that the ubuntu music store is designed like this, its horribly inflexible.

Revision history for this message
Nigel Babu (nigelbabu) wrote :

I've added the patch-needswork tag for now, when it is ready for prime time, please feel free to change to patch tag, or comment on the bug so that it can be integrated into exaile.

tags: added: patch-needswork
removed: patch
Revision history for this message
Kasoroth (kasoroth) wrote :

I like Thibault's suggestion of putting the plugin's main interface in a new tab. Perhaps the best interface solution would be a generic "Music Stores" tab on the panel that would have a list of (possibly) multiple different music stores. Individual music store plugins like this one could add an entry to this list, which would open a new tab with the music store interface. This would be consistent with the behavior of the other tabs, for example, selecting the "Playlists" tab shows a list of available playlists in the panel, and double clicking on one will open it in a new tab.

Revision history for this message
Mathias Brodala (mathbr) wrote :

Just FYI: There is a proper streaming API by now: https://one.ubuntu.com/developer/music/stream_music/cloud/
No idea how well it works though.

Revision history for this message
Dustin Spicuzza (dustin-virtualroadside) wrote :

Ubuntu One music store will be discontinued in June, closing this bug.
https://one.ubuntu.com/services/shutdown/

Changed in exaile:
assignee: Ubuntuxer (johannes-schw) → nobody
status: In Progress → Won't Fix
Changed in exaile (Ubuntu):
status: Triaged → New
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

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