Giter Site home page Giter Site logo

ultrastar-deluxe / usdx Goto Github PK

View Code? Open in Web Editor NEW
808.0 44.0 159.0 226.94 MB

The free and open source karaoke singing game UltraStar Deluxe, inspired by Sony SingStar™

Home Page: https://usdx.eu

License: GNU General Public License v2.0

Shell 0.30% Batchfile 0.03% Python 0.13% NSIS 0.89% Pascal 96.39% PHP 0.01% C++ 0.42% C 0.03% Makefile 0.15% HTML 0.86% Assembly 0.43% M4 0.35% NASL 0.01% Visual Basic 6.0 0.01%
ultrastar game karaoke singing

usdx's Introduction

UltraStar Deluxe

Travis Build Status AppVeyor Build Status License

Official Project Website: https://usdx.eu/

UltraStar Deluxe Logo

1. About

UltraStar Deluxe (USDX) is a free and open source karaoke game. It allows up to six players to sing along with music using microphones in order to score points, depending on the pitch of the voice and the rhythm of singing. UltraStar Deluxe is a fork of the original UltraStar (developed by corvus5). Many features have been added like party mode, theme support and support for more audio and video formats. The improved stability and code quality of USDX enabled ports to Linux and Mac OS X.

2. Installation

Currently, the following installation channels are offered:

3. Configuration

  • To set additional song directories change your config.ini like this:
  [Directories]
  SongDir1=C:\Users\My\Music\MyUSDXSongs
  SongDir2=F:\EvenMoreUSDXSongs
  SongDir...=... (some more directories)
  • To enable joypad support change config.ini Joypad=Off to Joypad=On
  • To enable 2 or 3 player each on 2 screens, disable the full screen mode, extend your desktop horizontally and set the resolution to fill one screen. Then, in the config.ini set Screens=2 and restart the game.
  • The primary folder for songs on OS X is $HOME/Music/UltraStar Deluxe, which is created when UltraStar Deluxe is run for the first time.
  • On OS X, by default the config.ini file is created in $HOME/Library/Application Support/UltraStarDeluxe when UltraStar Deluxe is run for the first time.
  • When running in borderless fullscreen mode, the monitor it runs on can be configured by setting Graphics.PositionX/Y to an offset in pixels.
  • If installed via the flatpak package, the primary song folder is ~/.var/app/eu.usdx.UltraStarDeluxe/.ultrastardx/songs/ and the config.ini is located in ~/.var/app/eu.usdx.UltraStarDeluxe/.ultrastardx/ by default. To configure additional song directories, they first need to be made accessible to the flatpak app using the command: flatpak override eu.usdx.UltraStarDeluxe --filesystem=/your/new/songfolder - Afterwards, the directory can be added to the config.ini file as usual.

4. Further documentation

The wiki contains more information on:

5. Compiling

There are two main ways to compile the game:

  1. Lazarus IDE
  2. ./autogen.sh && ./configure && make

The executable will be game/ultrastardx[.exe].

For extended information, dependencies, OS-specific notes and configure flags, see COMPILING.md.

6. Making a release

See RELEASING.md

usdx's People

Contributors

alexanders avatar barbeque-squared avatar basisbit avatar bohning avatar brianch avatar daniel-j avatar epirat avatar garycxjk avatar goostav5 avatar hermanndppes avatar j-lag avatar jmfergeau avatar jose1711 avatar kamischi avatar luto avatar memcopy avatar mkinoo avatar mobacon avatar mrtnmtth avatar pkerling avatar ponponthebonbon avatar rattlesn4k3 avatar rhaamo avatar ricardosdl avatar s09bq5 avatar seigneurfuo avatar shazzzzam avatar sleumas2000 avatar thenotary avatar tobijdc 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  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

usdx's Issues

Avatars: better filtering

USDX WP b2 introduced a new feature, avatars representing the player. They turned out to be quite popular when tested at a convention.

Unfortunately, they look weird in-game: pixelation (point filtering?) + deformed aspect ratio (widescreen). Would it be possible to handle them which a better filtering algorithm at least?

[Webcam-Preview] Screenshot message, UI not redrawn

Steps to reproduce:

  1. Start USDX
  2. Click on Options
  3. Click on Webcam
  4. Select Webcam (0)
  5. Click "Enable Preview"
  6. Make Screenshot
  7. Press "OK" to dispose message
  8. Parts of the UI are not redrawn

Screenshot-saved-stays

OS: Windows 10 64bit
latest.7z from 15-Dec-2015 10:30

