UltraStar-Deluxe / USDX

The free and open source karaoke singing game UltraStar Deluxe, inspired by Sony SingStar™
https://usdx.eu
GNU General Public License v2.0
830 stars 160 forks source link

Enhancement proposition : Mobile app for playlist #464

Open thomas-saigne opened 5 years ago

thomas-saigne commented 5 years ago

Hi,

I'm a software engineer and an UltraStar user. I was think about an idea of an additionnal project to improve the party ;)

The idea is basically having an app on a phone or a tablet, connected to the USDX instance. The app could enable the users to select next songs for the playlist while a song is running, also maybe set the players, the game mode... I think it would be great when there are a lot of songs, and a lot of people playing, and some people wants to sing in english, others don't, some prefer Disney... etc etc...

My idea was having a plugin (or a secondary app ?), to be the gateway between an app and USDX (like an API for USDX while playing), and then an Android/iOS app, accessing this API on the same WiFi. So my first question is : could this plugin thing be simple to implement in the current system ? I guess accessing data (list of songs availables, playlists, etc...) is ok. But changing next song, next players, etc ?

I would gladly contribute to this project if the team is interested, maybe on the API or mobile app part ;)

Thank you.

Thomas

fredmontier commented 5 years ago

HI There...

I'm doing exactly that. I'm using Delphi Berlin and uniGUI.

You can use your phone to put songs in "party" list and use a PC (windows) to host the party and files in a StanAlone uniGUI Server. I've made UltarStar compatible with CDG and improved MIDI/KARs and others stuffs.

Back to the apps, there is a admin that have powers to reorganize the music order, people can secretly vote performances and make contest. Now I'm expanding to a more consistent project. But still some 3-6 months to finish it.

I'm considering to donate the app/server to the community in exchange for market visibility. Of course, just the execs, cause I can't share uniGUI resources and components.

Works like this: UltraStar Deluxe (on mainScreen) , in the same pc runs the server where people log on via Wi-Fi and using Mobile Browser. uniGUI app in server handles the request for musics, order etc. In the main screen, just pop up the music in order and announcing the singers.

Tell me what you think about it. Soon I will put a demo version on-line.

Thanks in advance for advices...

Atenciosamente,

Frederico Monteiro Cetera Softwares

Telefone: 11-2016-3558/11-4108-3865/11-98620-7676 Atendimento: 09:00hs até 18:00hs Skype: ceterasoftwares whatsapp: 11-98620-7676

Em ter, 4 de jun de 2019 às 19:38, thomas-saigne notifications@github.com escreveu:

Hi,

I'm a software engineer and an UltraStar user. I was think about an idea of an additionnal project to improve the party ;)

The idea is basically having an app on a phone or a tablet, connected to the USDX instance. The app could enable the users to select next songs for the playlist while a song is running, also maybe set the players, the game mode... I think it would be great when there are a lot of songs, and a lot of people playing, and some people wants to sing in english, others don't, some prefer Disney... etc etc...

My idea was having a plugin (or a secondary app ?), to be the gateway between an app and USDX (like an API for USDX while playing), and then an Android/iOS app, accessing this API on the same WiFi. So my first question is : could this plugin thing be simple to implement in the current system ? I guess accessing data (list of songs availables, playlists, etc...) is ok. But changing next song, next players, etc ?

I would gladly contribute to this project if the team is interested, maybe on the API or mobile app part ;)

Thank you.

Thomas

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/UltraStar-Deluxe/USDX/issues/464?email_source=notifications&email_token=AB7HMQ3ZCI25KHRUO7I4EFLPY3VFNA5CNFSM4HTF763KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GXUTP7A, or mute the thread https://github.com/notifications/unsubscribe-auth/AB7HMQYKQBNT5MU46LRZXP3PY3VFNANCNFSM4HTF763A .

diver66 commented 4 years ago

Hola Fred, how far are you with the development ?

cRaZy-bisCuiT commented 4 years ago

Unfortunately it looks dead to me. Anyone else working on this topic?

jc0rn3t commented 1 year ago

Hi all,

I'm also fiddling around a little in this area and seem to be stuck at a point where others might be able to help me. What I've done so far:

As a result via a website (or app on mobile phone) you can build up a queue (playlist) which then is automatically presented in USDX. As such it just shows the songs that you have put in queue which makes the actual singtime longer and spend less time on finding songs in the main menu.

The only option I'm missing now is the sorting of the songs in the order that it has been placed in the playlist. I've seen the several sorting options, but can't seem to use the playlist array index as sorting order for the songs.

Happy to share the website and brainstorm on additional tasks, but I'd like to ask some guidance in the playlist ordering in return ;)

Regards, Jan

pheelwell commented 10 months ago

Hi i've been working on the exact same thing: My current idea is to only have 2 songs in the Playlist: 1 you currently play, 1 you queue When you finish a song (new entry in Ultrastar.DB i poll) I remove it from the queue.

@jc0rn3t how did you load your playlist into USDX? I can't get it to reload the new playlist

Here is my current repo. Bad python btw :D https://github.com/pheelwell/ultrastar-webserver

jc0rn3t commented 10 months ago

Well I did it a bit dirtier as I update the pl file directly via a mobile webapp. There are 2 main things for me that I want to tackle.

  1. Provide easy access to my song library where players can choose from.
  2. Use game as much as possible to actually sing instead of people using the menu to search for new songs to sing

These 2 options provide the ability for players to search their favorite songs while others are singing and book them in a queue so you can go as soon as it's your turn with maximum sing time on the game itself. On paper it should work good with larger groups. Tested it out and it does work, but unfortunately it's a bit buggy as halfway the evening this playlist file gets corrupted and booked songs are missing. I guess too many file I/O access is not handling well with 15+ people using the app and booking this. As such, I want to change this to SQLite DB as well and see if I can get USDX loading playlists from there. (same as your approach I guess)

Might be a good upgrade form the playlist file access feature that is used today!

pheelwell commented 10 months ago

Hm... so you have no issue editing the playlist file while the game runs? For me the playlist does not get updated until I restart the whole Game. Did you change something in the USDX client? Or am I just missing something?

Thaddell commented 1 month ago

Hi jc0rn3t, Have you continued on your journey? I would really do something simmilar but wanted to look into others drafts first to save some time...