Git Product home page Git Product logo

mopidy-party's Introduction

Mopidy-Party

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.

Installation

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 .

Usage

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/

Configuration

[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 when searching / browsing on a single page
max_queue_length = 0  # Maximum number of tracks queued at the same time, 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)

Project resources

Developer information

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')

Changelog

v1.2.2 (2024-03-09)

  • Add max_queue_length, max_results config options (by grasdk)

v1.2.1 (2023-08-14)

  • Add music source name and icon in search results (by grasdk)
  • Bump fontawesome version

v1.2.0 (2022-12-21)

  • Add hide_pause, hide_skip, style config options (by grasdk)
  • Provide two default styles (dark and original)

v1.1.0 (2022-10-12)

  • 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)

v1.0.0 (2020-01-03)

  • Port to python3 and Mopidy 3 (by girst)

v0.3.1 (2018-10-17)

  • Vendorize mopidy javascript for 3.0 upstream compatibility

v0.3.0 (2018-08-03)

  • Add browse when search string is empty and on load (supports both mopidy-local and mopidy-local-sqlite backends, by juniormonkey)

v0.2.0 (2017-01-08)

  • Add vote to skip (by RealityFork)

v0.1.2 (2016-10-10)

  • Add artists and album names in songs list

v0.1.0 (2015-09-01)

  • Initial release.

mopidy-party's People

Contributors

axelsimon avatar dgwetzel avatar girst avatar grasdk avatar juniormonkey avatar lesterpig avatar marsjaninzmarsa avatar psikoblock avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mopidy-party's Issues

Can't connect to Mopidy-Party via browser

Most likely a very simple problem,

As to my knowledge I've installed Mopidy-Party correctly, but when I run it and try to connect via a browser at 192.168.0.34:6680/party/ it simply comes up with 'can't connect' and 'refused to connect'

Pretty much a complete beginner so I figure it's an easy fix

Cheers !

Youtube Backend fails

This plugin seems to do some conversion on Youtube links, the Youtube backend does not like.

INFO     Searching Youtube for query 'https://www.youtube.com/watch?v=rWwNgVwQG1A'
INFO     Need 11 character video id or the URL of the video. Got //youtube:video/Logicoma - Elysian (Final version).rWwNgVwQG1A
ERROR    YoutubeBackend backend returned bad data: Expected a list of Track, not [None]

Volume Bar

Add a simple volume bar that is you can toggle by a config variable. The persons you are dealing the music with isn't in a big party or anything a volume bar can be very helpful to keep a good volume that everyone likes.

If you put Lyrics this is perfect

Hi.
Thanks for your work! I really like the idea, also the voting system (lol).
But i think that i will enjoy even more this if you put lyrics (if synchronized better of course, if not... well amazing anyway).

With my friends and family we like to sign a lot when we get together, so... for us that will be a lot of fun.

Thanks!

Multi user in rotation, one song at a time for each user

Do you think it would be difficult to adapt mopidy-party for the following us case ?

Alice, Bob and Carol want to listen to music together and agree to choose the music played one song at a time in rotation. They each choose their songs, either on separate devices (eg. phones that have access to the web interface), or by passing the device to each other in rotation. A kind of slot based approach.

Problems using mopidy-party

I am new to mopidy so I am sorry if this is a dumb problem.

I installed mopidy and the mopidy-party extension.

After running mopidy I can see that it is enabled via mopidy config

...
[party]
enabled = true
...

I go to the root of the mopidy http server and see the following

screen shot 2016-04-02 at 4 21 26 pm

When clicking on the link for party I get a http 404. So I am wondering where am I supposed to see this extension so that I can interact with it?

I looked through your code and noticed here that it looks like the path gets registered as /party which is where I am getting the 404 so I am confused why this isn't working.

Any help would be greatly appreciated!

Album, artist, and song search results

(I'm going to create a bunch of issues for enhancements that I'd like to see, none of them are problems with mopidy-party. Let me know if you're interested and I'll try to work on some)

I think it would be cool to have separate artist, album, and song search results. Other frontends do this but they are generally built for desktop use so there is more space (moped doesnt handle it very well on mobile).

One way to do it would be to have tabs for each in the search results. So the current result list is basically multiplied by 3, and you just select which list you want to view.

pip cannot install

$ sudo pip install Mopidy-Party
Collecting Mopidy-Party
Could not find a version that satisfies the requirement Mopidy-Party (from versions: )
No matching distribution found for Mopidy-Party

System info

uname -a

Linux debianmachine 3.13-1-amd64 #1 SMP Debian 3.13.7-1 (2014-03-25) x86_64 GNU/Linux

Add artist to now playing info

Hi, I was thinking it would be nice to have artist info in the now playing area, as that info is often useful.

Shape of my Heart by Sting (4:40)
rather than
Shape of My Heart by (4:40)

It's only a small modification in controller.js from what I can tell, but I'm not qualified enough to help you with that, sorry 😉

Thanks!

Search or browse local files

It would be great to be able to search and browse local songs as well as online backends, so mopidy-party could be used without an internet connection.

spotify?

I've been looking to implement this type of party feature for a while and was excited when I found this.

However, spotify does not seem to work in mopidy=party, but works in other front ends, am I doing something wrong?

Config option to select min time or vote skip

I think some users will probably prefer the old skipping, where anyone can skip after a certain amount of time. It shouldn't be too much work to make this configurable to select between the two.

Advanced search (select backend)

It might be nice to be able to search a particular backend, as I've noticed that some services flood the search results at present (mainly lastfm).

different function

#I think should change the operation of the application to be really effective.
-The control of play/pause button should have it only the host.
-Pressing play button player random contents of multimedia folder selected in mopidy and includes user requests.

Sincerely

[feature request] maintain search bar at top

When scrolling through music selections, browser text box should stay visible at the top. Also, if possible, when entering text in the search bar, display results without having to hit 'enter'. Additionally, iif text box is cleared, all results should be visible without hitting 'enter'.

Small support question: when I add [party] to mopidy.conf, party is not displayed on the mopidy web interface. Is there a specific place to put the [party] config for changes to be made available?

Thanks! This is exactly what I've been looking for for a long time!

No artist or album details in search results.

Hi,
It would be great if mopidy-party could display artist and album details for search results. Currently I am using Google Music and mopidy-party only displays the track title, making things quite confusing.

Can't see music queue?

Hi,
Unless I'm missing something, I don't see how to see the queue. Only the number of enqueued items.
Most people at a party would expect to be able to see what is lined up to play next when deciding what music to add to the queue, I think.
Thanks!

Vendorize Mopidy.js

Please vendorize a copy of the version of Mopidy.js you support instead of using /mopidy/mopidy.min.js as bundled by Mopidy.

Mopidy's bundled copy of Mopidy.js will be removed in Mopidy 3.0. For background information, please read mopidy/mopidy#1460.

Play/pause button not working

Whenever I play a song and then pause it, the music stops. But when I press the button again, it does not continue playing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.