Merge branch 'release/0.1.0' into develop
This commit is contained in:
commit
02e536b184
18
docs/api/frontends/index.rst
Normal file
18
docs/api/frontends/index.rst
Normal file
@ -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`
|
||||
@ -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
|
||||
|
||||
22
docs/api/outputs.rst
Normal file
22
docs/api/outputs.rst
Normal file
@ -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:
|
||||
@ -5,17 +5,26 @@ 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.
|
||||
|
||||
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**
|
||||
|
||||
- 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 <installation/gstreamer>`.
|
||||
- :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
|
||||
@ -72,6 +81,9 @@ greatly improved MPD client support.
|
||||
- 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:
|
||||
|
||||
|
||||
@ -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``.
|
||||
|
||||
@ -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 <libspotify>`. 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 <gstreamer>`. To use Spotify with Mopidy, you also need
|
||||
:doc:`libspotify and pyspotify <libspotify>`. Mopidy itself can either be
|
||||
installed from the Python package index, PyPI, or from git.
|
||||
|
||||
|
||||
Install dependencies
|
||||
@ -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 <libspotify>`
|
||||
|
||||
@ -91,20 +96,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 +141,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``.
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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'))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user