Amazon MP3 Store in Banshee

The Banshee logo I’ve landed a new extension in Banshee — an integrated Amazon MP3 Store source. This source allows you to browse, search, preview, purchase, and download music from the Amazon MP3 web site.

Building on last week’s announcement of the Amazon MP3 downloader extension, the Amazon MP3 Store extension allows for tighter integration and a better user experience — music can be explored and purchased all from within Banshee.

Amazon MP3 Store in Banshee
Watch the Banshee Amazon MP3 Store Screencast!

I employ no gimmicks. The extension is very simple, just embedding a WebKit GTK web browser, and integrates with a few hooks:

  • Intercepts audio/x-mpegurl content, to stream previews. This provides natively integrated music previews that play in Banshee, not in the web page via Flash.

  • Intercepts audio/x-amzxml content, the playlist (or “download queue”) that Amazon provides after a purchase, and load through the Amazon MP3 downloader extension to immediately begin downloading the newly purchased music. This eliminates the need for Amazon’s external downloader. Everything happens from within Banshee.

  • Set a cookie ahead of time so that the Amazon MP3 web site is aware that a downloader is installed (Banshee), making the purchasing experience faster and less confusing.

  • Search the Amazon MP3 store from the usual Banshee search box.

  • Provide basic web-browser navigation controls: back, forward, refresh, home.

Amazon MP3 SourceAs simple and obvious as this approach may be, the reality is that this integrated experience was previously unseen on the Linux Desktop. This approach levels the music purchasing playing field — no extra software to install, no browsers, file managers, or mime systems to configure, and no more manually importing externally downloaded music. Just click, buy, and enjoy.

The code is all committed and available for immediate use in Banshee’s git master branch. It will be available in the next release for packaging: 1.7.3.

Remember, Amazon MP3 music is all DRM-free, and there is tons of free content on Amazon as well for you to try the extension out if you’re not up for purchasing more music just now.

This entry was posted in uncategorized and tagged , , , , , , . Bookmark the permalink.

20 Responses to Amazon MP3 Store in Banshee

  1. you just made sure that amazon keeps getting my money :-)

    I tried using their downloader for linux (kudos to them for having one) but a combination of dependencies always out of date (boost? really, amazon?) prevented me from ever successfully installing it. I switched to clamz, which at least works fine enough for people like me that have a terminal lying around on every workspace.

    so, thanks for the extension – can’t wait to try it out :-)

  2. Mark says:

    Yes! This is awesome. I was waiting for this since it was hinted at in the blog post where .amz integation was announced. I didn’t think it would happen this quickly though! Many, many thanks to everyone on the Banshee team for this. Banshee just keeps getting better and better :)

  3. Mike says:

    I said it a week ago, and I’ll say it again: Phenomenal.

  4. Sean says:

    The only thing you didn’t mention that I would have been sure to add is to have any links to URLs outside of the MP3 store open up the user’s regular browser, so to make sure the user doesn’t end up delved into some weird URL in the store interface and then wonder how/why it isn’t in his full browser.

    I actually wonder if Amazon has or would be willing to add a way to disable a lot of the regular site layout/navigation for interfaces like this.

  5. Ben Foote says:

    My wife, who runs Linux as well, is always complaining about manually moving her Amazon mp3s over to her Banshee library. You have just made her day. I look forward to the packages being available and letting her install it.

    Thanks for rocking again and again Aaron. We all appreciate it.

  6. Could this plugin be generalized in some way to serve as a base for “Online Music Store X”. I’m thinking this would be totally sweetpickles for eMusic, for example. Or maybe the code is already easy enough to grasp to adapt to a different store with a slightly different XML format for bulk downloading?

    I wonder if smaller music stores (equipped with in-house developers) would be interested in providing Banshee plugins for their store if it was easy enough. I know eMusic has had a XULRunner-based product for this previously. That would be nice.

  7. Dante says:

    Lovely!

    But tell me, could Banshee be summoned to act as a Downloader if I bought an Album through Firefox?

  8. Lorenzo says:

    Congrats for your excellent work. Unfortunately amazon store is not available outside the US. Hope to see implemented in the near future 7digitalstore or similar. Cheers

  9. @Sean good idea, I’ll look into that.

    @Ben great to hear :-)

    @Fredrik we’re actually working on something like that now.

    @Dante yes, that was the point of last week’s downloader work. This just adds to it by integrating the store. You can use which ever method you want. See the post about the downloader (linked from this post in the article as well):

    “Building on last week’s announcement of the Amazon MP3 downloader extension…”

    @Lorenzo: yes, it’s available in the UK, Germany, and France as well AFAIK. I’ll be adding support for this.

  10. Lorenzo says:

    @aaron didn’t know it. In Italy it’s not available :-( (will it ever be?)

  11. Marlon Hartshorn says:

    I’ve been waiting for something like this for years now! I’ve posted on opensuse forums before trying to figure out how to get amazon’s software to work on linux OS. Thank u so much! I now use Banshee on openSUSE 11.2 and only Banshee!

  12. Jon Kulp says:

    Never mind! Sorry, I was missing the webkit-devel dependency. Everything’s working now. This is an AWESOME extension! Now any distro can instantly have an integrated download-purchasing service without building it from scratch. Thanks Aaron. :)

  13. Jon says:

    What are all of the dependencies? I have libwebkit and libsoup. Amazon is listed in the preferences (checked by default), but not shown in the window.

  14. Your configure should output say this:

    Extra Features:
    Web Browser: yes (webkit-1.0 >= 1.2.2, libsoup-2.4 >= 2.26)
    + GNOME Proxy yes (libsoup-gnome-2.4 >= 2.26)
    + Amazon MP3 yes

    Those are the additional dependencies.

  15. Jon says:

    Waht’s “libsoup-gnome?” I don’t find it on the openSUSE repos.

  16. $ rpm -qf /usr/lib/pkgconfig/libsoup-gnome-2.4.pc
    libsoup-devel-2.28.2-0.1.1.i586

    So as you see, install libsoup-devel.

  17. macsmister says:

    I don’t get how to make the amazon store show up in banshee? Could anyone please tell me what to do? I am running Ubuntu 10.04 and have latest banshee installed + all extentions. I don’t know how to output the configure file for banshee…

  18. ubuntu.diego says:

    where is webkit-1.0 >=1.2.2 for ubuntu ?
    should libsoup be devel ?

  19. Lou Rizzo says:

    Great work. I have two requests:

    1. Unless I’m missing it, the webkit browser in banshee 1.7.3 does not display any form of “lock” icon to confirm a secure https session between the banshee application and the Amazon store. I’d hate to enter my Amazon credentials if the link isn’t secure.

    2. It would also be nice if the user could enter a preference for a specific download folder for purchased music and/or be prompted for a download location for each new purchase.

    Thanks for finally providing 64 bit Linux users with a way to purchase music from Amazon.

  20. Valentin says:

    This is just awesome. I was just looking for a way to buy an mp3 album from amazon on ubuntu 64-bit, vaguely remembered all the hassle with amazon’s mp3 downloader, and would have never guessed that banshee can do that ootb. Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>