Improve song selection screen (#932)

* Redesign song selection screen

* Fix SonarCloud issues

* Add TileCaption to SConfig test file

---------

Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
This commit is contained in:
McSchneidarandFlorian Ostertag authored and GitHub committed 2026-10-21 10:25:40 +02:00
1 parent 6601f41aac
commit 74653ab977
19 files changed
+1710 -345

No files matched your search

+4
View File
@@ -217,6 +217,10 @@
<string name="TR_SCREENSONG_NEWPLAYLIST">New playlist</string>
<string name="TR_SCREENSONG_SONGOPTIONS">Song Options</string>
<string name="TR_SCREENSONG_LENGTH">Song length</string>
<string name="TR_SCREENSONG_YEAR">Year</string>
<string name="TR_SCREENSONG_TIMESPLAYED">Times sung</string>
<string name="TR_SCREENSONG_OPTIONSSELECTION">Selection</string>
<string name="TR_SCREENSONG_OPTIONSSINGALL">Sing all</string>
<string name="TR_SCREENSONG_AUDIOMODE">Audio mode</string>
<string name="TR_SCREENSONG_PLAYLIST">Playlist</string>
<string name="TR_SCREENSONG_PLAYERSELECT">Player selection</string>
@@ -1,8 +1,31 @@
ScreenSong
++++++++++
Version 16:
Add (optional):
<StaticScrollBar> and <StaticScrollBarThumb> to SongMenu.SongMenuTileBoard and SongMenu.SongMenuList (position relative to TileRect, moved with TileRectSmall)
<StaticTileCaptionBG>, <TextTileArtist> and <TextTileTitle> to SongMenu.SongMenuTileBoard (caption on the selected tile, coordinates relative to the tile)
Add:
<StaticOptionsCover>, <TextOptionsSongTitle> and <TextOptionsSongArtist> (song header of the song options)
<StaticOptionsGroupGame>, <StaticOptionsGroupAudio>, <StaticOptionsGroupPlayer> and <StaticOptionsGroupPlaylist> (groups of the song options, using the new skin <OptionsGroupSmall>)
<StaticOptionsGroupRandom>, <StaticOptionsGroupPlaylistOpen>, <StaticOptionsGroupSingAll>, <StaticOptionsGroupSingAllSingle>, <StaticOptionsGroupRandomMedley> and <StaticOptionsGroupMedley> (groups of the general and medley options, using the new skins <OptionsGroupSmall> and <OptionsGroupLarge>)
<TextOptionsGeneralSelection>, <TextOptionsGeneralPlaylist>, <TextOptionsGeneralSingAll> and <TextOptionsGeneralMedley> (headings of the general options)
<StaticOptionsIconSing>, <StaticOptionsIconGame>, <StaticOptionsIconAudio>, <StaticOptionsIconPlayer>, <StaticOptionsIconPlaylist>, <StaticOptionsIconAdd>, <StaticOptionsIconHighscore> and <StaticOptionsIconClose> (icons of the song options)
<StaticInfoYear>, <StaticInfoLength>, <StaticInfoHighscore>, <StaticInfoPlayed> and <StaticInfoIcons> (info tiles and icon bar below the cover, using the new skins <InfoTile> and <InfoBar>)
<TextInfoYear>, <TextInfoLength>, <TextInfoHighscore>, <TextInfoPlayed>, <TextInfoHighscoreValue> and <TextInfoPlayedValue> (labels and values of the info tiles)
Change:
SongMenu.SongMenuList shows title and artist in two lines (artist first if sorted by artist letter), the selected row is shown larger (ListLength 12, SpaceH 4)
SongMenu: TextTitle and TextArtist are shown in a bar at the bottom of the cover, TextSongYear and TextSongLength are shown in the info tiles
StaticOptionsBG covers the whole left column, the preview of the song menu is hidden while the song options are shown
Fix:
<InstrumentalIcon> skin name in SongMenu
++++++++++
Version 15:
(2026 Oct 16)
Add:
<SelectSlideAudioMode> in <Playlist> (audio mode for each playlist entry, only shown if the song has an instrumental file)
@@ -339,6 +339,10 @@
<CoverTile>CoverTile.png</CoverTile>
<PlayerTile>PlayerTile.png</PlayerTile>
<CoverTextBackground>CoverTextBackground.png</CoverTextBackground>
<InfoTile>InfoTile.png</InfoTile>
<InfoBar>InfoBar.png</InfoBar>
<OptionsGroupSmall>OptionsGroupSmall.png</OptionsGroupSmall>
<OptionsGroupLarge>OptionsGroupLarge.png</OptionsGroupLarge>
<Cursor>Cursor.png</Cursor>
<TimeBar>TimeBar.png</TimeBar>
<TimeLine>TimeLine.png</TimeLine>
+4
View File
@@ -339,6 +339,10 @@
<CoverTile>CoverTile.png</CoverTile>
<PlayerTile>PlayerTile.png</PlayerTile>
<CoverTextBackground>CoverTextBackground.png</CoverTextBackground>
<InfoTile>InfoTile.png</InfoTile>
<InfoBar>InfoBar.png</InfoBar>
<OptionsGroupSmall>OptionsGroupSmall.png</OptionsGroupSmall>
<OptionsGroupLarge>OptionsGroupLarge.png</OptionsGroupLarge>
<Cursor>Cursor.png</Cursor>
<TimeBar>TimeBar.png</TimeBar>
<TimeLine>TimeLine.png</TimeLine>
+4
View File
@@ -339,6 +339,10 @@
<CoverTile>CoverTile.png</CoverTile>
<PlayerTile>PlayerTile.png</PlayerTile>
<CoverTextBackground>CoverTextBackground.png</CoverTextBackground>
<InfoTile>InfoTile.png</InfoTile>
<InfoBar>InfoBar.png</InfoBar>
<OptionsGroupSmall>OptionsGroupSmall.png</OptionsGroupSmall>
<OptionsGroupLarge>OptionsGroupLarge.png</OptionsGroupLarge>
<Cursor>Cursor.png</Cursor>
<TimeBar>TimeBar.png</TimeBar>
<TimeLine>TimeLine.png</TimeLine>
+4
View File
@@ -339,6 +339,10 @@
<CoverTile>CoverTile.png</CoverTile>
<PlayerTile>PlayerTile.png</PlayerTile>
<CoverTextBackground>CoverTextBackground.png</CoverTextBackground>
<InfoTile>InfoTile.png</InfoTile>
<InfoBar>InfoBar.png</InfoBar>
<OptionsGroupSmall>OptionsGroupSmall.png</OptionsGroupSmall>
<OptionsGroupLarge>OptionsGroupLarge.png</OptionsGroupLarge>
<Cursor>Cursor.png</Cursor>
<TimeBar>TimeBar.png</TimeBar>
<TimeLine>TimeLine.png</TimeLine>
+4
View File
@@ -339,6 +339,10 @@
<CoverTile>CoverTile.png</CoverTile>
<PlayerTile>PlayerTile.png</PlayerTile>
<CoverTextBackground>CoverTextBackground.png</CoverTextBackground>
<InfoTile>InfoTile.png</InfoTile>
<InfoBar>InfoBar.png</InfoBar>
<OptionsGroupSmall>OptionsGroupSmall.png</OptionsGroupSmall>
<OptionsGroupLarge>OptionsGroupLarge.png</OptionsGroupLarge>
<Cursor>Cursor.png</Cursor>
<TimeBar>TimeBar.png</TimeBar>
<TimeLine>TimeLine.png</TimeLine>
+4
View File
@@ -339,6 +339,10 @@
<CoverTile>CoverTile.png</CoverTile>
<PlayerTile>PlayerTile.png</PlayerTile>
<CoverTextBackground>CoverTextBackground.png</CoverTextBackground>
<InfoTile>InfoTile.png</InfoTile>
<InfoBar>InfoBar.png</InfoBar>
<OptionsGroupSmall>OptionsGroupSmall.png</OptionsGroupSmall>
<OptionsGroupLarge>OptionsGroupLarge.png</OptionsGroupLarge>
<Cursor>Cursor.png</Cursor>
<TimeBar>TimeBar.png</TimeBar>
<TimeLine>TimeLine.png</TimeLine>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

File diff suppressed because it is too large. Load diff