USDX icon indicating copy to clipboard operation
USDX copied to clipboard

Enhancement proposition : Mobile app for playlist

Open thomas-saigne opened this issue 5 years ago • 8 comments

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

thomas-saigne avatar Jun 04 '19 22:06 thomas-saigne

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 [email protected] 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 .

fredmontier avatar Jun 11 '19 16:06 fredmontier

Hola Fred, how far are you with the development ?

diver66 avatar Dec 21 '19 19:12 diver66

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

cRaZy-bisCuiT avatar Jun 05 '20 13:06 cRaZy-bisCuiT

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:

  • Create a website showing all my karaoke songs that players can browse and check info from (like a library).
  • Website contains option to add a song, that they like, to a queue.
  • Result is: "artist : title" of the selected song is added to a predefined playlist (upl file)
  • Playlist is automatically read from disk each time the songscreen is loaded after a sung song.

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

jc0rn3t avatar Nov 11 '22 13:11 jc0rn3t

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

pheelwell avatar Oct 27 '23 17:10 pheelwell

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
  • for the first topic, I created a mobile webapp with the songs I have. it's just a library to search in and find the songs you want to sing. Extraction of folder with songs is stored in SQLite and webapp uses that to present what I have.

  • for the second, I added the ability in the app to "book" a song with your singing buddy and safe this in the playlist file of USDX. The game just loads the PL every time after a song is done (score screen) and goes to the next item in the list. Hit enter (or joypad button) and start singing.

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!

jc0rn3t avatar Oct 30 '23 09:10 jc0rn3t

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?

pheelwell avatar Oct 31 '23 17:10 pheelwell