diff --git a/Output/Themes/Changelog/Changelog_ScreenSong.txt b/Output/Themes/Changelog/Changelog_ScreenSong.txt index 4c4cec95..59cb52df 100644 --- a/Output/Themes/Changelog/Changelog_ScreenSong.txt +++ b/Output/Themes/Changelog/Changelog_ScreenSong.txt @@ -1,5 +1,10 @@ ScreenSong +++++++++++ +Version 14: +Add InstrumentalIcon +Add VocalsIcon + ++++++++++ Version 13: diff --git a/Output/Themes/Vocaluxe 2024/01_Standard.xml b/Output/Themes/Vocaluxe 2024/01_Standard.xml index 47f5840f..8338b341 100644 --- a/Output/Themes/Vocaluxe 2024/01_Standard.xml +++ b/Output/Themes/Vocaluxe 2024/01_Standard.xml @@ -362,6 +362,8 @@ VideoIcon.png MedleyCalcIcon.png MedleyTagIcon.png + InstrumentalIcon.png + VocalsIcon.png PlayerSelector.png PreviousIcon.png NextIcon.png diff --git a/Output/Themes/Vocaluxe 2024/02.xml b/Output/Themes/Vocaluxe 2024/02.xml index c84b50fe..cec51d64 100644 --- a/Output/Themes/Vocaluxe 2024/02.xml +++ b/Output/Themes/Vocaluxe 2024/02.xml @@ -362,6 +362,8 @@ VideoIcon.png MedleyCalcIcon.png MedleyTagIcon.png + InstrumentalIcon.png + VocalsIcon.png PlayerSelector.png PreviousIcon.png NextIcon.png diff --git a/Output/Themes/Vocaluxe 2024/03.xml b/Output/Themes/Vocaluxe 2024/03.xml index a286c50f..a91111fe 100644 --- a/Output/Themes/Vocaluxe 2024/03.xml +++ b/Output/Themes/Vocaluxe 2024/03.xml @@ -362,6 +362,8 @@ VideoIcon.png MedleyCalcIcon.png MedleyTagIcon.png + InstrumentalIcon.png + VocalsIcon.png PlayerSelector.png PreviousIcon.png NextIcon.png diff --git a/Output/Themes/Vocaluxe 2024/04.xml b/Output/Themes/Vocaluxe 2024/04.xml index 0e57f2a1..e1a00608 100644 --- a/Output/Themes/Vocaluxe 2024/04.xml +++ b/Output/Themes/Vocaluxe 2024/04.xml @@ -362,6 +362,8 @@ VideoIcon.png MedleyCalcIcon.png MedleyTagIcon.png + InstrumentalIcon.png + VocalsIcon.png PlayerSelector.png PreviousIcon.png NextIcon.png diff --git a/Output/Themes/Vocaluxe 2024/05.xml b/Output/Themes/Vocaluxe 2024/05.xml index 812c9bd7..e28a4749 100644 --- a/Output/Themes/Vocaluxe 2024/05.xml +++ b/Output/Themes/Vocaluxe 2024/05.xml @@ -362,6 +362,8 @@ VideoIcon.png MedleyCalcIcon.png MedleyTagIcon.png + InstrumentalIcon.png + VocalsIcon.png PlayerSelector.png PreviousIcon.png NextIcon.png diff --git a/Output/Themes/Vocaluxe 2024/06.xml b/Output/Themes/Vocaluxe 2024/06.xml index 2f2086a4..0e75d9dc 100644 --- a/Output/Themes/Vocaluxe 2024/06.xml +++ b/Output/Themes/Vocaluxe 2024/06.xml @@ -362,6 +362,8 @@ VideoIcon.png MedleyCalcIcon.png MedleyTagIcon.png + InstrumentalIcon.png + VocalsIcon.png PlayerSelector.png PreviousIcon.png NextIcon.png diff --git a/Output/Themes/Vocaluxe 2024/InstrumentalIcon.png b/Output/Themes/Vocaluxe 2024/InstrumentalIcon.png new file mode 100644 index 00000000..f39510ea Binary files /dev/null and b/Output/Themes/Vocaluxe 2024/InstrumentalIcon.png differ diff --git a/Output/Themes/Vocaluxe 2024/Screens/ScreenSong.xml b/Output/Themes/Vocaluxe 2024/Screens/ScreenSong.xml index 5cb66661..484f4c5a 100644 --- a/Output/Themes/Vocaluxe 2024/Screens/ScreenSong.xml +++ b/Output/Themes/Vocaluxe 2024/Screens/ScreenSong.xml @@ -2,7 +2,7 @@ ScreenSong - 13 + 14 @@ -906,6 +906,8 @@ VideoIcon MedleyCalcIcon MedleyTagIcon + InstumentalIcon + VocalsIcon 1 1 @@ -1015,7 +1017,7 @@ DuetIcon - 240 + 170 795 60 60 @@ -1026,7 +1028,7 @@ RapIcon - 360 + 260 795 60 60 @@ -1037,7 +1039,7 @@ VideoIcon - 120 + 80 795 60 60 @@ -1048,7 +1050,7 @@ MedleyCalcIcon - 480 + 350 795 60 60 @@ -1059,13 +1061,35 @@ MedleyTagIcon - 480 + 350 795 60 60 -1 - + + + InstrumentalIcon + + + 440 + 795 + 60 + 60 + -1 + + + + VocalsIcon + + + 530 + 795 + 60 + 60 + -1 + + 15 @@ -1167,7 +1191,7 @@ DuetIcon - 240 + 170 795 60 60 @@ -1178,7 +1202,7 @@ RapIcon - 360 + 260 795 60 60 @@ -1189,7 +1213,7 @@ VideoIcon - 120 + 80 795 60 60 @@ -1200,7 +1224,7 @@ MedleyCalcIcon - 480 + 350 795 60 60 @@ -1211,13 +1235,35 @@ MedleyTagIcon - 480 + 350 795 60 60 -1 + + InstrumentalIcon + + + 440 + 795 + 60 + 60 + -1 + + + + VocalsIcon + + + 530 + 795 + 60 + 60 + -1 + + diff --git a/Output/Themes/Vocaluxe 2024/VocalsIcon.png b/Output/Themes/Vocaluxe 2024/VocalsIcon.png new file mode 100644 index 00000000..1021787c Binary files /dev/null and b/Output/Themes/Vocaluxe 2024/VocalsIcon.png differ diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs index d78d7fd0..15a6c58b 100644 --- a/Vocaluxe/Screens/CScreenSong.cs +++ b/Vocaluxe/Screens/CScreenSong.cs @@ -43,7 +43,7 @@ namespace Vocaluxe.Screens // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion { - get { return 13; } + get { return 14; } } private const string _TextCategory = "TextCategory"; diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs index a5a32f9d..7daa889d 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs @@ -1,4 +1,4 @@ -#region license +#region license // This file is part of Vocaluxe. // // Vocaluxe is free software: you can redistribute it and/or modify @@ -34,6 +34,8 @@ namespace VocaluxeLib.Menu.SongMenu public string VideoIcon; public string MedleyCalcIcon; public string MedleyTagIcon; + public string InstrumentalIcon; + public string VocalsIcon; public SThemeColor Color; //public SThemeSongMenuBook songMenuBook; @@ -70,6 +72,8 @@ namespace VocaluxeLib.Menu.SongMenu public SThemeStatic StaticTextBG; public SThemeStatic StaticDuetIcon; public SThemeStatic StaticRapIcon; + public SThemeStatic StaticInstrumentalIcon; + public SThemeStatic StaticVocalsIcon; public SThemeStatic StaticVideoIcon; public SThemeStatic StaticMedleyCalcIcon; public SThemeStatic StaticMedleyTagIcon; @@ -120,6 +124,8 @@ namespace VocaluxeLib.Menu.SongMenu public SThemeStatic StaticTextBG; public SThemeStatic StaticDuetIcon; public SThemeStatic StaticRapIcon; + public SThemeStatic StaticInstrumentalIcon; + public SThemeStatic StaticVocalsIcon; public SThemeStatic StaticVideoIcon; public SThemeStatic StaticMedleyCalcIcon; public SThemeStatic StaticMedleyTagIcon; diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuList.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuList.cs index e2003a06..6072f7d7 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuList.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuList.cs @@ -37,6 +37,8 @@ namespace VocaluxeLib.Menu.SongMenu private readonly CStatic _VideoIcon; private readonly CStatic _MedleyCalcIcon; private readonly CStatic _MedleyTagIcon; + private readonly CStatic _InstrumentalIcon; + private readonly CStatic _VocalsIcon; private CTextureRef _CoverBigBGTexture; private CTextureRef _CoverBGTexture; @@ -128,7 +130,9 @@ namespace VocaluxeLib.Menu.SongMenu _VideoIcon = new CStatic(_Theme.SongMenuList.StaticVideoIcon, _PartyModeID); _MedleyCalcIcon = new CStatic(_Theme.SongMenuList.StaticMedleyCalcIcon, _PartyModeID); _MedleyTagIcon = new CStatic(_Theme.SongMenuList.StaticMedleyTagIcon, _PartyModeID); - _SubElements.AddRange(new IMenuElement[] {_Artist, _Title, _SongLength, _SongYear, _DuetIcon, _RapIcon, _VideoIcon, _MedleyCalcIcon, _MedleyTagIcon}); + _InstrumentalIcon = new CStatic(_Theme.SongMenuList.StaticInstrumentalIcon, _PartyModeID); + _VocalsIcon = new CStatic(_Theme.SongMenuList.StaticVocalsIcon, _PartyModeID); + _SubElements.AddRange(new IMenuElement[] {_Artist, _Title, _SongLength, _SongYear, _DuetIcon, _RapIcon, _VideoIcon, _MedleyCalcIcon, _MedleyTagIcon, _InstrumentalIcon, _VocalsIcon}); } private void _ReadSubTheme() @@ -142,6 +146,8 @@ namespace VocaluxeLib.Menu.SongMenu _Theme.SongMenuList.StaticRapIcon = (SThemeStatic)_RapIcon.GetTheme(); _Theme.SongMenuList.StaticMedleyCalcIcon = (SThemeStatic)_MedleyCalcIcon.GetTheme(); _Theme.SongMenuList.StaticMedleyTagIcon = (SThemeStatic)_MedleyTagIcon.GetTheme(); + _Theme.SongMenuList.StaticInstrumentalIcon = (SThemeStatic)_InstrumentalIcon.GetTheme(); + _Theme.SongMenuList.StaticVocalsIcon = (SThemeStatic)_VocalsIcon.GetTheme(); _Theme.SongMenuList.StaticTextBG = (SThemeStatic)_TextBG.GetTheme(); _Theme.SongMenuList.StaticVideoIcon = (SThemeStatic)_VideoIcon.GetTheme(); } @@ -229,6 +235,8 @@ namespace VocaluxeLib.Menu.SongMenu _VideoIcon.Visible = false; _MedleyCalcIcon.Visible = false; _MedleyTagIcon.Visible = false; + _InstrumentalIcon.Visible = false; + _VocalsIcon.Visible = false; _Length = -1f; //Check if nothing is selected (for preview) @@ -259,6 +267,8 @@ namespace VocaluxeLib.Menu.SongMenu _VideoIcon.Visible = song.VideoFileName != ""; _MedleyCalcIcon.Visible = song.Medley.Source == EDataSource.Calculated; _MedleyTagIcon.Visible = song.Medley.Source == EDataSource.Tag; + _InstrumentalIcon.Visible = song.HasInstrumental(); + _VocalsIcon.Visible = song.HasVocals(); _UpdateLength(song); } diff --git a/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs b/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs index 621066e2..0d54ce25 100644 --- a/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs +++ b/VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs @@ -36,6 +36,8 @@ namespace VocaluxeLib.Menu.SongMenu private CStatic _VideoIcon; private CStatic _MedleyCalcIcon; private CStatic _MedleyTagIcon; + private CStatic _InstrumentalIcon; + private CStatic _VocalsIcon; private CTextureRef _CoverBigBGTexture; private CTextureRef _CoverBGTexture; @@ -123,7 +125,9 @@ namespace VocaluxeLib.Menu.SongMenu _VideoIcon = new CStatic(_Theme.SongMenuTileBoard.StaticVideoIcon, _PartyModeID); _MedleyCalcIcon = new CStatic(_Theme.SongMenuTileBoard.StaticMedleyCalcIcon, _PartyModeID); _MedleyTagIcon = new CStatic(_Theme.SongMenuTileBoard.StaticMedleyTagIcon, _PartyModeID); - _SubElements.AddRange(new IMenuElement[] {_Artist, _Title, _SongLength, _SongYear, _DuetIcon, _RapIcon, _VideoIcon, _MedleyCalcIcon, _MedleyTagIcon}); + _InstrumentalIcon = new CStatic(_Theme.SongMenuTileBoard.StaticInstrumentalIcon, _PartyModeID); + _VocalsIcon = new CStatic(_Theme.SongMenuTileBoard.StaticVocalsIcon, _PartyModeID); + _SubElements.AddRange(new IMenuElement[] {_Artist, _Title, _SongLength, _SongYear, _DuetIcon, _RapIcon, _VideoIcon, _MedleyCalcIcon, _MedleyTagIcon, _InstrumentalIcon, _VocalsIcon}); } private void _UpdateTileSelection() @@ -148,6 +152,8 @@ namespace VocaluxeLib.Menu.SongMenu _Theme.SongMenuTileBoard.StaticMedleyTagIcon = (SThemeStatic)_MedleyTagIcon.GetTheme(); _Theme.SongMenuTileBoard.StaticTextBG = (SThemeStatic)_TextBG.GetTheme(); _Theme.SongMenuTileBoard.StaticVideoIcon = (SThemeStatic)_VideoIcon.GetTheme(); + _Theme.SongMenuTileBoard.StaticInstrumentalIcon = (SThemeStatic)_InstrumentalIcon.GetTheme(); + _Theme.SongMenuTileBoard.StaticVocalsIcon = (SThemeStatic)_VocalsIcon.GetTheme(); } public override object GetTheme() @@ -220,6 +226,8 @@ namespace VocaluxeLib.Menu.SongMenu _VideoIcon.Visible = false; _MedleyCalcIcon.Visible = false; _MedleyTagIcon.Visible = false; + _InstrumentalIcon.Visible = false; + _VocalsIcon.Visible = false; _Length = -1f; //Check if nothing is selected (for preview) @@ -250,6 +258,8 @@ namespace VocaluxeLib.Menu.SongMenu _VideoIcon.Visible = song.VideoFileName != ""; _MedleyCalcIcon.Visible = song.Medley.Source == EDataSource.Calculated; _MedleyTagIcon.Visible = song.Medley.Source == EDataSource.Tag; + _InstrumentalIcon.Visible = song.HasInstrumental(); + _VocalsIcon.Visible = song.HasVocals(); _UpdateLength(song); }