Mopidy web extension designed for party! Let your guests manage the sound ;)
- Minimal, fast web interface designed for mobile
- Search soundtracks and add it to the queue
- Skip current track after a configurable number of votes (defaults to 3)
See this blog entry for some details about this package.
You must install mopidy (version 3) and some backends (soundcloud, spotify, youtube...).
PROD: you just have to install pip and then:
sudo python3 -m pip install Mopidy-Party
DEV: After cloning the repository, install by running:
sudo python3 -m pip install -e .
To use the interface, simply use your browser to visit your Mopidy instance's IP at port 6680 to see all available web interfaces. For example, http://192.168.0.2:6680/
Direct access to Mopidy Party should then be: http://192.168.0.2:6680/party/
[party] enabled = true votes_to_skip = 3 # Votes needed from different users to allow skipping a song. max_tracks = 0 # Maximum number of tracks that can be added by a single user in a row. 0 for unlimited max_results = 50 # Maximum number of tracks to show per source when searching / browsing max_queue_length = 0 # Maximum number of tracks queued at the same time. 0 for unlimited max_song_duration = 0 # Maximum song duration in minutes. Longer songs are not shown in search results. 0 for unlimited. hide_pause = false # Change to true to hide the pause button hide_skip = false # Change to true to hide the skip button style = dark.css # Stylesheet to use. Also embedded is original.css (light theme) source_prio = local # Source search priority. Allows you to configure your best or fastest sources first tidal # for faster response times. One source per line. spotify youtube source_blacklist = cd # Blacklist sources you don't want mopidy-party to search. No need to disable the file # plugins. One source per line.
The RequestHandler 'config' makes mopidy.conf's section for the [party] configuration available via http GET requests. Useful if you want to make aspects of the controller configurable.
Example: The controller uses the below request, to read the max_results value:
$http.get('/party/config?key=max_results')
- Update fontawesome
- Review search ordering algorithm
- Add max_song_duration, source_prio and source_blacklist config options (by grasdk)
- Add max_queue_length, max_results config options (by grasdk)
- Add music source name and icon in search results (by grasdk)
- Bump fontawesome version
- Add hide_pause, hide_skip, style config options (by grasdk)
- Provide two default styles (dark and original)
- Use IP from X-Forwarded-For header if available (by girst)
- Limit maximum number of tracks per user in a row (by girst)
- Allows fallback tracks (added by other mopidy frontends) (by girst)
- Dark mode (by girst)
- Port to python3 and Mopidy 3 (by girst)
- Vendorize mopidy javascript for 3.0 upstream compatibility
- Add browse when search string is empty and on load (supports both mopidy-local and mopidy-local-sqlite backends, by juniormonkey)
- Add vote to skip (by RealityFork)
- Add artists and album names in songs list
- Initial release.