Commit Graph
521 Commits
Author SHA1 Message Date
McSchneidarandFlorian Ostertag df412b6d33 Two small fixes (#904)
* Fix index check in CSelectSlide.RenameValue

The check used && instead of ||. An index cannot be negative and out
of range at the same time, so the check never returned early and an
invalid index caused an ArgumentOutOfRangeException.

* Allow textures to be disposed more than once

CTextureBase.Dispose threw ObjectDisposedException on a second call.
Dispose must be safe to call multiple times, otherwise freeing a
texture twice crashes the game.

Return early instead. CD3DTexture and COGLTexture also check
IsDisposed first, so a second call does not free the GPU texture
again. This matters for OpenGL, where the texture name may already
belong to another texture.

---------

Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
2026-10-16 05:53:10 +02:00
McSchneidar d48426b04d Fixes for progress bar and applause sounds (#906)
* Control score sounds from UpdateGame instead of the thread pool

_PlayProgressBarSound started a Task that waited for the progress bar
duration and then closed whatever stream was stored in
_ProgressBarSoundStream. When switching rounds on the score screen
before that time had passed, an old task closed the progress bar
sound of the new round too early and played the applause of the
previous round, while the applause of the new round never played.

Remember when the progress bar sound was started and check it in
UpdateGame on the main thread instead. Starting a new progress bar
sound and leaving the screen now also stop a running applause.

* Sync progress bar sound with the score bar animation

The sound duration was computed from the points (10,000 points =
5 seconds), while the bar animation duration depends on the bar size
in the theme and only starts when the bar is first drawn. Both only
matched approximately and drifted apart with other themes.

Add CProgressBar.AnimatesMovement and CProgressBar.IsAnimating. The
score screen now stops the progress bar sound and starts the applause
as soon as no visible score bar is animating anymore. If the theme
has no movement animation, the previous duration is used.

* Make stream id allocation in CPlaybackBase thread-safe

Load assigned stream ids with _NextId++ outside of the lock. Load is
also called from other threads, so two streams could get the same id
and a later Close or Play could hit the wrong stream.

Use Interlocked.Increment instead. Ids still start at 0.

* Do not play the progress bar sound for 0 points

With 0 points the score bars do not move, so the progress bar sound
started and stopped again right away, which could be heard as a short
click. Do not start it at all if the highest score is 0.
2026-10-16 05:21:34 +02:00
McSchneidar e7fc959def Fix possible crashes and glitches when playing song previews (#898)
* Add AutoplayPending

* Add locks

* Add Base Update

* Add Base Update

* Add locks
2026-10-06 05:20:14 +02:00
Quentin Bray 1bba340cf8 Better handle multiple tags respecting US format (#878)
* Better handle multiple tags respecting US format

Based on unversioned, V1 & V2 of US formats : https://github.com/UltraStar-Deluxe/format
Should address #623
Creator now takes multiple values
Maintain backward compatibility

* Update file path properties to match US formats
2026-06-23 21:04:59 +02:00
Quentin Bray 6ffa63b923 Apply R# clean-up for reliability (#877)
* Apply R# clean-up for reliability

- Migrate to NUnit4 Assert.That
- Update dependencise versions
- Fix LangVersion to 9.0 (until net core migration)
- Reformat code
- Apply 'var' style (easier for refactoring)
- Remove redundant parentheses
- Add braces on every condition blocks (1 line)
- Uses new null checking patterns
- Uses AutoProperties when possible
- Uses string scalar type instead of class
- Clean usings
- Add .orig files in git ignore
- Rename some properties to respect defined conventions and US format definition
	- ID -> Id
	- BPM -> Bpm
	- Finish -> End

* Update R# settings according to the clean-up made
2026-06-22 19:52:06 +02:00
Edi316 718f284c82 Small improvement to List View (#873)
* Improve ListView

* Improve ListView
2026-05-07 19:32:01 +02:00
Edi316 76d26239bd Grid overview for profile screen (#858)
* Add Profile Grid

* Add Profile Grid

* Add Profile Grid

* Add Profile Grid

* Version 4

* Add Profile Grid

* Add Profile Grid

* Add Profile Grid

* Fix Out of Bounds Index & Player Selector Cursor

* Add Profile Grid

* Fix Out of Bounds Index & Player Selector Cursor
2026-04-26 20:50:15 +02:00
Edi316 038c5165e1 Fix missing player profiles in Challenge Mode (#865)
* Fix Missing Profiles

* Fix Missing Profiles
2026-04-26 20:49:00 +02:00
Edi316 6deb5acbc8 Remember selected position for each folder/tab (#859)
* Remember Last Tab Position

* Remember Last Tab Position

* Remember Last Tab Position

* Remember Last Tab Position

* Remember Last Tab Position
2026-04-02 10:26:23 +02:00
Edi316 12d06d8111 Instrumental & Vocals Icons (#833)
* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icons

* Screen Version 14

* Screen Version 14

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon

* Add Instrumental & Vocals Icon
2026-01-26 14:53:59 +01:00
MSchneidar 4c984d9f7c Two small fixes (#832)
* Fix for CNameSelection

* Fix for CPlaybackBase
2026-01-25 07:03:58 +01:00
Edi316andFlorian Ostertag f6e56f70b9 Elevating sound for Progress Bar on Score screen (#772)
* Speed Fix

* Add Elevating Sound

* Add Elevating Sound

* Add Elevating Sound

* Add Elevating Sound

* Add Elevating Sound

* Add Elevating Sound

* Add Elevating Sound

* Update Applause Sound

* Update Applause Sound

* Update Applause Sound

* Update Applause Sound

* Add Elevating Sound

* Add Elevating Sound

* Add Elevating Sound

* Speed Fix

* Add Elevating Sound

---------

Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
2025-04-21 07:54:29 +02:00
360c6ae2fa Feature/rating pop up (#760)
* WIP

* WIP

* Add text

* Cleanup

* More Cleanup

* Update Changelog

* Fix layout

---------

Co-authored-by: Florian Schulze <flori.schulze@yahoo.de>
Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
2025-03-25 06:26:37 +01:00
Jiiniasu 68129ec451 Fix tone helper drawn on wrong octave (#746)
* Add GetCurrentBeat()

* Clamp tone helper to the octave of target note

Prevent tone helper from being off by an octave
2025-01-06 06:38:38 +01:00
Florian Ostertag 4fd752c3cc fix: wrong size for bg video (#729) 2024-11-19 08:28:56 +01:00
GRaff844 4b253c2c8d Reset Animation (#726) 2024-11-14 20:54:53 +01:00
GRaff844 160fbac07c Fix Animation for Progress Bar (#725) 2024-11-13 06:01:21 +01:00
Rap-VocaandFlorian Ostertag 451b97acbf Basic Rap Note Support (#708)
* Differentiate between Rap and Freestyle Notes

* Render Rap Notes

* Treat Rap notes as own notes

* Update CLyric.cs

---------

Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
2024-10-11 19:42:36 +02:00
Jiiniasu 8023b61a41 Fix delayed perfect line effect (#704)
* Fix delayed perfect line effect

* Address Sonarcloud issues for CNoteBars.cs

* Fix out of range bug caused by removing last()
2024-08-18 14:53:25 +02:00
Gary Kertopermono 612c18326d Merge branch 'develop' into rap 2021-06-28 10:44:22 +02:00
Gary Kertopermono daec506445 Rap notes will use the rap notes graphics 2021-06-18 10:58:55 +02:00
Gary Kertopermono 7781cd8fa9 Added the rap icon 2021-06-15 15:01:09 +02:00
Stefan 552f6ca257 SongMenuList - Show song title first if title letter sorting is active (#531)
Change for #531
2020-09-13 09:08:01 +02:00
Gary Kertopermono 821a85ab17 Made it easier to check for golden and rap notes 2020-04-05 18:03:27 +02:00
Gary Kertopermono 8d7116706d Merge branch 'master' into rap 2020-03-31 23:57:19 +02:00
Stefan 49e1b4b947 Made playlist selection checking nicer 2020-02-08 18:22:22 +01:00
Stefan 8c94df3093 Fix System.ArgumentOutOfRangeException
Fixes #492
2020-02-08 18:16:31 +01:00
Stefan fda174816d Fix playlist name display and playlist selection (fix #490) 2020-02-08 10:25:35 +01:00
Stefan 546ccf4748 Scroll offset was ignored while singing a single playlist song (fix #487 for release-0.4.1) 2020-02-07 21:17:36 +01:00
Stefan d4fd0c7ba1 Scroll offset was ignored while singing a single playlist song (fix #487) 2020-02-07 21:10:31 +01:00
Stefan 54a215065f Merge branch 'develop' into ButtonFilterToPlaylist 2020-02-04 16:25:53 +01:00
Stefan 45582f8a54 Fix X position calculation of cover and text 2020-02-04 13:57:25 +01:00
Stefan 752b8e91fe Add list button to toggle playlist filter (#218) 2020-02-04 12:15:28 +01:00
Stefan fd4ac7b0db Display song year on song screen (tile view) 2020-02-02 20:50:31 +01:00
Stefan 93b774bc0d Display song year on song screen (list view) 2020-02-02 20:48:36 +01:00
Stefan 5643023402 Added theme text for song year on song screen 2020-02-02 20:44:49 +01:00
Stefan 7838b26b0f New function to check playlist name edit state 2020-02-02 11:39:54 +01:00
Stefan d587f40735 Added HOME / END key support, extended Page UP/DOWN key support 2020-01-29 08:38:34 +01:00
Stefan a8d0a2317e Added HOME / END key support, extended Page UP/DOWN key support 2020-01-29 08:37:46 +01:00
Stefan b4d2176600 Prevent short music break while loading the Highscore 2020-01-25 08:35:04 +01:00
Stefan e2dcbc2ecf Fix release-0.4.1: Config.Video.VideoPreview is ignored (fixes #391) 2020-01-15 23:46:01 +01:00
Stefan 4c76c88074 Fix release-0.4.1: Config.Video.VideoPreview is ignored (fixes #391) 2020-01-15 23:44:49 +01:00
Stefan 95962e98fd Merge branch 'develop' into PreviewDisableFix 2020-01-15 22:36:12 +01:00
Stefan aa7427a4d6 Fix: Config.Video.VideoPreview is ignored (fixes #391) 2020-01-15 22:33:43 +01:00
Stefan 5a8c88a11e Fix: Config.Video.VideoPreview is ignored (fixes #391) 2020-01-15 22:32:47 +01:00
Stefan cfec2d940b Merge branch 'develop' into patch-5 2020-01-12 15:08:27 +01:00
Stefan a1e43aa1ce Scroll the new selected song to the middle of the screen
Updated _UpdateList() to scroll the song list, that the new selected song is in the middle of the screen.
2020-01-11 16:17:28 +01:00
Stefan f3df791a82 Temporary fix for the song list reset
Temporary fix for the song list reset described in issue #390.
2020-01-10 14:41:00 +01:00
Gary Kertopermono 26655b84dc Rap notes are now properly interpreted 2019-04-09 17:32:42 +02:00
lukeIam c907ec0f44 Refactor logging 2018-01-16 11:57:15 +01:00