Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mopidy

 Mopidy

Introduction to Mopidy I held at the Iterate Weekly Breakfast Meeting 2010-03-10

Stein Magnus Jodal

May 05, 2012
Tweet

More Decks by Stein Magnus Jodal

Other Decks in Programming

Transcript

  1. What is MPD? The client controls playback and playlists, but

    got nothing to do with the actual audio data
  2. What is MPD? The protocol is badly documented and inconsistenly

    used by the clients But it ain't that huge
  3. What is Spotify? 99 kr per month in exchange for

    all the music you'll ever need in high quality on PC and mobile Including: Windows, Mac, Linux, iPhone, Android, S60 Excluding: Beatles, Pink Floyd, Led Zeppelin, Frank Zappa
  4. What is Spotify? Free ad-financed version available, but we're going

    Premium iPhone, Android, S60 and all the open source solutions requires a Premium subscription
  5. Where to begin? Extend existing MPD server? It's old, huge

    and we're not C coders Not yet, at least
  6. Where to begin? Reimplement then Just the server! No way

    we're doing all those clients. And no way we're decoding music ourselves.
  7. Where to begin? Scala and Actors? Enough to learn in

    implementing an MPD server and Spotify integration
  8. Where to begin? Spotify integration? despotify is an open, reverse

    engineered Spotify library C, Linux and OS X, not very active Python wrapper named spytify (thanks to Jørgen P. Tjernø)
  9. Where to begin? Spotify integration? libspotify is the closed source,

    but official library C, Linux 32-bit only (now 64-bit too) Python wrapper named pyspotify (thanks to Doug Winter)
  10. Where to begin? Spotify integration? Lets do both! We don't

    know what problems will arise, so we keep our options open
  11. Architecture? And a third is underway: GstreamerBackend It plays music

    from local disc, like the original MPD server (thanks to Thomas Adamcik)
  12. Architecture? We got two mixers: {Alsa,Osa}Mixer One for Linux and

    one for OS X (the last one actually includes two lines of AppleScript)
  13. Future? Replace libspotify with libopenspotify? Identical API, open source, adds

    OS X and Windows support Should be a drop-in replacement with only benefits
  14. Future? Multiple backends at the same time Mix tracks from

    Spotify and disk in the same playlist