From cd69e181e40e3d597a6db27269d99715f2250672 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Tue, 10 Aug 2010 19:54:33 +0200 Subject: [PATCH 1/7] docs: pyspotify requires python-dev, and 'setup.py develop' does no longer work --- docs/installation/libspotify.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation/libspotify.rst b/docs/installation/libspotify.rst index 8f15e479..71873b01 100644 --- a/docs/installation/libspotify.rst +++ b/docs/installation/libspotify.rst @@ -35,13 +35,13 @@ Installing pyspotify Install pyspotify's dependencies. At Debian/Ubuntu systems:: - sudo aptitude install python-alsaaudio + sudo aptitude install python-dev python-alsaaudio Check out the pyspotify code, and install it:: git clone git://github.com/jodal/pyspotify.git cd pyspotify/pyspotify/ - sudo python setup.py develop + sudo python setup.py install Apply for an application key at https://developer.spotify.com/en/libspotify/application-key, download the From 46177f65f11d53a61c055ea0cf16a2e5ee342ff0 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Tue, 10 Aug 2010 21:45:01 +0200 Subject: [PATCH 2/7] Rename mopidy.backends.{gstreamer => local} --- docs/api/backends.rst | 17 ++++----- docs/changes.rst | 1 + docs/development/roadmap.rst | 2 +- docs/installation/gstreamer.rst | 13 ++++--- docs/installation/index.rst | 33 +++++++++++----- docs/installation/libspotify.rst | 11 ------ .../backends/{gstreamer => local}/__init__.py | 38 ++++++++----------- .../{gstreamer_test.py => local_test.py} | 26 ++++++------- 8 files changed, 69 insertions(+), 72 deletions(-) rename mopidy/backends/{gstreamer => local}/__init__.py (88%) rename tests/backends/{gstreamer_test.py => local_test.py} (86%) diff --git a/docs/api/backends.rst b/docs/api/backends.rst index 6760fc54..adb87e56 100644 --- a/docs/api/backends.rst +++ b/docs/api/backends.rst @@ -98,18 +98,17 @@ Manages the music library, e.g. searching for tracks to be added to a playlist. :members: -:mod:`mopidy.backends.gstreamer` -- GStreamer backend -===================================================== - -.. automodule:: mopidy.backends.gstreamer - :synopsis: Backend for playing music from a local music archive using the - GStreamer library - :members: - - :mod:`mopidy.backends.libspotify` -- Libspotify backend ======================================================= .. automodule:: mopidy.backends.libspotify :synopsis: Spotify backend using the libspotify library :members: + + +:mod:`mopidy.backends.local` -- Local backend +===================================================== + +.. automodule:: mopidy.backends.local + :synopsis: Backend for playing music files on local storage + :members: diff --git a/docs/changes.rst b/docs/changes.rst index 2e765176..8c034f51 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -15,6 +15,7 @@ Another great release. - Exit early if not Python >= 2.6, < 3. - Include Sphinx scripts for building docs, pylintrc, tests and test data in the packages created by ``setup.py`` for i.e. PyPI. +- Rename :mod:`mopidy.backends.gstreamer` to :mod:`mopidy.backends.local`. - MPD frontend: - Relocate from :mod:`mopidy.mpd` to :mod:`mopidy.frontends.mpd`. diff --git a/docs/development/roadmap.rst b/docs/development/roadmap.rst index 32d52ec5..7dc284df 100644 --- a/docs/development/roadmap.rst +++ b/docs/development/roadmap.rst @@ -14,7 +14,7 @@ Version 0.1 - Read-only support for Spotify through :mod:`mopidy.backends.despotify` and/or :mod:`mopidy.backends.libspotify`. - Initial support for local file playback through - :mod:`mopidy.backends.gstreamer`. The state of local file playback will not + :mod:`mopidy.backends.local`. The state of local file playback will not block the release of 0.1. diff --git a/docs/installation/gstreamer.rst b/docs/installation/gstreamer.rst index a5b30d0e..dd038ba0 100644 --- a/docs/installation/gstreamer.rst +++ b/docs/installation/gstreamer.rst @@ -29,11 +29,12 @@ To install Gstreamer on OS X using MacPorts:: gstreamer-plugins-ugly -Setting up Mopidy to use the Gstreamer backend -============================================== +Testing the installation +======================== -Currently :mod:`mopidy.backends.despotify` is the default -backend. If you want to use :mod:`mopidy.backends.gstreamer` -instead, add the following to ``~/.mopidy/settings.py``:: +If you now run the ``gst-inspect-0.10`` command (the version number may vary), +you should see a long listing of installed plugins, ending in a summary line:: - BACKENDS = (u'mopidy.backends.gstreamer.GstreamerBackend',) + $ gst-inspect-0.10 + ... long list of installed plugins ... + Total count: 218 plugins (1 blacklist entry not shown), 1031 features diff --git a/docs/installation/index.rst b/docs/installation/index.rst index 863e465c..b7601c3a 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -35,15 +35,15 @@ Dependencies - DespotifyBackend (Linux and OS X) - - see :doc:`despotify` + - :doc:`Despotify and spytify ` - - LibspotifyBackend (Linux, OS X and Windows) + - LibspotifyBackend (Linux, OS X, and Windows) - - see :doc:`libspotify` + - :doc:`libspotify and pyspotify ` - - GstreamerBackend (Linux, OS X and Windows) + - LocalBackend (Linux, OS X, and Windows) - - see :doc:`gstreamer` + - :doc:`GStreamer ` Install latest release @@ -84,15 +84,30 @@ For an introduction to ``git``, please visit `git-scm.com `_. -Spotify settings -================ +Settings +======== -Create a file named ``settings.py`` in the directory ``~/.mopidy/``. Enter -your Spotify Premium account's username and password into the file, like this:: +Create a file named ``settings.py`` in the directory ``~/.mopidy/``. + +If you are using a Spotify backend, enter your Spotify Premium account's +username and password into the file, like this:: SPOTIFY_USERNAME = u'myusername' SPOTIFY_PASSWORD = u'mysecret' +Currently :mod:`mopidy.backends.despotify` is the default +backend. + +If you want to use :mod:`mopidy.backends.libspotify`, copy the Spotify +application key to ``~/.mopidy/spotify_appkey.key``, and add the following +setting:: + + BACKENDS = (u'mopidy.backends.libspotify.LibspotifyBackend',) + +If you want to use :mod:`mopidy.backends.local`, add the following setting:: + + BACKENDS = (u'mopidy.backends.local.LocalBackend',) + For a full list of available settings, see :mod:`mopidy.settings`. diff --git a/docs/installation/libspotify.rst b/docs/installation/libspotify.rst index 71873b01..f595a5cb 100644 --- a/docs/installation/libspotify.rst +++ b/docs/installation/libspotify.rst @@ -54,14 +54,3 @@ Testing the installation Test your libspotify setup:: examples/example1.py -u USERNAME -p PASSWORD - - -Setting up Mopidy to use libspotify -=================================== - -Currently :mod:`mopidy.backends.despotify` is the default -backend. If you want to use :mod:`mopidy.backends.libspotify` -instead, copy the Spotify application key to ``~/.mopidy/spotify_appkey.key``, -and add the following to ``~/.mopidy/settings.py``:: - - BACKENDS = (u'mopidy.backends.libspotify.LibspotifyBackend',) diff --git a/mopidy/backends/gstreamer/__init__.py b/mopidy/backends/local/__init__.py similarity index 88% rename from mopidy/backends/gstreamer/__init__.py rename to mopidy/backends/local/__init__.py index 74dd8332..87d2f7c0 100644 --- a/mopidy/backends/gstreamer/__init__.py +++ b/mopidy/backends/local/__init__.py @@ -19,38 +19,36 @@ from mopidy.models import Playlist, Track, Album from mopidy import settings from mopidy.utils import parse_m3u, parse_mpd_tag_cache -logger = logging.getLogger(u'backends.gstreamer') +logger = logging.getLogger(u'mopidy.backends.local') -class GStreamerMessages(threading.Thread): +class LocalMessages(threading.Thread): def run(self): gobject.MainLoop().run() -message_thread = GStreamerMessages() +message_thread = LocalMessages() message_thread.daemon = True message_thread.start() -class GStreamerBackend(BaseBackend): +class LocalBackend(BaseBackend): """ A backend for playing music from a local music archive. - Uses the `GStreamer `_ library. - - **Issues:** http://github.com/jodal/mopidy/issues/labels/backend-gstreamer + **Issues:** http://github.com/jodal/mopidy/issues/labels/backend-local """ def __init__(self, *args, **kwargs): - super(GStreamerBackend, self).__init__(*args, **kwargs) + super(LocalBackend, self).__init__(*args, **kwargs) - self.library = GStreamerLibraryController(self) - self.stored_playlists = GStreamerStoredPlaylistsController(self) + self.library = LocalLibraryController(self) + self.stored_playlists = LocalStoredPlaylistsController(self) self.current_playlist = BaseCurrentPlaylistController(self) - self.playback = GStreamerPlaybackController(self) + self.playback = LocalPlaybackController(self) self.uri_handlers = [u'file://'] -class GStreamerPlaybackController(BasePlaybackController): +class LocalPlaybackController(BasePlaybackController): def __init__(self, backend): - super(GStreamerPlaybackController, self).__init__(backend) + super(LocalPlaybackController, self).__init__(backend) self._bin = gst.element_factory_make("playbin", "player") self._bus = self._bin.get_bus() @@ -64,12 +62,6 @@ class GStreamerPlaybackController(BasePlaybackController): self.stop() - def use_fake_sink(self): - """For testing. To avoid audio output during testing, and the need for - a sound card and a fully working gstreamer installation.""" - sink = gst.element_factory_make("fakesink", "fakesink") - self._bin.set_property("audio-sink", sink) - def _set_state(self, state): self._bin.set_state(state) (_, new, _) = self._bin.get_state() @@ -124,9 +116,9 @@ class GStreamerPlaybackController(BasePlaybackController): del playbin -class GStreamerStoredPlaylistsController(BaseStoredPlaylistsController): +class LocalStoredPlaylistsController(BaseStoredPlaylistsController): def __init__(self, *args): - super(GStreamerStoredPlaylistsController, self).__init__(*args) + super(LocalStoredPlaylistsController, self).__init__(*args) self._folder = os.path.expanduser(settings.LOCAL_PLAYLIST_FOLDER) self.refresh() @@ -197,9 +189,9 @@ class GStreamerStoredPlaylistsController(BaseStoredPlaylistsController): self._playlists.append(playlist) -class GStreamerLibraryController(BaseLibraryController): +class LocalLibraryController(BaseLibraryController): def __init__(self, backend): - super(GStreamerLibraryController, self).__init__(backend) + super(LocalLibraryController, self).__init__(backend) self._uri_mapping = {} self.refresh() diff --git a/tests/backends/gstreamer_test.py b/tests/backends/local_test.py similarity index 86% rename from tests/backends/gstreamer_test.py rename to tests/backends/local_test.py index 22619c80..63282bde 100644 --- a/tests/backends/gstreamer_test.py +++ b/tests/backends/local_test.py @@ -1,14 +1,14 @@ import unittest import os -# FIXME Our Windows build server does not support Gstreamer yet +# FIXME Our Windows build server does not support GStreamer yet import sys if sys.platform == 'win32': from tests import SkipTest raise SkipTest from mopidy import settings -from mopidy.backends.gstreamer import GStreamerBackend +from mopidy.backends.local import LocalBackend from mopidy.mixers.dummy import DummyMixer from mopidy.models import Playlist, Track from mopidy.utils import path_to_uri @@ -21,22 +21,22 @@ generate_song = lambda i: path_to_uri(song % i) # FIXME can be switched to generic test -class GStreamerCurrentPlaylistControllerTest(BaseCurrentPlaylistControllerTest, +class LocalCurrentPlaylistControllerTest(BaseCurrentPlaylistControllerTest, unittest.TestCase): tracks = [Track(uri=generate_song(i), length=4464) for i in range(1, 4)] - backend_class = GStreamerBackend + backend_class = LocalBackend -class GStreamerPlaybackControllerTest(BasePlaybackControllerTest, +class LocalPlaybackControllerTest(BasePlaybackControllerTest, unittest.TestCase): tracks = [Track(uri=generate_song(i), length=4464) for i in range(1, 4)] - backend_class = GStreamerBackend + backend_class = LocalBackend def setUp(self): - super(GStreamerPlaybackControllerTest, self).setUp() + super(LocalPlaybackControllerTest, self).setUp() # Two tests does not work at all when using the fake sink #self.backend.playback.use_fake_sink() @@ -64,10 +64,10 @@ class GStreamerPlaybackControllerTest(BasePlaybackControllerTest, self.assertEqual(self.playback.state, self.playback.PLAYING) -class GStreamerStoredPlaylistsControllerTest(BaseStoredPlaylistsControllerTest, +class LocalStoredPlaylistsControllerTest(BaseStoredPlaylistsControllerTest, unittest.TestCase): - backend_class = GStreamerBackend + backend_class = LocalBackend def test_created_playlist_is_persisted(self): path = os.path.join(settings.LOCAL_PLAYLIST_FOLDER, 'test.m3u') @@ -136,10 +136,10 @@ class GStreamerStoredPlaylistsControllerTest(BaseStoredPlaylistsControllerTest, raise SkipTest -class GStreamerLibraryControllerTest(BaseLibraryControllerTest, +class LocalLibraryControllerTest(BaseLibraryControllerTest, unittest.TestCase): - backend_class = GStreamerBackend + backend_class = LocalBackend def setUp(self): self.original_tag_cache = settings.LOCAL_TAG_CACHE @@ -148,13 +148,13 @@ class GStreamerLibraryControllerTest(BaseLibraryControllerTest, settings.LOCAL_TAG_CACHE = data_folder('library_tag_cache') settings.LOCAL_MUSIC_FOLDER = data_folder('') - super(GStreamerLibraryControllerTest, self).setUp() + super(LocalLibraryControllerTest, self).setUp() def tearDown(self): settings.LOCAL_TAG_CACHE = self.original_tag_cache settings.LOCAL_MUSIC_FOLDER = self.original_music_folder - super(GStreamerLibraryControllerTest, self).tearDown() + super(LocalLibraryControllerTest, self).tearDown() if __name__ == '__main__': unittest.main() From dbb027ed7d1420d121e1c20c3609494046c57b7e Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Tue, 10 Aug 2010 21:46:14 +0200 Subject: [PATCH 3/7] docs: How to install libspotify at OS X, and other small installation docs changes --- docs/installation/despotify.rst | 10 +++++++-- docs/installation/index.rst | 10 +++++---- docs/installation/libspotify.rst | 38 +++++++++++++++++++++++++------- 3 files changed, 44 insertions(+), 14 deletions(-) diff --git a/docs/installation/despotify.rst b/docs/installation/despotify.rst index 335efa14..6787070d 100644 --- a/docs/installation/despotify.rst +++ b/docs/installation/despotify.rst @@ -27,16 +27,22 @@ Build and install Despotify:: cd despotify/src/ sudo make install +When Despotify has been installed, continue with :ref:`spytify_installation`. + Installing Despotify on OS X ============================ -In OS X you need to have `XCode `_ -installed, and `Homebrew `_. Then, install +In OS X you need to have `XCode `_ and +`Homebrew `_ installed. Then, to install Despotify:: brew install despotify +When Despotify has been installed, continue with :ref:`spytify_installation`. + + +.. _spytify_installation: Installing spytify ================== diff --git a/docs/installation/index.rst b/docs/installation/index.rst index b7601c3a..d70d7392 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -7,11 +7,11 @@ Mopidy itself is a breeze to install, as it just requires a standard Python service is far more tricky to get working for the time being. Until installation of these libraries are either well documented by their developers, or the libraries are packaged for various Linux distributions, we will supply -our own installation guides. +our own installation guides, as linked to below. -Dependencies -============ +Install dependencies +==================== .. toctree:: :hidden: @@ -20,6 +20,8 @@ Dependencies libspotify gstreamer +Make sure you got the required dependencies installed. + - Python >= 2.6, < 3 - Dependencies for at least one Mopidy mixer: @@ -29,7 +31,7 @@ Dependencies - OsaMixer (OS X only) - - Nothing needed. + - No additional dependencies. - Dependencies for at least one Mopidy backend: diff --git a/docs/installation/libspotify.rst b/docs/installation/libspotify.rst index f595a5cb..9dc9689f 100644 --- a/docs/installation/libspotify.rst +++ b/docs/installation/libspotify.rst @@ -12,11 +12,9 @@ To use the libspotify backend you must install libspotify and This backend requires a Spotify premium account, and it requires you to get an application key from Spotify before use. -**TODO** Test and document installation on OS X. - -Installing libspotify -===================== +Installing libspotify on Linux +============================== Download and install libspotify 0.0.4 for your OS and CPU architecture from https://developer.spotify.com/en/libspotify/. @@ -29,6 +27,30 @@ For 64-bit Linux the process is as follows:: sudo make install prefix=/usr/local sudo ldconfig +When libspotify has been installed, continue with +:ref:`pyspotify_installation`. + + +Installing libspotify on OS X +============================= + +In OS X you need to have `XCode `_ and +`Homebrew `_ installed. Then, to install +libspotify:: + + brew install libspotify + +When libspotify has been installed, continue with +:ref:`pyspotify_installation`. + + +Install libspotify on Windows +============================= + +**TODO** Test and document installation on Windows. + + +.. _pyspotify_installation: Installing pyspotify ==================== @@ -43,14 +65,14 @@ Check out the pyspotify code, and install it:: cd pyspotify/pyspotify/ sudo python setup.py install -Apply for an application key at -https://developer.spotify.com/en/libspotify/application-key, download the -binary version, and place the file at ``pyspotify/spotify_appkey.key``. - Testing the installation ======================== +Apply for an application key at +https://developer.spotify.com/en/libspotify/application-key, download the +binary version, and place the file at ``pyspotify/spotify_appkey.key``. + Test your libspotify setup:: examples/example1.py -u USERNAME -p PASSWORD From 762e46f650e71c662a1d90fb2740c6400538417f Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Tue, 10 Aug 2010 22:00:31 +0200 Subject: [PATCH 4/7] GStreamer is now a required dependency --- docs/changes.rst | 1 + docs/installation/gstreamer.rst | 26 +++++++++++++++++--------- docs/installation/index.rst | 17 +++++++++-------- 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/docs/changes.rst b/docs/changes.rst index 8c034f51..c8e4c912 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -12,6 +12,7 @@ Another great release. **Changes** +- GStreamer is now a required dependency. - Exit early if not Python >= 2.6, < 3. - Include Sphinx scripts for building docs, pylintrc, tests and test data in the packages created by ``setup.py`` for i.e. PyPI. diff --git a/docs/installation/gstreamer.rst b/docs/installation/gstreamer.rst index dd038ba0..ef66c673 100644 --- a/docs/installation/gstreamer.rst +++ b/docs/installation/gstreamer.rst @@ -1,29 +1,37 @@ ********************** -Gstreamer installation +GStreamer installation ********************** -To use the `Gstreamer `_ backend, you first -need to install Gstreamer and its Python bindings. +To use the Mopidy, you first need to install GStreamer and its Python bindings. -Installing Gstreamer on Linux +Installing GStreamer on Linux ============================= -Gstreamer is packaged for most popular Linux distributions. If you use -Debian/Ubuntu you can install Gstreamer with Aptitude:: +GStreamer is packaged for most popular Linux distributions. If you use +Debian/Ubuntu you can install GStreamer with Aptitude:: sudo aptitude install python-gst0.10 gstreamer0.10-plugins-good \ gstreamer0.10-plugins-ugly -Installing Gstreamer on OS X +Installing GStreamer on OS X ============================ -To install Gstreamer on OS X using Homebrew:: +.. note:: + + We have created GStreamer formulas for Homebrew to make the GStreamer + installation easy for you, but our formulas has not been merged into + Homebrew's master branch yet. You should either fetch the formula files + from `Homebrew's issue #1612 + `_ yourself, or fall + back to using MacPorts. + +To install GStreamer on OS X using Homebrew:: brew install gst-python gst-plugins-good gst-plugins-ugly -To install Gstreamer on OS X using MacPorts:: +To install GStreamer on OS X using MacPorts:: sudo port install py26-gst-python gstreamer-plugins-good \ gstreamer-plugins-ugly diff --git a/docs/installation/index.rst b/docs/installation/index.rst index d70d7392..bc5cc7a8 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -3,11 +3,11 @@ Installation ************ Mopidy itself is a breeze to install, as it just requires a standard Python -2.6 or newer installation. The libraries we depend on to connect to the Spotify -service is far more tricky to get working for the time being. Until -installation of these libraries are either well documented by their developers, -or the libraries are packaged for various Linux distributions, we will supply -our own installation guides, as linked to below. +installation and the GStreamer library. The libraries we depend on to connect +to the Spotify service is far more tricky to get working for the time being. +Until installation of these libraries are either well documented by their +developers, or the libraries are packaged for various Linux distributions, we +will supply our own installation guides, as linked to below. Install dependencies @@ -16,13 +16,14 @@ Install dependencies .. toctree:: :hidden: - despotify - libspotify gstreamer + libspotify + despotify Make sure you got the required dependencies installed. - Python >= 2.6, < 3 +- :doc:`GStreamer ` (>= 0.10 ?) with Python bindings - Dependencies for at least one Mopidy mixer: - AlsaMixer (Linux only) @@ -45,7 +46,7 @@ Make sure you got the required dependencies installed. - LocalBackend (Linux, OS X, and Windows) - - :doc:`GStreamer ` + - No additional dependencies. Install latest release From 83659aab00d7866fd05273c85499eb9d7ffff2bf Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Tue, 10 Aug 2010 22:02:09 +0200 Subject: [PATCH 5/7] docs: Include all mixers in deps list --- docs/installation/index.rst | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/docs/installation/index.rst b/docs/installation/index.rst index bc5cc7a8..cc0e3448 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -26,25 +26,33 @@ Make sure you got the required dependencies installed. - :doc:`GStreamer ` (>= 0.10 ?) with Python bindings - Dependencies for at least one Mopidy mixer: - - AlsaMixer (Linux only) + - :mod:`mopidy.mixers.alsa` (Linux only) - pyalsaaudio >= 0.2 (Debian/Ubuntu package: python-alsaaudio) - - OsaMixer (OS X only) + - :mod:`mopidy.mixers.denon` (Linux, OS X, and Windows) + + - pyserial (Debian/Ubuntu package: python-serial) + + - :mod:`mopidy.mixers.nad` (Linux, OS X, and Windows) + + - pyserial (Debian/Ubuntu package: python-serial) + + - :mod:`mopidy.mixers.osa` (OS X only) - No additional dependencies. - Dependencies for at least one Mopidy backend: - - DespotifyBackend (Linux and OS X) + - :mod:`mopidy.backends.despotify` (Linux and OS X) - :doc:`Despotify and spytify ` - - LibspotifyBackend (Linux, OS X, and Windows) + - :mod:`mopidy.backends.libspotify` (Linux, OS X, and Windows) - :doc:`libspotify and pyspotify ` - - LocalBackend (Linux, OS X, and Windows) + - :mod:`mopidy.backends.local` (Linux, OS X, and Windows) - No additional dependencies. From 0ef15514ed793925c972a052737cd5fd54903bbe Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Tue, 10 Aug 2010 22:12:11 +0200 Subject: [PATCH 6/7] docs: Shorten list of clients regularily used during development --- docs/installation/index.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation/index.rst b/docs/installation/index.rst index cc0e3448..73ae62cb 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -131,8 +131,8 @@ To start Mopidy, simply open a terminal and run:: When Mopidy says ``MPD server running at [localhost]:6600`` it's ready to accept connections by any MPD client. You can find a list of tons of MPD -clients at http://mpd.wikia.com/wiki/Clients. We use Sonata, GMPC, ncmpc, and -ncmpcpp during development. The first two are GUI clients, while the last two -are terminal clients. +clients at http://mpd.wikia.com/wiki/Clients. We use GMPC and +ncmpcpp during development. The first is a GUI client, and the second is a +terminal client. To stop Mopidy, press ``CTRL+C``. From 84e5b6992224fb62a62da76f6ccbc212e7f02266 Mon Sep 17 00:00:00 2001 From: Johannes Knutsen Date: Thu, 12 Aug 2010 01:35:55 +0200 Subject: [PATCH 7/7] removed dummy stored playlist search method definition in libspotify to use the super method --- mopidy/backends/libspotify/__init__.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/mopidy/backends/libspotify/__init__.py b/mopidy/backends/libspotify/__init__.py index 09d8f43b..bbbb5556 100644 --- a/mopidy/backends/libspotify/__init__.py +++ b/mopidy/backends/libspotify/__init__.py @@ -144,9 +144,6 @@ class LibspotifyStoredPlaylistsController(BaseStoredPlaylistsController): def save(self, playlist): pass # TODO - def search(self, query): - pass # TODO - class LibspotifyTranslator(object): @classmethod