vicwomg / pikaraoke

Youtube-based Karaoke machine for Raspberry Pi, OSX, Windows, and Linux
GNU General Public License v3.0
461 stars 117 forks source link

[FEATURE] Create / Edit Rooms #300

Open honestlai opened 6 months ago

honestlai commented 6 months ago

Is your feature request related to a problem? Please describe.

Now that I've found an ability to run the splash interface in different places, I've found if I have the splash screen loaded on more than one browser, the queue and playback gets all funky

Describe the solution you'd like

There are 4 features I think would come in handy for the above

  1. On loading the splash or browser screens, being able to choose a room number or name, maybe even giving the splash screen room choice the ability to add a 3 or 4 digit passcode
  2. As a general user, being able to leave the room (to rejoin or change rooms)
  3. As an admin, being able to see what rooms are live and choosing between them (no password needed)
  4. As an admin, being able to limit how many rooms can run concurrently at a time
RecursiveFunctions commented 6 months ago

Sort of like jackbox party pack and their codes to enter specific sessions?

honestlai commented 6 months ago

I'm not familiar w/ jackbox party pack, but yes I think what I'm requesting is very similar.

RecursiveFunctions commented 5 months ago

Have you considered running multiple instances of PiKaraoke but on different ports? Users could switch between "rooms" by simply changing to the corresponding port number. For example you can start a couple instances like so:

./pikaraoke.sh -p 5555 --headless &
./pikaraoke.sh -p 6666 --headless &

For this example lets say the hostname on your device is "karaoke". So then a user could go to http://karaoke:5555 Or http://karaoke:6666 And the device hosting "room" 5555 would open up their browser to http://karaoke:5555/splash

So it looks like the functionality's already there for the most part. I guess the only additional work would be to show a list of all "rooms" in the admin webpage.

vicwomg commented 5 months ago
./pikaraoke.sh -p 5555 --headless &
./pikaraoke.sh -p 6666 --headless &

Yes others have done this with success, but you also need to have unique ffmpeg ports.

./pikaraoke.sh -p 5555 -f 5556 --headless &
./pikaraoke.sh -p 6666 -f 6667 --headless &