From 2f19a9f22af07bc57ecf0399d8c9efc8b4c87652 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 22:05:25 +0200 Subject: [PATCH 01/14] Bump version number to 0.1.0 --- mopidy/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mopidy/__init__.py b/mopidy/__init__.py index 7cdcad6a..15b7b1ad 100644 --- a/mopidy/__init__.py +++ b/mopidy/__init__.py @@ -3,7 +3,7 @@ if not (2, 6) <= sys.version_info < (3,): sys.exit(u'Mopidy requires Python >= 2.6, < 3') def get_version(): - return u'0.1.0a4' + return u'0.1.0' class MopidyException(Exception): def __init__(self, message, *args, **kwargs): From eb11a44fe716987b86903dbdd8b9bf5e30aa7392 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 22:05:42 +0200 Subject: [PATCH 02/14] Update changelog for 0.1.0 and add tentative release date --- docs/changes.rst | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docs/changes.rst b/docs/changes.rst index 4fdc8c1f..cdd0e570 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -5,12 +5,18 @@ Changes This change log is used to track all major changes to Mopidy. -0.1.0a4 (in development) -======================== +0.1.0 (2010-08-23) +================== -The greatest release ever! We present to you important improvements in search -functionality, working track position seeking, no known stability issues, and -greatly improved MPD client support. +After three weeks of long nights and sprints we're finally pleased enough with +the state of Mopidy to remove the alpha label, and do a regular release. + +Mopidy 0.1.0 got important improvements in search functionality, working track +position seeking, no known stability issues, and greatly improved MPD client +support. + +There are lots of changes since 0.1.0a3, and we urge you to at least read the +*important changes* below. **Important changes** From 9e7723f8cabcfe28a8d1a2178f1deb321c6580cc Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 22:08:40 +0200 Subject: [PATCH 03/14] Update version tests for 0.1.0 --- tests/version_test.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/version_test.py b/tests/version_test.py index 6ab3ee2f..a44e4e89 100644 --- a/tests/version_test.py +++ b/tests/version_test.py @@ -9,10 +9,9 @@ class VersionTest(unittest.TestCase): def test_versions_can_be_strictly_ordered(self): self.assert_(SV('0.1.0a0') < SV('0.1.0a1')) - self.assert_(SV('0.1.0a2') < SV(get_version())) + self.assert_(SV('0.1.0a1') < SV('0.1.0a2')) + self.assert_(SV('0.1.0a2') < SV('0.1.0a3')) self.assert_(SV('0.1.0a3') < SV(get_version())) - self.assert_(SV(get_version()) < SV('0.1.0a5')) - self.assert_(SV('0.1.0a0') < SV('0.1.0')) - self.assert_(SV('0.1.0') < SV('0.1.1')) + self.assert_(SV(get_version()) < SV('0.1.1')) self.assert_(SV('0.1.1') < SV('0.2.0')) self.assert_(SV('0.2.0') < SV('1.0.0')) From 93fb00d0d26ebcb8d45c8c924ae44b39b56993f4 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 22:19:36 +0200 Subject: [PATCH 04/14] Add note on missing OS X support --- docs/changes.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/changes.rst b/docs/changes.rst index cdd0e570..38aa24b6 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -13,10 +13,12 @@ the state of Mopidy to remove the alpha label, and do a regular release. Mopidy 0.1.0 got important improvements in search functionality, working track position seeking, no known stability issues, and greatly improved MPD client -support. +support. There are lots of changes since 0.1.0a3, and we urge you to at least +read the *important changes* below. -There are lots of changes since 0.1.0a3, and we urge you to at least read the -*important changes* below. +This release does not support OS X. We're sorry about that, and are working on +fixing the OS X issues for a future release. You can track the progress at +:issue:`14`. **Important changes** From 892bc3296cf7be7d2593d1a6e17d7c2291809974 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 22:19:58 +0200 Subject: [PATCH 05/14] Link from important changes to GStreamer install docs --- docs/changes.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/changes.rst b/docs/changes.rst index 38aa24b6..fadddc1a 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -23,7 +23,8 @@ fixing the OS X issues for a future release. You can track the progress at **Important changes** - License changed from GPLv2 to Apache License, version 2.0. -- GStreamer is now a required dependency. +- GStreamer is now a required dependency. See our :doc:`GStreamer installation + docs `. - :mod:`mopidy.backends.libspotify` is now the default backend. :mod:`mopidy.backends.despotify` is no longer available. This means that you need to install the :doc:`dependencies for libspotify From 1d720022ca9341c814e0b6d63f5af77495a4990a Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 22:23:01 +0200 Subject: [PATCH 06/14] Add note on backend's use of mopidy.outputs.gstreamer --- docs/changes.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/changes.rst b/docs/changes.rst index fadddc1a..e84d7aa9 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -81,6 +81,9 @@ fixing the OS X issues for a future release. You can track the progress at - A Spotify application key is now bundled with the source. :attr:`mopidy.settings.SPOTIFY_LIB_APPKEY` is thus removed. - If failing to play a track, playback will skip to the next track. + - Both :mod:`mopidy.backends.libspotify` and :mod:`mopidy.backends.local` + have been rewritten to use the new common GStreamer audio output module, + :mod:`mopidy.outputs.gstreamer`. - Mixers: From 05aa3fd01421422bb6eb7cc8e589fe0310401d2b Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 22:25:42 +0200 Subject: [PATCH 07/14] Another link to the GStreamer install docs --- docs/installation/index.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/installation/index.rst b/docs/installation/index.rst index abd185f1..b5fced8d 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -2,10 +2,10 @@ Installation ************ -To get a basic version of Mopidy running, you need Python and the GStreamer -library. To use Spotify with Mopidy, you also need :doc:`libspotify and -pyspotify `. Mopidy itself can either be installed from the Python -package index, PyPI, or from git. +To get a basic version of Mopidy running, you need Python and the +:doc:`GStreamer library `. To use Spotify with Mopidy, you also need +:doc:`libspotify and pyspotify `. Mopidy itself can either be +installed from the Python package index, PyPI, or from git. Install dependencies From c28d3b709595df0099c92a8b38869127a4bde733 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 22:48:26 +0200 Subject: [PATCH 08/14] Rewrite the settings docs --- docs/installation/index.rst | 43 +++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/docs/installation/index.rst b/docs/installation/index.rst index b5fced8d..d406cdbb 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -91,20 +91,42 @@ For an introduction to ``git``, please visit `git-scm.com Settings ======== -Create a file named ``settings.py`` in the directory ``~/.mopidy/``. +Mopidy reads settings from the file ``~/.mopidy/settings.py``, where ``~`` +means your *home directory*. If your username is ``alice`` and you are running +Linux, the settings file should probably be at +``/home/alice/.mopidy/settings.py``. -If you are using a Spotify backend, enter your Spotify Premium account's -username and password into the file, like this:: +You can either create this file yourself, or run the ``mopidy`` command, and it +will create an empty settings file for you. + +Music from Spotify +------------------ + +If you are using the Spotify backend, which is the default, 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.libspotify` is the default backend. If you want -to use :mod:`mopidy.backends.local`, add the following setting:: +Music from local storage +------------------------ + +If you want use Mopidy to play music you have locally at your machine instead +of using Spotify, you need to change the backend from the default to +:mod:`mopidy.backends.local` by adding the following line to your settings +file:: BACKENDS = (u'mopidy.backends.local.LocalBackend',) -For a full list of available settings, see :mod:`mopidy.settings`. +You may also want to change some of the ``LOCAL_*`` settings. See +:mod:`mopidy.settings`, for a full list of available settings. + +Connecting from other machines on the network +--------------------------------------------- + +As a secure default, Mopidy only accepts connections from ``localhost``. If you +want to open it for connections from other machines on your network, see +the documentation for :attr:`mopidy.settings.MPD_SERVER_HOSTNAME`. Running Mopidy @@ -114,10 +136,9 @@ To start Mopidy, simply open a terminal and run:: mopidy -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 GMPC and -ncmpcpp during development. The first is a GUI client, and the second is a -terminal client. +When Mopidy says ``MPD server running at [127.0.0.1]:6600`` it's ready to +accept connections by any MPD client. You can find tons of MPD 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 99a73f3a19134d96bd5fcc2dd7d3d3dbd9b01190 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 22:52:16 +0200 Subject: [PATCH 09/14] Update dependencies list --- docs/installation/index.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/installation/index.rst b/docs/installation/index.rst index d406cdbb..26b864d2 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -31,6 +31,11 @@ Make sure you got the required dependencies installed. - pyserial (Debian/Ubuntu package: python-serial) + - *Default:* :mod:`mopidy.mixers.gstreamer_software` (Linux, OS X, and + Windows) + + - No additional dependencies. + - :mod:`mopidy.mixers.nad` (Linux, OS X, and Windows) - pyserial (Debian/Ubuntu package: python-serial) @@ -41,7 +46,7 @@ Make sure you got the required dependencies installed. - Dependencies for at least one Mopidy backend: - - :mod:`mopidy.backends.libspotify` (Linux, OS X, and Windows) + - *Default:* :mod:`mopidy.backends.libspotify` (Linux, OS X, and Windows) - :doc:`libspotify and pyspotify ` From ce50e7ed47817881e21a5d0db370673800580a35 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 23:08:43 +0200 Subject: [PATCH 10/14] Fix missing word --- docs/development/internals.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development/internals.rst b/docs/development/internals.rst index 0af13aa8..4b4d3b14 100644 --- a/docs/development/internals.rst +++ b/docs/development/internals.rst @@ -20,7 +20,7 @@ the Spotify service, and the speakers. - Filled red boxes are the key external systems. - Gray boxes are external dependencies. - Blue circles lives in the ``main`` process, also known as ``CoreProcess``. - It processing messages on the core queue. + It is processing messages put on the core queue. - Purple circles lives in a process named ``MpdProcess``, running an :mod:`asyncore` loop. - Green circles lives in a process named ``GStreamerProcess``. From 820e4339294dc755a42067cd5c65ee5eccb7c26d Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 23:17:06 +0200 Subject: [PATCH 11/14] Add API docs for mopidy.outputs --- docs/api/outputs.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 docs/api/outputs.rst diff --git a/docs/api/outputs.rst b/docs/api/outputs.rst new file mode 100644 index 00000000..8f4e33c0 --- /dev/null +++ b/docs/api/outputs.rst @@ -0,0 +1,22 @@ +********************* +:mod:`mopidy.outputs` +********************* + +Outputs are responsible for playing audio. + + +Output API +========== + +A stable output API is not available yet, as we've only implemented a single +output module. + + +:mod:`mopidy.outputs.gstreamer` -- GStreamer output for all platforms +===================================================================== + +.. inheritance-diagram:: mopidy.outputs.gstreamer + +.. automodule:: mopidy.outputs.gstreamer + :synopsis: GStreamer output for all platforms + :members: From c7c08f8457d9d7b45e309f92fab112637b6b34bd Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 23:18:42 +0200 Subject: [PATCH 12/14] Move mixer inheritance diagrams --- docs/api/mixers.rst | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/api/mixers.rst b/docs/api/mixers.rst index 91c2e7aa..edaea306 100644 --- a/docs/api/mixers.rst +++ b/docs/api/mixers.rst @@ -40,58 +40,58 @@ methods as described below. :mod:`mopidy.mixers.alsa` -- ALSA mixer for Linux ================================================= +.. inheritance-diagram:: mopidy.mixers.alsa + .. automodule:: mopidy.mixers.alsa :synopsis: ALSA mixer for Linux :members: -.. inheritance-diagram:: mopidy.mixers.alsa.AlsaMixer - :mod:`mopidy.mixers.denon` -- Hardware mixer for Denon amplifiers ================================================================= +.. inheritance-diagram:: mopidy.mixers.denon + .. automodule:: mopidy.mixers.denon :synopsis: Hardware mixer for Denon amplifiers :members: -.. inheritance-diagram:: mopidy.mixers.denon - :mod:`mopidy.mixers.dummy` -- Dummy mixer for testing ===================================================== +.. inheritance-diagram:: mopidy.mixers.dummy + .. automodule:: mopidy.mixers.dummy :synopsis: Dummy mixer for testing :members: -.. inheritance-diagram:: mopidy.mixers.dummy - :mod:`mopidy.mixers.gstreamer_software` -- Software mixer for all platforms =========================================================================== +.. inheritance-diagram:: mopidy.mixers.gstreamer_software + .. automodule:: mopidy.mixers.gstreamer_software :synopsis: Software mixer for all platforms :members: -.. inheritance-diagram:: mopidy.mixers.gstreamer_software - :mod:`mopidy.mixers.osa` -- Osa mixer for OS X ============================================== +.. inheritance-diagram:: mopidy.mixers.osa + .. automodule:: mopidy.mixers.osa :synopsis: Osa mixer for OS X :members: -.. inheritance-diagram:: mopidy.mixers.osa - :mod:`mopidy.mixers.nad` -- Hardware mixer for NAD amplifiers ============================================================= +.. inheritance-diagram:: mopidy.mixers.nad + .. automodule:: mopidy.mixers.nad :synopsis: Hardware mixer for NAD amplifiers :members: - -.. inheritance-diagram:: mopidy.mixers.nad From c34dcd583be8fe58fdff235f183ca4f5655025c7 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 23:25:31 +0200 Subject: [PATCH 13/14] Reference relevant settings from all backends, frontends, mixers and outputs --- mopidy/backends/libspotify/__init__.py | 6 ++++++ mopidy/backends/local/__init__.py | 6 ++++++ mopidy/frontends/mpd/__init__.py | 5 +++++ mopidy/mixers/__init__.py | 4 ++++ mopidy/mixers/alsa.py | 4 ++++ mopidy/outputs/gstreamer.py | 4 ++++ 6 files changed, 29 insertions(+) diff --git a/mopidy/backends/libspotify/__init__.py b/mopidy/backends/libspotify/__init__.py index f00ec1f0..07f3e2f7 100644 --- a/mopidy/backends/libspotify/__init__.py +++ b/mopidy/backends/libspotify/__init__.py @@ -16,6 +16,12 @@ class LibspotifyBackend(BaseBackend): **Issues:** http://github.com/jodal/mopidy/issues/labels/backend-libspotify + **Settings:** + + - :attr:`mopidy.settings.SPOTIFY_LIB_CACHE` + - :attr:`mopidy.settings.SPOTIFY_USERNAME` + - :attr:`mopidy.settings.SPOTIFY_PASSWORD` + .. note:: This product uses SPOTIFY(R) CORE but is not endorsed, certified or diff --git a/mopidy/backends/local/__init__.py b/mopidy/backends/local/__init__.py index e9e86f34..50b3d84d 100644 --- a/mopidy/backends/local/__init__.py +++ b/mopidy/backends/local/__init__.py @@ -18,6 +18,12 @@ class LocalBackend(BaseBackend): A backend for playing music from a local music archive. **Issues:** http://github.com/jodal/mopidy/issues/labels/backend-local + + **Settings:** + + - :attr:`mopidy.settings.LOCAL_MUSIC_FOLDER` + - :attr:`mopidy.settings.LOCAL_PLAYLIST_FOLDER` + - :attr:`mopidy.settings.LOCAL_TAG_CACHE` """ def __init__(self, *args, **kwargs): diff --git a/mopidy/frontends/mpd/__init__.py b/mopidy/frontends/mpd/__init__.py index 02e3ab5f..6c06279f 100644 --- a/mopidy/frontends/mpd/__init__.py +++ b/mopidy/frontends/mpd/__init__.py @@ -4,6 +4,11 @@ from mopidy.frontends.mpd.process import MpdProcess class MpdFrontend(object): """ The MPD frontend. + + **Settings:** + + - :attr:`mopidy.settings.MPD_SERVER_HOSTNAME` + - :attr:`mopidy.settings.MPD_SERVER_PORT` """ def __init__(self): diff --git a/mopidy/mixers/__init__.py b/mopidy/mixers/__init__.py index c9543863..332718a6 100644 --- a/mopidy/mixers/__init__.py +++ b/mopidy/mixers/__init__.py @@ -4,6 +4,10 @@ class BaseMixer(object): """ :param backend: a backend instance :type mixer: :class:`mopidy.backends.base.BaseBackend` + + **Settings:** + + - :attr:`mopidy.settings.MIXER_MAX_VOLUME` """ def __init__(self, backend, *args, **kwargs): diff --git a/mopidy/mixers/alsa.py b/mopidy/mixers/alsa.py index efcb1e98..6eef6da4 100644 --- a/mopidy/mixers/alsa.py +++ b/mopidy/mixers/alsa.py @@ -10,6 +10,10 @@ class AlsaMixer(BaseMixer): """ Mixer which uses the Advanced Linux Sound Architecture (ALSA) to control volume. + + **Settings:** + + - :attr:`mopidy.settings.MIXER_ALSA_CONTROL` """ def __init__(self, *args, **kwargs): diff --git a/mopidy/outputs/gstreamer.py b/mopidy/outputs/gstreamer.py index 453747d6..554e986e 100644 --- a/mopidy/outputs/gstreamer.py +++ b/mopidy/outputs/gstreamer.py @@ -18,6 +18,10 @@ class GStreamerOutput(object): Audio output through GStreamer. Starts the :class:`GStreamerProcess`. + + **Settings:** + + - :attr:`mopidy.settings.GSTREAMER_AUDIO_SINK` """ def __init__(self, core_queue, output_queue): From b24961799c1e0910c7f5c179e4cf9f962f4bede3 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 23:36:23 +0200 Subject: [PATCH 14/14] Add docs for mopidy.frontends --- docs/api/frontends/index.rst | 18 ++++++++++++++++++ docs/api/{ => frontends}/mpd.rst | 0 2 files changed, 18 insertions(+) create mode 100644 docs/api/frontends/index.rst rename docs/api/{ => frontends}/mpd.rst (100%) diff --git a/docs/api/frontends/index.rst b/docs/api/frontends/index.rst new file mode 100644 index 00000000..052c7781 --- /dev/null +++ b/docs/api/frontends/index.rst @@ -0,0 +1,18 @@ +*********************** +:mod:`mopidy.frontends` +*********************** + +A frontend is responsible for exposing Mopidy for a type of clients. + + +Frontend API +============ + +A stable frontend API is not available yet, as we've only implemented a single +frontend module. + + +Frontends +========= + +* :mod:`mopidy.frontends.mpd` diff --git a/docs/api/mpd.rst b/docs/api/frontends/mpd.rst similarity index 100% rename from docs/api/mpd.rst rename to docs/api/frontends/mpd.rst