Skip to content

A Mopidy extension for reading M3U playlists from an HTTP server

License

Notifications You must be signed in to change notification settings

mgoltzsche/mopidy-webm3u

Repository files navigation

Mopidy-WebM3U

Mopidy extension for reading M3U playlists from an HTTP server.

For example it allows you to browse and listen to the playlists within your Beets library that have been generated by Beets' smartplaylist plugin and served by the beets-webm3u plugin (on another machine) within Mopidy.

This extension does not support manipulating playlists.

Installation

Install by running:

sudo pip install Mopidy-WebM3U

Configuration

Before starting Mopidy, you must configure it as follows, enabling the webm3u extension and specifying the URL to the M3U playlist of playlists:

[m3u]
enabled = false
[webm3u]
enabled = true
seed_m3u = http://beets:8337/playlists/index.m3u
uri_scheme = m3u

(Mopidy's built-in m3u extension must be disabled in order to be able to use the m3u URI scheme with the webm3u extension which is required to make playlists show up within the Iris web GUI, see here.)

The playlist of playlists URL specified by the seed_m3u option is expected to return an EXTM3U-formatted list of tagged *.m3u HTTP URLs, e.g.:

#EXTM3U
#EXTINF:0,Playlist 1
http://localhost:8337/playlists/playlist1.m3u
#EXTINF:0,Playlist 2
http://localhost:8337/playlists/playlist2.m3u

Development

First make sure an example M3U playlist of playlists is served at http://localhost:8337/m3u/playlists/index.m3u, e.g. by running the beets-webm3u development server.

Then you can run a mopidy container with the extension installed (including your local changes) as follows (requires docker):

make run

Once Mopidy started, you can browse the playlists within the Iris UI at http://localhost:6680/iris/library/playlists.