[Jukebox] inconsitent behaviour when entering Sing for 1st time

Preconditions:
Options --> Game --> Tabs=Off
Only 1 song

Steps to reproduce:

  1. Start USDX
  2. Click Jukebox
  3. Press Enter
    (Jukebox Just starts playing in Background without Full screen Video etc., intended?)
  4. Enjoy the song for a moment (Optional)
  5. Click Sing
  6. Press Enter
  7. Press Enter
  8. Notice the Song selection preview is exactly in sync with the song playing

Expected:
Song preview restarts song
(This happens if you have entered Sing before)

General Observations:
If you enter Sing for the 1st time the song usually does not start to preview
If you enter Sing for the 2nd time the song immediately starts the preview

Selection of 5 Players not possible

Steps to reproduce:

  1. Start USDX
  2. Click on Sing
  3. Select Players (5)
    This is not possible.

Everything between 1-6 is possible except for 5.
Is there a particular reason for that?

[Jukebox] Starting without correct Playlist/Folder leads to crash

Precondition:
No Playlist defined

Steps to reproduce:

  1. Start USDX
  2. Click on Jukebox
  3. Select Playlist (No Playlists found)
  4. Press Enter
  5. Crash

For the Folder Crash substitute Step 3 with "Select Folder (No Categories found)"

Not tested with correct Playlist/Folder (Sorry).

Playlist crash:
No Playlist Crash

Folder Crash:
No Folder Crash

[suggestion] add an option to deactivate video preview

As I was testing MyLittleKaraoke, I noticed the song choice menu lags a bit when it loads a video preview of the song when it has a video. But I haven't found any way in the options or the config.ini for that.

So I was thinking it would be a good idea to add an option that deactivates the video preview of songs in the songs menu (while not touching the video options when playing for real the actual song)

[OSX] Microphone input sometimes not detected

ERROR: Device "Built-in Microph" does not work [TAudioInput_Portaudio.EnumDevices]

I've got this problem sometimes and I found a workaround.
There is probably a better way to do that.

In file src/media/UAudioCore_Portaudio.pas line 318, if I put 1 to 20 to 1 to 30 I don't have the detection problem anymore.

I'm not sure what the problem is exactly but a longer detection/wait seems to do the job.

package license information for used libraries

Make the "Can't initialize OpenGL" error message more explicit

… in the way that more than often, this occurs because the user relies on drivers provided by Microsoft on Windows platforms, instead of properly installing drivers from the GPU manufacturer's own site. Windows Updates distributes gimped drivers with poor OpenGL support.

Since it's not realistic to expect Microsoft to change its ways, maybe the dialog should encourage users to update their gfx drivers from AMD/Intel/Nvidia explicitely somehow (at least on Windows).

[OSX] Editor displays the first line of text wrong on first open

When you open the editor on a song ("E"), the first line of text is displayed incorrectly (inter-word and inter-letter spaces are messed up). If you change to another lyric and line and go back (arrow down/up), it is displayed correctly.

This is most likely the case for the other operating systems as well.

Opening Jukebox-Options leads to crash

If no songs are loaded the applications crashes when selecting Jukebox-Options.
See Screen shot:
Error Screenshot

Steps to reproduce:

  1. Open USDX
  2. Enter Options
  3. Select Jukebox
  4. Crash

Version latest.7z from 15-Dec-2015 10:30
OS Windows 10 64bit

[Webcam-Options] Preview stays active if no camera selected

Steps to reproduce:

  1. Start USDX
  2. Click on 'Options'
  3. Click on 'Webcam'
  4. Select Webcam (0)
  5. Click on 'Enable Preview'
  6. Select Webcam (Off)
  7. GUI Stays transparent

2 possible fixes:

  1. Stop preview if Webcam off (click on 'enable preview' when webcam=off shows error).
  2. Disable high GUI transparency if Webcam=off

See attached Screenshots:

GUI Normal
Webcam-Options-Normal

Preview Normal
Webcam-Options-Preview-Normal

GUI stays highly transparent
Webcam-Options-Preview-Bug

Feature request: errors in songs

In 1.0, if a song has a correct tags (for the most part), it will show up in the list, but it'll give a "This song couldn't be loaded" if there is any syntax error. In the 1.2 alpha, it doesn't show up in the list at all.
If you know what you're looking for, you can extract the data you need from the error.log, but it would be helpful to create another log file for such missing songs, especially. And it could also help if you just copy/pasted the original offending line in that log, too, so one can more easily fix the problems.

[Request] Read *.txd files as duets

