From 81e4c0e839bdaead2034330618292f4b620c96e8 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Mon, 28 Oct 2013 10:38:05 +0100 Subject: [PATCH 01/68] docs: Update txomon's mail address --- .mailmap | 2 +- AUTHORS | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.mailmap b/.mailmap index 260770b8..e19cc5cc 100644 --- a/.mailmap +++ b/.mailmap @@ -8,5 +8,5 @@ John Bäckstrand Alli Witheford Alexandre Petitjean Alexandre Petitjean -Javier Domingo Cansino +Javier Domingo Cansino Lasse Bigum diff --git a/AUTHORS b/AUTHORS index e59b92e2..3794a267 100644 --- a/AUTHORS +++ b/AUTHORS @@ -24,6 +24,7 @@ - Alli Witheford - Alexandre Petitjean - Terje Larsen -- Javier Domingo Cansino +- Javier Domingo Cansino - Pavol Babincak +- Javier Domingo - Lasse Bigum From 27f8597f575962a7ff0be26d876d168aab966552 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Mon, 28 Oct 2013 11:54:49 +0100 Subject: [PATCH 02/68] docs: Merge license page into authors page --- docs/authors.rst | 8 +++++++- docs/index.rst | 1 - docs/license.rst | 10 ---------- 3 files changed, 7 insertions(+), 12 deletions(-) delete mode 100644 docs/license.rst diff --git a/docs/authors.rst b/docs/authors.rst index 33a25bc1..54ba95af 100644 --- a/docs/authors.rst +++ b/docs/authors.rst @@ -4,7 +4,13 @@ Authors ******* -Contributors to Mopidy in the order of appearance: +Mopidy is copyright 2009-2013 Stein Magnus Jodal and contributors. Mopidy is +licensed under the `Apache License, Version 2.0 +`_. + +The following persons have contributed to Mopidy. The list is in the order of +first contribution. For details on who have contributed what, please refer to +our Git repository. .. include:: ../AUTHORS diff --git a/docs/index.rst b/docs/index.rst index 732c9f32..28d0c8ad 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -48,7 +48,6 @@ About :maxdepth: 1 authors - license changelog versioning diff --git a/docs/license.rst b/docs/license.rst deleted file mode 100644 index 98928f63..00000000 --- a/docs/license.rst +++ /dev/null @@ -1,10 +0,0 @@ -******* -License -******* - -Mopidy is copyright 2009-2013 Stein Magnus Jodal and contributors. For a list -of contributors, see :doc:`authors`. For details on who have contributed what, -please refer to our git repository. - -Mopidy is licensed under the `Apache License, Version 2.0 -`_. From 4680688bd286013947b08c58c322af6c17ad9fe2 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Mon, 28 Oct 2013 12:06:39 +0100 Subject: [PATCH 03/68] docs: Add howto for updating Debian packages --- docs/devtools.rst | 70 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/docs/devtools.rst b/docs/devtools.rst index ed069430..6bdf9a27 100644 --- a/docs/devtools.rst +++ b/docs/devtools.rst @@ -143,3 +143,73 @@ Creating releases on the mailing list. #. Update the Debian package. + + +Updating Debian packages +======================== + +This howto is not intended to learn you all the details, just to give someone +already familiar with Debian packaging an overview of how Mopidy's Debian +packages is maintained. + +#. Install the basic packaging tools:: + + sudo apt-get install build-essential git-buildpackage + +#. Check out the ``debian`` branch of the repo:: + + git checkout -t origin/debian + git pull + +#. Merge the latest release tag into the ``debian`` branch:: + + git merge v0.16.0 + +#. Update the ``debian/changelog`` with a "New upstream release" entry:: + + dch -v 0.16.0-0mopidy1 + git add debian/changelog + git commit -m "debian: New upstream release" + +#. Check if any dependencies in ``debian/control`` or similar needs updating. + +#. Install any Build-Deps listed in ``debian/control``. + +#. Build the package and fix any issues repeatedly until the build succeeds and + the Lintian check at the end of the build is satisfactory:: + + git buildpackage -uc -us + +#. Install and test newly built package:: + + sudo debi + +#. If everything is OK, build the package a final time to tag the package + version:: + + git buildpackage -uc -us --git-tag + +#. Push the changes you've done to the ``debian`` branch and the new tag:: + + git push + git push --tags + +#. If you're building for multiple architectures, checkout the ``debian`` + branch on the other builders and run:: + + git buildpackage -uc -us + +#. Copy files to the APT server. Make sure to select the correct part of the + repo, e.g. main, contrib, or non-free:: + + scp ../mopidy*_0.16* bonobo.mopidy.com:/srv/apt.mopidy.com/app/incoming/stable/main + +#. Update the APT repo:: + + ssh bonobo.mopidy.com + /srv/apt.mopidy.com/app/update.sh + +#. Test installation from apt.mopidy.com:: + + sudo apt-get update + sudo apt-get dist-upgrade From 152c8aa9c5be864d2456504bf2e232f76ce47b25 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Mon, 28 Oct 2013 20:09:42 +0100 Subject: [PATCH 04/68] docs: Fix syntax error --- mopidy/ext.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mopidy/ext.py b/mopidy/ext.py index e6cfbb7c..c239c374 100644 --- a/mopidy/ext.py +++ b/mopidy/ext.py @@ -163,7 +163,7 @@ def validate_extension(extension): def register_gstreamer_elements(enabled_extensions): """Registers custom GStreamer elements from extensions. - :params enabled_extensions: list of enabled extensions + :param enabled_extensions: list of enabled extensions """ for extension in enabled_extensions: From c0bfb5dfd3016dbbbe215d025b3f1967e601d0f7 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Mon, 28 Oct 2013 20:50:48 +0100 Subject: [PATCH 05/68] docs: Simplify Arch install docs --- docs/installation/index.rst | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/docs/installation/index.rst b/docs/installation/index.rst index cd4ad983..2dc1d5c6 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -71,25 +71,22 @@ it out. Arch Linux: Install from AUR ============================ -If you are running Arch Linux, you can install the latest release of Mopidy -using the `mopidy-git `_ -package found in AUR. The package installs from the ``master`` branch of the -Mopidy Git repo, which always corresponds to the latest release. +If you are running Arch Linux, you can install Mopidy +using the `mopidy `_ +package found in AUR. -#. To install Mopidy with GStreamer, libspotify and pyspotify, you can use - ``packer``, ``yaourt``, or do it by hand like this:: +#. To install Mopidy with all dependencies, you can use + for example `yaourt `_:: - wget http://aur.archlinux.org/packages/mopidy-git/mopidy-git.tar.gz - tar xf mopidy-git.tar.gz - cd mopidy-git/ - makepkg -si + yaourt -S mopidy - To upgrade Mopidy to future releases, just rerun ``makepkg``. + To upgrade Mopidy to future releases, just upgrade your system using:: -#. Optional: If you want to scrobble your played tracks to Last.fm, you need to - install `python2-pylast`:: + yaourt -Syu - sudo pacman -S python2-pylast +#. Optional: If you want to use any Mopidy extensions, like Spotify support or + Last.fm scrobbling, AUR also got `packages for several Mopidy extensions + `_. #. Finally, you need to set a couple of :doc:`config values `, and then you're ready to :doc:`run Mopidy `. From ac2e413ec03c68b39819292a3ecf28dadd61d470 Mon Sep 17 00:00:00 2001 From: David Eisner Date: Fri, 1 Nov 2013 09:27:31 +0000 Subject: [PATCH 06/68] Advertise MPD with Avahi A rudimentary implementation to resolve #39, ignoring dbus errors (just restart), name collisions (choose a fresh name), etc. --- mopidy/frontends/mpd/__init__.py | 2 ++ mopidy/frontends/mpd/actor.py | 26 ++++++++++++++++++++ mopidy/frontends/mpd/ext.conf | 2 ++ mopidy/frontends/mpd/zeroconf.py | 42 ++++++++++++++++++++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 mopidy/frontends/mpd/zeroconf.py diff --git a/mopidy/frontends/mpd/__init__.py b/mopidy/frontends/mpd/__init__.py index 276be450..28f9c951 100644 --- a/mopidy/frontends/mpd/__init__.py +++ b/mopidy/frontends/mpd/__init__.py @@ -23,6 +23,8 @@ class Extension(ext.Extension): schema['password'] = config.Secret(optional=True) schema['max_connections'] = config.Integer(minimum=1) schema['connection_timeout'] = config.Integer(minimum=1) + schema['zeroconf_enabled'] = config.Boolean() + schema['zeroconf_name'] = config.String() return schema def validate_environment(self): diff --git a/mopidy/frontends/mpd/actor.py b/mopidy/frontends/mpd/actor.py index 4d983b73..b48b2b65 100644 --- a/mopidy/frontends/mpd/actor.py +++ b/mopidy/frontends/mpd/actor.py @@ -17,6 +17,9 @@ class MpdFrontend(pykka.ThreadingActor, CoreListener): super(MpdFrontend, self).__init__() hostname = network.format_hostname(config['mpd']['hostname']) port = config['mpd']['port'] + self.config = config + self.hostname = hostname + self.port = port try: network.Server( @@ -36,8 +39,31 @@ class MpdFrontend(pykka.ThreadingActor, CoreListener): logger.info('MPD server running at [%s]:%s', hostname, port) + def on_start(self): + try: + if self.config['mpd']['zeroconf_enabled']: + name = self.config['mpd']['zeroconf_name'] + import re + lo = re.search('(? Date: Fri, 1 Nov 2013 15:28:37 +0100 Subject: [PATCH 07/68] docs: Strip commands and unchanged configs --- docs/conf.py | 296 +++++++++++++-------------------------------------- 1 file changed, 76 insertions(+), 220 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 5a75b7d4..3759c698 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,16 +1,6 @@ -# -*- coding: utf-8 -*- -# -# Mopidy documentation build configuration file, created by -# sphinx-quickstart on Fri Feb 5 22:19:08 2010. -# -# This file is execfile()d with the current directory set to its containing -# dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. +# encoding: utf-8 + +"""Mopidy documentation build configuration file""" from __future__ import unicode_literals @@ -18,6 +8,17 @@ import os import sys +# -- Read The Docs configuration ---------------------------------------------- + +RTD_NEW_THEME = True + + +# -- Workarounds to have autodoc generate API docs ---------------------------- + +sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) +sys.path.insert(0, os.path.abspath(os.path.dirname(__file__) + '/../')) + + class Mock(object): def __init__(self, *args, **kwargs): pass @@ -43,7 +44,6 @@ class Mock(object): else: return Mock() - MOCK_MODULES = [ 'cherrypy', 'dbus', @@ -68,213 +68,8 @@ MOCK_MODULES = [ for mod_name in MOCK_MODULES: sys.modules[mod_name] = Mock() -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) -sys.path.insert(0, os.path.abspath(os.path.dirname(__file__) + '/../')) - -# When RTD builds the project, it sets the READTHEDOCS environment variable to -# the string True. -on_rtd = os.environ.get('READTHEDOCS', None) == 'True' - -# Enable Read the Docs' new theme -RTD_NEW_THEME = True - -# -- General configuration ---------------------------------------------------- - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.extlinks', - 'sphinx.ext.graphviz', - 'sphinx.ext.viewcode', -] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = 'Mopidy' -copyright = '2009-2013, Stein Magnus Jodal and contributors' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The full version, including alpha/beta/rc tags. -from mopidy.utils.versioning import get_version -release = get_version() -# The short X.Y version. -version = '.'.join(release.split('.')[:2]) - - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of documents that shouldn't be included in the build. -#unused_docs = [] - -# List of directories, relative to source directory, that shouldn't be searched -# for source files. -exclude_trees = ['_build'] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -modindex_common_prefix = ['mopidy.'] - - -# -- Options for HTML output -------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. Major themes that come with -# Sphinx are currently 'default' and 'sphinxdoc'. -html_theme = 'default' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -html_theme_path = ['_themes'] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -if on_rtd: - html_logo = '_static/mopidy.png' - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_use_modindex = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = '' - -# Output file base name for HTML help builder. -htmlhelp_basename = 'Mopidydoc' - - -# -- Options for LaTeX output ------------------------------------------------- - -# The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' - -# The font size ('10pt', '11pt' or '12pt'). -#latex_font_size = '10pt' - -# Grouping the document tree into LaTeX files. List of tuples (source start -# file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ( - 'index', - 'Mopidy.tex', - 'Mopidy Documentation', - 'Stein Magnus Jodal', - 'manual' - ), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# Additional stuff for the LaTeX preamble. -#latex_preamble = '' - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_use_modindex = True - - -needs_sphinx = '1.0' - -extlinks = {'issue': ('https://github.com/mopidy/mopidy/issues/%s', '#')} +# -- Custom Sphinx object types ----------------------------------------------- def setup(app): from sphinx.ext.autodoc import cut_lines @@ -283,3 +78,64 @@ def setup(app): b'confval', 'confval', objname='configuration value', indextemplate='pair: %s; configuration value') + + +# -- General configuration ---------------------------------------------------- + +needs_sphinx = '1.0' + +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.extlinks', + 'sphinx.ext.graphviz', + 'sphinx.ext.viewcode', +] + +templates_path = ['_templates'] +source_suffix = '.rst' +master_doc = 'index' + +project = 'Mopidy' +copyright = '2009-2013, Stein Magnus Jodal and contributors' + +from mopidy.utils.versioning import get_version +release = get_version() +version = '.'.join(release.split('.')[:2]) + +exclude_trees = ['_build'] + +pygments_style = 'sphinx' + +modindex_common_prefix = ['mopidy.'] + + +# -- Options for HTML output -------------------------------------------------- + +html_theme = 'default' +html_theme_path = ['_themes'] +html_static_path = ['_static'] + +html_use_modindex = True +html_use_index = True +html_split_index = False +html_show_sourcelink = True + +htmlhelp_basename = 'Mopidy' + + +# -- Options for LaTeX output ------------------------------------------------- + +latex_documents = [ + ( + 'index', + 'Mopidy.tex', + 'Mopidy Documentation', + 'Stein Magnus Jodal and contributors', + 'manual' + ), +] + + +# -- Options for extlink extension -------------------------------------------- + +extlinks = {'issue': ('https://github.com/mopidy/mopidy/issues/%s', '#')} From be5582e2122f8cb7786b0a6bb9e7ed363a06c84b Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Fri, 1 Nov 2013 16:39:03 +0100 Subject: [PATCH 08/68] docs: Add manpages for all commands --- docs/commands/index.rst | 13 +++ docs/commands/mopidy-convert-config.rst | 99 ++++++++++++++++++ docs/commands/mopidy-scan.rst | 59 +++++++++++ docs/commands/mopidy.rst | 124 +++++++++++++++++++++++ docs/conf.py | 27 +++++ docs/index.rst | 1 + docs/running.rst | 128 ++---------------------- 7 files changed, 330 insertions(+), 121 deletions(-) create mode 100644 docs/commands/index.rst create mode 100644 docs/commands/mopidy-convert-config.rst create mode 100644 docs/commands/mopidy-scan.rst create mode 100644 docs/commands/mopidy.rst diff --git a/docs/commands/index.rst b/docs/commands/index.rst new file mode 100644 index 00000000..bc169465 --- /dev/null +++ b/docs/commands/index.rst @@ -0,0 +1,13 @@ +.. _commands: + +******** +Commands +******** + +Mopidy comes with the following commands: + +.. toctree:: + :maxdepth: 1 + :glob: + + ** diff --git a/docs/commands/mopidy-convert-config.rst b/docs/commands/mopidy-convert-config.rst new file mode 100644 index 00000000..7f1e6242 --- /dev/null +++ b/docs/commands/mopidy-convert-config.rst @@ -0,0 +1,99 @@ +.. _mopidy-convert-config: + +***************************** +mopidy-convert-config command +***************************** + +Synopsis +======== + +mopidy-convert-config + [-h] [--version] [-q] [-v] + + +Description +=========== + +Mopidy is a music server which can play music both from multiple sources, like +your local hard drive, radio streams, and from Spotify and SoundCloud. Searches +combines results from all music sources, and you can mix tracks from all +sources in your play queue. Your playlists from Spotify or SoundCloud are also +available for use. + +The ``mopidy-convert-config`` command is used to convert ``settings.py`` +configuration files used by ``mopidy`` < 0.14 to the ``mopidy.conf`` config +file used by ``mopidy`` >= 0.14. + + +Options +======= + +.. program:: mopidy-convert-config + +This program does not take any options. It looks for the pre-0.14 settings file +at ``$XDG_CONFIG_DIR/mopidy/settings.py``, and if it exists it converts it and +ouputs a Mopidy 0.14 compatible ini-format configuration. If you don't already +have a config file at ``$XDG_CONFIG_DIR/mopidy/mopidy.conf``, you're asked if +you want to save the converted config to that file. + + +Example +======= + +Given the following contents in ``~/.config/mopidy/settings.py``: + +:: + + LOCAL_MUSIC_PATH = u'~/music' + MPD_SERVER_HOSTNAME = u'::' + SPOTIFY_PASSWORD = u'secret' + SPOTIFY_USERNAME = u'alice' + +Running ``mopidy-convert-config`` will convert the config and create a new +``mopidy.conf`` config file: + +.. code-block:: none + + $ mopidy-convert-config + Checking /home/alice/.config/mopidy/settings.py + Converted config: + + [spotify] + username = alice + password = ******** + + [mpd] + hostname = :: + + [local] + media_dir = ~/music + + Write new config to /home/alice/.config/mopidy/mopidy.conf? [yN] y + Done. + +Contents of ``~/.config/mopidy/mopidy.conf`` after the conversion: + +.. code-block:: ini + + [spotify] + username = alice + password = secret + + [mpd] + hostname = :: + + [local] + media_dir = ~/music + + +See also +======== + +:ref:`mopidy(1) ` + + +Reporting bugs +============== + +Report bugs to Mopidy's issue tracker at + diff --git a/docs/commands/mopidy-scan.rst b/docs/commands/mopidy-scan.rst new file mode 100644 index 00000000..e8c25f77 --- /dev/null +++ b/docs/commands/mopidy-scan.rst @@ -0,0 +1,59 @@ +.. _mopidy-scan-cmd: + +******************* +mopidy-scan command +******************* + +Synopsis +======== + +mopidy-scan + [-h] [--version] [-q] [-v] + + +Description +=========== + +Mopidy is a music server which can play music both from multiple sources, like +your local hard drive, radio streams, and from Spotify and SoundCloud. Searches +combines results from all music sources, and you can mix tracks from all +sources in your play queue. Your playlists from Spotify or SoundCloud are also +available for use. + +The ``mopidy-scan`` command is used to index a music library to make it +available for playback with ``mopidy``. + + +Options +======= + +.. program:: mopidy-scan + +.. cmdoption:: --version + + Show Mopidy's version number and exit. + +.. cmdoption:: -h, --help + + Show help message and exit. + +.. cmdoption:: -q, --quiet + + Show less output: warning level and higher. + +.. cmdoption:: -v, --verbose + + Show more output: debug level and higher. + + +See also +======== + +:ref:`mopidy(1) ` + + +Reporting bugs +============== + +Report bugs to Mopidy's issue tracker at + diff --git a/docs/commands/mopidy.rst b/docs/commands/mopidy.rst new file mode 100644 index 00000000..df4766c3 --- /dev/null +++ b/docs/commands/mopidy.rst @@ -0,0 +1,124 @@ +.. _mopidy-cmd: + +************** +mopidy command +************** + +Synopsis +======== + +mopidy + [-h] [--version] [-q] [-v] [--save-debug-log] [--show-config] + [--show-deps] [--config CONFIG_FILES] [-o CONFIG_OVERRIDES] + + +Description +=========== + +Mopidy is a music server which can play music both from multiple sources, like +your local hard drive, radio streams, and from Spotify and SoundCloud. Searches +combines results from all music sources, and you can mix tracks from all +sources in your play queue. Your playlists from Spotify or SoundCloud are also +available for use. + +The ``mopidy`` command is used to start the server. + + +Options +======= + +.. program:: mopidy + +.. cmdoption:: -h, --help + + Show help message and exit. + +.. cmdoption:: --version + + Show Mopidy's version number and exit. + +.. cmdoption:: -q, --quiet + + Show less output: warning level and higher. + +.. cmdoption:: -v, --verbose + + Show more output: debug level and higher. + +.. cmdoption:: --save-debug-log + + Save debug log to the file specified in the :confval:`logging/debug_file` + config value, typically ``./mopidy.log``. + +.. cmdoption:: --show-config + + Show the current effective config. All configuration sources are merged + together to show the effective document. Secret values like passwords are + masked out. Config for disabled extensions are not included. + +.. cmdoption:: --show-deps + + Show dependencies, their versions and installation location. + +.. cmdoption:: --config + + Specify config file to use. To use multiple config files, separate them + with colon. The later files override the earlier ones if there's a + conflict. + +.. cmdoption:: -o