diff --git a/docs/changelog.rst b/docs/changelog.rst index 48177be4..e2451cf2 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -4,6 +4,14 @@ Changelog This changelog is used to track all major changes to Mopidy. +v2.2.2 (UNRELEASED) +=================== + +Bug fix release. + +- Files: Fix crash due to mix of text and bytes in paths that come from + ``$XDG_CONFIG_HOME/user-dirs.dirs``. (Fixes: :issue:`1676`, :issue:`1725`) + v2.2.2 (UNRELEASED) =================== diff --git a/docs/clients/mpris.rst b/docs/clients/mpris.rst index daa23b6d..eed23970 100644 --- a/docs/clients/mpris.rst +++ b/docs/clients/mpris.rst @@ -4,62 +4,10 @@ MPRIS clients ************* -`MPRIS `_ is short for Media Player Remote Interfacing -Specification. It's a spec that describes a standard D-Bus interface for making -media players available to other applications on the same system. +`MPRIS `_ is short +for Media Player Remote Interfacing Specification. It is a spec that describes +a standard D-Bus interface for making media players available to other +applications on the same system. -The MPRIS frontend provided by the `Mopidy-MPRIS extension -`_ currently implements all required -parts of the MPRIS spec, plus the optional playlist interface. It does not -implement the optional tracklist interface. - - -.. _ubuntu-sound-menu: - -Ubuntu Sound Menu -================= - -The `Ubuntu Sound Menu `_ is the default -sound menu in Ubuntu since 10.10 or 11.04. By default, it only includes the -Rhytmbox music player, but many other players can integrate with the sound -menu, including the official Spotify player and Mopidy. - -.. image:: ubuntu-sound-menu.png - :height: 480 - :width: 955 - -If you install Mopidy from apt.mopidy.com, the sound menu should work out of -the box. If you install Mopidy in any other way, you need to make sure that the -file located at ``extra/desktop/mopidy.desktop`` in the Mopidy git repo is -installed as ``/usr/share/applications/mopidy.desktop``, and that the -properties ``TryExec`` and ``Exec`` in the file points to an existing -executable file, preferably your Mopidy executable. If this isn't in place, the -sound menu will not detect that Mopidy is running. - -Next, Mopidy's MPRIS frontend must be running for the sound menu to be able to -control Mopidy. The frontend is enabled by default, so as long as you have all -its dependencies available, you should be good to go. Keep an eye out for -warnings or errors from the MPRIS frontend when you start Mopidy, since it may -fail because of missing dependencies or because Mopidy is started outside of X; -the frontend won't work if ``$DISPLAY`` isn't set when Mopidy is started. - -Under normal use, if Mopidy isn't running and you open the menu and click on -"Mopidy Music Server", a terminal window will open and automatically start -Mopidy. If Mopidy is already running, you'll see that Mopidy is marked with an -arrow to the left of its name, like in the screen shot above, and the player -controls will be visible. Mopidy doesn't support the MPRIS spec's optional -tracklist interface yet, so you'll not be able to select what track to play -from the sound menu. You can use the sound menu to check what you're currently -playing, pause, resume, and skip to the next and previous track. - -In summary, Mopidy's sound menu integration is currently not a full featured -client, but it's a convenient addition to an MPD client since it's always -easily available on Unity's menu bar. - - -Rygel -===== - -Rygel is an application that will translate between Mopidy's MPRIS interface -and UPnP, and thus make Mopidy controllable from devices compatible with UPnP -and/or DLNA. To read more about this, see :ref:`upnp-clients`. +See the `Mopidy-MPRIS documentation `_ +for a survey of some MPRIS clients. diff --git a/docs/clients/ubuntu-sound-menu.png b/docs/clients/ubuntu-sound-menu.png deleted file mode 100644 index 9362f6f4..00000000 Binary files a/docs/clients/ubuntu-sound-menu.png and /dev/null differ diff --git a/docs/clients/upnp.rst b/docs/clients/upnp.rst index 1a33b456..02deb316 100644 --- a/docs/clients/upnp.rst +++ b/docs/clients/upnp.rst @@ -37,8 +37,8 @@ There are two ways Mopidy can be made available as an UPnP MediaRenderer: Using Mopidy-MPRIS and Rygel, or using Mopidy-MPD and upmpdcli. -upmpdcli --------- +Mopidy-MPD and upmpdcli +----------------------- `upmpdcli `_ is recommended, since it is easier to setup, and offers `OpenHome @@ -66,86 +66,15 @@ MediaRenderer to the network, while using the MPD protocol to control Mopidy. 4. A UPnP renderer should be available now. -Rygel ------ +Mopidy-MPRIS and Rygel +---------------------- -With the help of `the Rygel project `_ Mopidy can -be made available as an UPnP MediaRenderer. Rygel will interface with the MPRIS -interface provided by the `Mopidy-MPRIS extension -`_, and make Mopidy available as a -MediaRenderer on the local network. Since this depends on the MPRIS frontend, -which again depends on D-Bus being available, this will only work on Linux, and -not OS X. MPRIS/D-Bus is only available to other applications on the same -host, so Rygel must be running on the same machine as Mopidy. - -1. Start Mopidy and make sure the MPRIS frontend is working. It is activated - by default when the Mopidy-MPRIS extension is installed, but you may miss - dependencies or be using OS X, in which case it will not work. Check the - console output when Mopidy is started for any errors related to the MPRIS - frontend. If you're unsure it is working, there are instructions for how to - test it in the `Mopidy-MPRIS readme - `_. - -2. Install Rygel. On Debian/Ubuntu:: - - sudo apt-get install rygel - -3. Enable Rygel's MPRIS plugin. On Debian/Ubuntu, edit ``/etc/rygel.conf``, - find the ``[MPRIS]`` section, and change ``enabled=false`` to - ``enabled=true``. - -4. Start Rygel by running:: - - rygel - - Example output:: - - $ rygel - Rygel-Message: New plugin 'MediaExport' available - Rygel-Message: New plugin 'org.mpris.MediaPlayer2.mopidy' available - - In the above example, you can see that Rygel found Mopidy, and it is now - making Mopidy available through Rygel. +See the `Mopidy-MPRIS `_ documentation +for how to setup Rygel to make Mopidy an UPnP MediaRenderer. -The UPnP-Inspector client -========================= - -`UPnP-Inspector `_ is a -graphical analyzer and debugging tool for UPnP services. It will detect any -UPnP devices on your network, and show these in a tree structure. This is not a -tool for your everyday music listening while relaxing on the couch, but it may -be of use for testing that your setup works correctly. - -1. Install UPnP-Inspector. On Debian/Ubuntu:: - - sudo apt-get install upnp-inspector - -2. Run it:: - - upnp-inspector - -3. Assuming that Mopidy is running with a working MPRIS frontend, and that - Rygel is running on the same machine, Mopidy should now appear in - UPnP-Inspector's device list. - -4. If you expand the tree item saying ``Mopidy - (MediaRenderer:2)`` or similiar, and then the sub element named - ``AVTransport:2`` or similar, you'll find a list of commands you can invoke. - E.g. if you double-click the ``Pause`` command, you'll get a new window - where you can press an ``Invoke`` button, and then Mopidy should be paused. - -Note that if you have a firewall on the host running Mopidy and Rygel, and you -want this to be exposed to the rest of your local network, you need to open up -your firewall for UPnP traffic. UPnP use UDP port 1900 as well as some -dynamically assigned ports. I've only verified that this procedure works across -the network by temporarily disabling the firewall on the the two hosts -involved, so I'll leave any firewall configuration as an exercise to the -reader. - - -Other clients -============= +Clients +======= For a long list of UPnP clients for all possible platforms, see Wikipedia's `List of UPnP AV media servers and clients diff --git a/docs/ext/http.rst b/docs/ext/http.rst index cea7a252..855a8c6b 100644 --- a/docs/ext/http.rst +++ b/docs/ext/http.rst @@ -103,13 +103,16 @@ See :ref:`config` for general help on configuring Mopidy. A list of domains allowed to perform Cross-Origin Resource Sharing (CORS) requests. This applies to both JSON-RPC and WebSocket requests. Values - should be in the format ``hostname:port`` and separated by either a comma or - newline. - + should be in the format ``hostname:port``, should not specify any scheme and + be separated by either a comma or newline. Additionally, the ``port`` should + not be specified if it is the default (80 for http, 443 for https). + Same-origin requests (i.e. requests from Mopidy's web server) are always allowed and so you don't need an entry for those. However, if your requests originate from a different web server, you will need to add an entry for - that server in this list. + that server in this list. For example, to allow requests from a web server + at 'http://www.my.web-client.com' you would specify the entry + 'www.my.web-client.com'. .. confval:: http/csrf_protection