Mopidy Audio Server
Go to file
2009-12-25 16:15:08 +01:00
mopidy resolved conflict 2009-12-25 16:15:08 +01:00
tests Move instantiation of backend from handler to server as the same backend should be used for multiple (simultaneous) sessions 2009-12-25 15:54:44 +01:00
.gitignore added local_settings.py to gitignore 2009-12-24 02:57:37 +01:00
COPYING Add GPLv2 license, same as the original MPD server 2009-12-23 15:45:22 +01:00
README.rst Update spytify instructions 2009-12-24 13:25:18 +01:00
test-requirements.txt Update how to install test dependencies 2009-12-23 22:51:07 +01:00

mopidy
======

mopidy is a MPD server with a Spotify backend.


Goal
----

Using a standard MPD client we want to search for music in Spotify, manage
Spotify play lists and play music from Spotify.

To limit scope, we will start by implementing a MPD server which only supports
Spotify, and not playback of files from disk. We will make mopidy modular, so
we can extend it with other backends in the future, like file playback and
other online music services such as Last.fm.


Architecture
------------

**TODO**


Resources
---------

- MPD

  - `MPD protocol documentation <http://www.musicpd.org/doc/protocol/>`_
  - The original `MPD server <http://mpd.wikia.com/>`_

- Spotify

  - `spytify <http://despotify.svn.sourceforge.net/viewvc/despotify/src/bindings/python/>`_,
    the Python bindings for `despotify <http://despotify.se/>`_
  - `Spotify's official metadata API <http://developer.spotify.com/en/metadata-api/overview/>`_
  - `pyspotify <http://code.google.com/p/pyspotify/>`_,
    Python bindings for the official Spotify library, libspotify


Installing despotify and spytify
--------------------------------

Check out the despotify source code revision 483 (or possibly newer)::

    svn co https://despotify.svn.sourceforge.net/svnroot/despotify@483 despotify

Install despotify's dependencies. At Debian/Ubuntu systems::

    sudo aptitude install libssl-dev zlib1g-dev libvorbis-dev \
        libtool libncursesw5-dev libao-dev

Build and install despotify::

    cd despotify/src/
    make
    sudo make install

Install spytify's dependencies. At Debian/Ubuntu systems::

    sudo aptitude install python-pyrex

Build and install spytify::

    cd despotify/src/bindings/python/
    make
    sudo make install

To validate that everything is working, run the ``test.py`` script which is
distributed with spytify::

    python test.py

The test script should ask for your username and password (which must be for a
Spotify Premium account), ask for a search query, list all your playlists with
tracks, play 10s from a random song from the search result, pause for two
seconds, play for five more seconds, and quit.


Running mopidy
--------------

To start mopidy, go to the root of the mopidy project, then simply run::

    python mopidy

To stop mopidy, press ``CTRL+C``.


Running tests
-------------

To run tests, you need a couple of dependiencies. Some can be installed through Debian/Ubuntu package management::

    sudo aptitude install python-coverage

The rest can be installed using pip::

    sudo aptitude install python-pip python-setuptools bzr
    pip install -r test-requirements.txt

Then, to run all tests::

    python tests