Currently, *.txd files are simply ignored by USDX 1.3. These files have a different file extension to differentiate the regular non-duet version from the duet version of a song, while they share the same resources (mp3, video, cover, background) and are thus in the same folder.
I seem to have about 200 of those files.

Editor changes line endings when saving

This is a cross-operating issue.

USDX for OSX seems to read text files with CRLF (Windows style) line endings fine, but changes them to LF (Mac style) when saving. This becomes a problem when trying to read that same file with USDX on Windows, as it does not recognize the LF line ending.

At least for me, this is a problem as I have my song collection on an external hard drive and sometimes play from a Windows machine, sometimes from a Mac.

My current workaround: I use Notepad++ with its "find in files" feature and look for LF without CR before it and replace it with CRLF.

Timer before a song start (or resumes from pause)

Similarly to what Rock Band does, give a few seconds to the player (with some link of countdown) before actually starting a song. Some songs have no intro of their own, and start right of the bat - immediately after pressing the "Enter" key; this can feel weird to the player.

Invisible lyrics visible.

I have both plugins that are supposed to make lyrics invisible, but the lyrics still show up. Thoughts?

Saying NO to start of 2nd instance of USDX results in crash

Steps to reproduce:

  1. Start USDX
  2. Start USDX again
  3. When asked if a second instance should be opened answer NO
  4. 2nd Instance Crashes (Original Instance is not affected)

Saying Yes and after closing the 2nd Instance does not produce any error.

Question Dialog

Error after saying no

[Feature request] Auto-normalize audio output

This might be a bit of a stretch.

It's not uncommon for song creator groups to use wildly different audio sources from one song to the other. At the end of the day, this means that one user's USDX library can contain tracks with significantly different sound levels. Going from one song to the next can make the perceived volume jump around like crazy sometimes.

A solution to that would be built-in sound normalization, though I have no idea how it could ideally be achieved. Scanning every song in the library to determine an ideal average volume for each would likely be very time-consuming, for instance.

[OSX] Editor crashes on load

It seems that the line:
SoundLib.Click.Volume := SelectsS[VolumeClickSlideId].SelectedOption / 100; on file src/screens/UScreenEditSub.pas around line 3530 makes the editor crashes on load.
Commenting it allows it to runs, I haven't investigated further

Request: Recalculating BPM

Ultrastar CMD has a feature where you can freely change the BMP, and any notes are recalculated to have roughly the same length. AFAIK, USDX only has the option to double the BPM count by pressing Shift+M.

Theming: Different effects for switching between screens

Can there be a way of specifying effects for switching between different screens, preferably different effects for switching between different screens, instead of the standard "whoosh" effect.
Nothing too complex, just a slide in each of the 4 directions, a fade, the existing "whoosh" and whatever else you see fit.

Joypad support seem broken

Hello,

As mentioned on the title, the joypad support doesn't seem to work when enabled in ~/.ultrastardx/config.ini via Joypad=On.

Archlinux x86_64
DS 3 pad.
Commit 7d9773b.

Feature request: copy/pasting multiple notes in Edit Mode

More specifically their length, pitch, relative distance and features like lyrics, fade-out or golden notes. It would help a lot with refrain/chorus parts and repeated sequences.
Alternatively, being able to overlay earlier lines as transparent tiles, so you can match up the new notes.

Editor deletes tags

Editor deletes tags such as #MEDLEYSTARTBEAT, #MEDLEYENDBEAT, #PREVIEWSTART, and possibly others. Presumably also on other operating systems.

Collapse song variants

UI change: when a song has multiple variants (eg: instrumental version, duet version), collapse them in a submenu, similar to what Singstar does when an artist has multiple songs

Variants can be indicated in parenthesis after the name of the song, directly in the #TITLE tag. For instance:

TITLE:Song 2 → core version

TITLE:Song 2 (Instrumental) → variant

TITLE:Song 2 (Duet) → variant

TITLE:Song 2 (Duet) (Instrumental) → variant

TITLE:Song 2 (Kikongo dub) → variant

… would only display "Song 2" in the wheel, and some sort of UI hint that multiple variants are available (Singstar says for instance "4 songs" after the artist's name). Picking "Song 2" would open a submenu, in which the player would be able to select either "Song 2", "Instrumental", "Duet", or "Kikongo dub".

First-run record settings popup

Whenever the game is launched and there are no record settings, it might be prudent to alert the user as soon as they run the game that they need to set their record settings, and maybe to set them to defaults (would require OS-specific code), and inform the user of the setting

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.