Hey from Linux!

Started by djazz, February 16, 2017, 03:59:35 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

djazz

I found out about this game recently, and since I'm on Linux I tried to get it installed (compiling UltraStar Deluxe) and thought I should make it easier for others to install on Linux.

I'm sorry if this is in the wrong subforum, feel free to move it!

I have added the game to Lutris, which is an open source gaming platform for Linux. After you have installed Lutris, you can install the game here.
I have compiled UltraStar Deluxe and it should run on most modern linux systems. It's compiled on Ubuntu 16.04 in a chroot and its dependencies are included. It runs on 32-bit and 64-bit. I have also added some pony player avatars.

When you install it you should see a window with download progress of all the songs. This will take a while depending on your connection, since it will have to download ~14GB of files. You can cancel the download and resume later if you have to.

I have added other MLP games to Lutris, have a look around!

rainbowderpy

#1
Hi djazz!

Thanks a lot for your work on getting usdx on linux!
Any official UltraStar Deluxe related stuff can be found on github at https://github.com/UltraStar-Deluxe/USDX/ .
This Lutris package looks really interesting and might be a good solution for "official" Linux support of the UltraStar Deluxe game.
For windows, we developed a songs package installer which automatically loads the songs into the correct songs folder of USDX. (you double-click on the *.mlk / *.usdx file which is just a tar of a folder + the song + video + txt file)
Could you maybe implement something similar for linux? This would make songs distribution and installing much easier  :)

djazz

Quote from: rainbowderpy on February 16, 2017, 09:19:24 PMFor windows, we developed a songs package installer which automatically loads the songs into the correct songs folder of USDX. (you double-click on the *.mlk / *.usdx file which is just a tar of a folder + the song + video + txt file)
Could you maybe implement something similar for linux? This would make songs distribution and installing much easier  :)
I'll see what I can do. I'm thinking of a shell script that runs when you open .mlk files and extracts songs to ~/ultrastardx/songs/MLK or something.
Could also be create an uri scheme, so when you click a mlk: link, a dialog pops up and asks if you want to download that song. That way the user doesn't have to download the file manually, it's all automated through this utility/launcher. It could peek inside the file and show image + song name + artist before "installing" the song.
We'll see! :)

djazz

#3
Quote from: rainbowderpy on February 16, 2017, 09:19:24 PMFor windows, we developed a songs package installer which automatically loads the songs into the correct songs folder of USDX. (you double-click on the *.mlk / *.usdx file which is just a tar of a folder + the song + video + txt file)
Could you maybe implement something similar for linux? This would make songs distribution and installing much easier  :)

I made it!

When you download a .tar.mlk file it appears like this in your file manager:

A thumbnailer script scans the archive for valid songs that have covers and picks the first it can find. The script is run by the file manager.

When you double click a file that contains only one song, it looks like this:


If the archive contains multiple songs (like a normal and an instrumental version for example) you can select what songs to add:

Uncheck the checkbox to not add that song.

It will ask if you want to overwrite songs if it notices the file already exist.
When it's done it will ask if you want to delete the downloaded archive.
Songs are stored in ~/.ultrastar/songs/
Folder structure of the archive is preserved so if a song is in Downloads/artist - title/ it will be saves as ~/.ultrastar/songs/Downloads/artist - title/

NOTE: It will ONLY extract song txt, audiofile, cover, background and video. No other files will be extracted!

I will release an AUR package soon!
Code is here: https://github.com/daniel-j/usdx-linux-utility

EDIT: AUR package: https://aur.archlinux.org/packages/ultrastardx-utility/