Merge branch 'develop' of github.com:Vocaluxe/Vocaluxe into develop
No files matched your search
@@ -23,6 +23,7 @@
|
||||
<TR_GAMEMODE_NORMAL>Normal</TR_GAMEMODE_NORMAL>
|
||||
<TR_GAMEMODE_DUET>Duett</TR_GAMEMODE_DUET>
|
||||
<TR_GAMEMODE_MEDLEY>Medley</TR_GAMEMODE_MEDLEY>
|
||||
<TR_GAMEMODE_SHORTSONG>Kurz-Version</TR_GAMEMODE_SHORTSONG>
|
||||
<!--General: Ratings-->
|
||||
<TR_RATING_VOCAL_HERO>Vocal Hero</TR_RATING_VOCAL_HERO>
|
||||
<TR_RATING_SUPERSTAR>Superstar</TR_RATING_SUPERSTAR>
|
||||
@@ -118,6 +119,15 @@
|
||||
<TR_SCREENNAMES_WARNING_PROFILES_PL>Warnung: Den Spielern %v sind keine Profile zugeordnet!</TR_SCREENNAMES_WARNING_PROFILES_PL>
|
||||
<!--ScreenSong-->
|
||||
<TR_SCREENSONG_MENU>Songauswahl</TR_SCREENSONG_MENU>
|
||||
<TR_SCREENSONG_BUTTON_SING>Lied singen</TR_SCREENSONG_BUTTON_SING>
|
||||
<TR_SCREENSONG_BUTTON_PLAYLIST>Zur Playlist hinzufügen</TR_SCREENSONG_BUTTON_PLAYLIST>
|
||||
<TR_SCREENSONG_BUTTON_CANCEL>Schließen</TR_SCREENSONG_BUTTON_CANCEL>
|
||||
<TR_SCREENSONG_BUTTON_RANDOM>Zufälligen Song wählen</TR_SCREENSONG_BUTTON_RANDOM>
|
||||
<TR_SCREENSONG_BUTTON_SINGALL>Alle Songs singen</TR_SCREENSONG_BUTTON_SINGALL>
|
||||
<TR_SCREENSONG_BUTTON_SINGALLVISIBLE>Alle sichtbaren Songs singen</TR_SCREENSONG_BUTTON_SINGALLVISIBLE>
|
||||
<TR_SCREENSONG_BUTTON_OPENPLAYLIST>Playlist öffnen</TR_SCREENSONG_BUTTON_OPENPLAYLIST>
|
||||
<TR_SCREENSONG_NEWPLAYLIST>Neue Playlist</TR_SCREENSONG_NEWPLAYLIST>
|
||||
<TR_SCREENSONG_SONGOPTIONS>Lied-Optionen</TR_SCREENSONG_SONGOPTIONS>
|
||||
<TR_SCREENSONG_SEARCH>Suche:</TR_SCREENSONG_SEARCH>
|
||||
<TR_SCREENSONG_NOLANGUAGE>Ohne Sprache</TR_SCREENSONG_NOLANGUAGE>
|
||||
<TR_SCREENSONG_NOYEAR>Ohne Jahr</TR_SCREENSONG_NOYEAR>
|
||||
@@ -130,11 +140,13 @@
|
||||
<TR_SCREENSING_PAUSE>Pause</TR_SCREENSING_PAUSE>
|
||||
<TR_SCREENSING_BUTTON_CANCEL>Lied beenden</TR_SCREENSING_BUTTON_CANCEL>
|
||||
<TR_SCREENSING_BUTTON_CONTINUE>Fortfahren</TR_SCREENSING_BUTTON_CONTINUE>
|
||||
<TR_SCREENSING_BUTTON_SKIP>Lied überspringen</TR_SCREENSING_BUTTON_SKIP>
|
||||
<!--ScreenScore-->
|
||||
<TR_SCREENSCORE_SCORES>Auswertung</TR_SCREENSCORE_SCORES>
|
||||
<TR_SCREENSCORE_RATING>Bewertung</TR_SCREENSCORE_RATING>
|
||||
<TR_SCREENSCORE_POINTS>Punkte</TR_SCREENSCORE_POINTS>
|
||||
<TR_SCREENSCORE_GAMEDIFFICULTY>Schwierigkeit</TR_SCREENSCORE_GAMEDIFFICULTY>
|
||||
<TR_SCREENSCORE_OVERALLSCORE>Gesamtpunktzahl</TR_SCREENSCORE_OVERALLSCORE>
|
||||
<!--ScreenHighscore-->
|
||||
<TR_SCREENHIGHSCORE_HIGHSCORE>Highscore</TR_SCREENHIGHSCORE_HIGHSCORE>
|
||||
<!--ScreenProfiles-->
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
<TR_GAMEMODE_NORMAL>Normal</TR_GAMEMODE_NORMAL>
|
||||
<TR_GAMEMODE_DUET>Duet</TR_GAMEMODE_DUET>
|
||||
<TR_GAMEMODE_MEDLEY>Medley</TR_GAMEMODE_MEDLEY>
|
||||
<TR_GAMEMODE_SHORTSONG>Short version</TR_GAMEMODE_SHORTSONG>
|
||||
<!--General: Ratings-->
|
||||
<TR_RATING_VOCAL_HERO>Vocal Hero</TR_RATING_VOCAL_HERO>
|
||||
<TR_RATING_SUPERSTAR>Superstar</TR_RATING_SUPERSTAR>
|
||||
@@ -118,6 +119,15 @@
|
||||
<TR_SCREENNAMES_WARNING_PROFILES_PL>Warning: There are no profiles assigned to players %v!</TR_SCREENNAMES_WARNING_PROFILES_PL>
|
||||
<!--ScreenSong-->
|
||||
<TR_SCREENSONG_MENU>Song Selection</TR_SCREENSONG_MENU>
|
||||
<TR_SCREENSONG_BUTTON_SING>Sing</TR_SCREENSONG_BUTTON_SING>
|
||||
<TR_SCREENSONG_BUTTON_PLAYLIST>Add to playlist</TR_SCREENSONG_BUTTON_PLAYLIST>
|
||||
<TR_SCREENSONG_BUTTON_CANCEL>Close</TR_SCREENSONG_BUTTON_CANCEL>
|
||||
<TR_SCREENSONG_BUTTON_RANDOM>Select a random song</TR_SCREENSONG_BUTTON_RANDOM>
|
||||
<TR_SCREENSONG_BUTTON_SINGALL>Sing all songs</TR_SCREENSONG_BUTTON_SINGALL>
|
||||
<TR_SCREENSONG_BUTTON_SINGALLVISIBLE>Sing all visible songs</TR_SCREENSONG_BUTTON_SINGALLVISIBLE>
|
||||
<TR_SCREENSONG_BUTTON_OPENPLAYLIST>Open playlist</TR_SCREENSONG_BUTTON_OPENPLAYLIST>
|
||||
<TR_SCREENSONG_NEWPLAYLIST>New Playlist</TR_SCREENSONG_NEWPLAYLIST>
|
||||
<TR_SCREENSONG_SONGOPTIONS>Song Options</TR_SCREENSONG_SONGOPTIONS>
|
||||
<TR_SCREENSONG_SEARCH>Search:</TR_SCREENSONG_SEARCH>
|
||||
<TR_SCREENSONG_NOLANGUAGE>No Language</TR_SCREENSONG_NOLANGUAGE>
|
||||
<TR_SCREENSONG_NOYEAR>No Year</TR_SCREENSONG_NOYEAR>
|
||||
@@ -130,11 +140,13 @@
|
||||
<TR_SCREENSING_PAUSE>Pause</TR_SCREENSING_PAUSE>
|
||||
<TR_SCREENSING_BUTTON_CANCEL>Stop singing</TR_SCREENSING_BUTTON_CANCEL>
|
||||
<TR_SCREENSING_BUTTON_CONTINUE>Continue</TR_SCREENSING_BUTTON_CONTINUE>
|
||||
<TR_SCREENSING_BUTTON_SKIP>Skip this song</TR_SCREENSING_BUTTON_SKIP>
|
||||
<!--ScreenScore-->
|
||||
<TR_SCREENSCORE_SCORES>Scores</TR_SCREENSCORE_SCORES>
|
||||
<TR_SCREENSCORE_RATING>Rating</TR_SCREENSCORE_RATING>
|
||||
<TR_SCREENSCORE_POINTS>Points</TR_SCREENSCORE_POINTS>
|
||||
<TR_SCREENSCORE_GAMEDIFFICULTY>Difficulty</TR_SCREENSCORE_GAMEDIFFICULTY>
|
||||
<TR_SCREENSCORE_OVERALLSCORE>Overall score</TR_SCREENSCORE_OVERALLSCORE>
|
||||
<!--ScreenHighscore-->
|
||||
<TR_SCREENHIGHSCORE_HIGHSCORE>Highscore</TR_SCREENHIGHSCORE_HIGHSCORE>
|
||||
<!--ScreenProfiles-->
|
||||
|
||||
@@ -117,6 +117,7 @@
|
||||
<TR_SCREENSONG_SEARCH>Rechercher:</TR_SCREENSONG_SEARCH>
|
||||
<TR_SCREENSONG_NOLANGUAGE>Pas de Langue</TR_SCREENSONG_NOLANGUAGE>
|
||||
<TR_SCREENSONG_NOYEAR>Pas d'Année</TR_SCREENSONG_NOYEAR>
|
||||
<TR_SCREENSONG_NEWPLAYLIST>TODO: New Playlist</TR_SCREENSONG_NEWPLAYLIST>
|
||||
<TR_SCREENSONG_NOGENRE>Pas de Genre</TR_SCREENSONG_NOGENRE>
|
||||
<TR_SCREENSONG_NOEDITION>Pas d'Edition</TR_SCREENSONG_NOEDITION>
|
||||
<TR_SCREENSONG_ALLSONGS>Toutes les chansons</TR_SCREENSONG_ALLSONGS>
|
||||
|
||||
@@ -116,6 +116,7 @@
|
||||
<TR_SCREENSONG_MENU>Selección de Canciones</TR_SCREENSONG_MENU>
|
||||
<TR_SCREENSONG_SEARCH>Buscar:</TR_SCREENSONG_SEARCH>
|
||||
<TR_SCREENSONG_NOLANGUAGE>Sin Idioma</TR_SCREENSONG_NOLANGUAGE>
|
||||
<TR_SCREENSONG_NEWPLAYLIST>TODO: New Playlist</TR_SCREENSONG_NEWPLAYLIST>
|
||||
<TR_SCREENSONG_NOYEAR>Sin Año</TR_SCREENSONG_NOYEAR>
|
||||
<TR_SCREENSONG_NOGENRE>Sin Género</TR_SCREENSONG_NOGENRE>
|
||||
<TR_SCREENSONG_NOEDITION>Sin Edición</TR_SCREENSONG_NOEDITION>
|
||||
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
@@ -58,7 +58,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -103,7 +103,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -152,7 +152,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -201,7 +201,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -250,7 +250,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -299,7 +299,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -348,7 +348,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -397,7 +397,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -446,7 +446,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENHIGHSCORE_HIGHSCORE</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -97,7 +97,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -126,7 +126,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -155,7 +155,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -184,7 +184,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -213,7 +213,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -242,7 +242,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -271,7 +271,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -300,7 +300,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -329,7 +329,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -358,7 +358,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -387,7 +387,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -416,7 +416,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -445,7 +445,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -474,7 +474,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -503,7 +503,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -532,7 +532,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -561,7 +561,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -590,7 +590,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -619,7 +619,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -648,7 +648,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -677,7 +677,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -706,7 +706,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -735,7 +735,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -764,7 +764,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -793,7 +793,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -822,7 +822,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -851,7 +851,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -880,7 +880,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -909,7 +909,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -938,7 +938,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -967,7 +967,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -996,7 +996,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1025,7 +1025,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1054,7 +1054,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1083,7 +1083,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1112,7 +1112,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1141,7 +1141,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1170,7 +1170,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1199,7 +1199,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1228,7 +1228,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1257,7 +1257,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1286,7 +1286,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_PROGRAM_NAME</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -81,7 +81,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENLOAD_LOADING</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -110,7 +110,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENMAIN_BUTTON_SING</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -125,7 +125,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENMAIN_BUTTON_OPTIONS</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -182,7 +182,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENMAIN_BUTTON_PROFILES</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -239,7 +239,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_EXIT</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</Static1>
|
||||
</Static1>
|
||||
<StaticPlayer1>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>PlayerSelector</Skin>
|
||||
@@ -276,7 +276,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENNAMES_MENU</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -306,7 +306,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -336,7 +336,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -365,7 +365,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -394,7 +394,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -423,7 +423,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -452,7 +452,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -481,7 +481,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -510,7 +510,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -555,7 +555,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_BACK</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -612,7 +612,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_START</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -1128,167 +1128,167 @@
|
||||
</Name>
|
||||
</Tiles>
|
||||
</NameSelection>
|
||||
<EqualizerPlayer1>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<EqualizerPlayer1>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<X>21</X>
|
||||
<Y>152</Y>
|
||||
<Z>-4,00</Z>
|
||||
<W>108</W>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collumns-->
|
||||
<Style>Collumns</Style>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player1Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player1Dim</MaxColor>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON -->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collums-->
|
||||
<Style>Collums</Style>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON-->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player1Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player1Dim2</MaxColor>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</EqualizerPlayer1>
|
||||
<EqualizerPlayer2>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
</EqualizerPlayer1>
|
||||
<EqualizerPlayer2>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<X>21</X>
|
||||
<Y>307</Y>
|
||||
<Z>-4,00</Z>
|
||||
<W>108</W>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collumns-->
|
||||
<Style>Collumns</Style>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player2Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player2Dim</MaxColor>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON -->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collums-->
|
||||
<Style>Collums</Style>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON-->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player2Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player2Dim2</MaxColor>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</EqualizerPlayer2>
|
||||
<EqualizerPlayer3>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
</EqualizerPlayer2>
|
||||
<EqualizerPlayer3>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<X>21</X>
|
||||
<Y>467</Y>
|
||||
<Z>-4,00</Z>
|
||||
<W>108</W>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collumns-->
|
||||
<Style>Collumns</Style>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player3Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player3Dim</MaxColor>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON -->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collums-->
|
||||
<Style>Collums</Style>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON-->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player3Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player3Dim2</MaxColor>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</EqualizerPlayer3>
|
||||
<EqualizerPlayer4>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
</EqualizerPlayer3>
|
||||
<EqualizerPlayer4>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<X>1153</X>
|
||||
<Y>152</Y>
|
||||
<Z>-4,00</Z>
|
||||
<W>108</W>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collumns-->
|
||||
<Style>Collumns</Style>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player4Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player4Dim</MaxColor>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON -->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collums-->
|
||||
<Style>Collums</Style>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON-->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player4Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player4Dim2</MaxColor>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</EqualizerPlayer4>
|
||||
<EqualizerPlayer5>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
</EqualizerPlayer4>
|
||||
<EqualizerPlayer5>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<X>1153</X>
|
||||
<Y>307</Y>
|
||||
<Z>-4,00</Z>
|
||||
<W>108</W>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collumns-->
|
||||
<Style>Collumns</Style>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player5Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player5Dim</MaxColor>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON -->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collums-->
|
||||
<Style>Collums</Style>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON-->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player5Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player5Dim2</MaxColor>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</EqualizerPlayer5>
|
||||
<EqualizerPlayer6>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
</EqualizerPlayer5>
|
||||
<EqualizerPlayer6>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<X>1153</X>
|
||||
<Y>467</Y>
|
||||
<Z>-4,00</Z>
|
||||
<W>108</W>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Style>: Style of equalizer-elements: Collumns-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements-->
|
||||
<Style>Collumns</Style>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player6Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player6Dim</MaxColor>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON -->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<H>60</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>8</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collums-->
|
||||
<Style>Collums</Style>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON-->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>Player6Dim2</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>Player6Dim2</MaxColor>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</EqualizerPlayer6>
|
||||
</EqualizerPlayer6>
|
||||
</ScreenNames>
|
||||
</root>
|
||||
</root>
|
||||
@@ -52,7 +52,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENO_OPTIONS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -97,7 +97,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENO_BUTTON_GAME</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -154,7 +154,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCRENNO_BUTTON_SOUND</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -211,7 +211,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENO_BUTTON_RECORD</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -268,7 +268,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENO_BUTTON_VIDEO</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -325,7 +325,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENO_BUTTON_LYRICS</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -382,7 +382,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENO_BUTTON_THEME</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOGAME_OPTIONS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -177,7 +177,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOGAME_LANGUAGE</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -206,7 +206,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOGAME_DEBUGLEVEL</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -235,7 +235,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOGAME_SONGMENU</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -264,7 +264,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOGAME_SONGSORTING</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -293,7 +293,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOGAME_TABS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -322,7 +322,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOGAME_TIMERMODE</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -367,7 +367,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_BACK</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOLYRICS_OPTIONS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -81,7 +81,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOLYRICS_STYLE</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -110,7 +110,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOLYRICS_ONTOP</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -155,7 +155,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_BACK</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENORECORD_OPTIONS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -209,7 +209,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENORECORD_DEVICE</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -238,7 +238,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENORECORD_INPUT</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -267,7 +267,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENORECORD_CHANNEL_1</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -296,7 +296,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENORECORD_CHANNEL_2</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -325,7 +325,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENORECORD_MIC_DELAY</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -355,7 +355,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENORECORD_MIC_WARNING</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -384,7 +384,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -413,7 +413,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -458,7 +458,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_BACK</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -515,7 +515,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENORECORD_BUTTON_DELAYTEST</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -858,66 +858,67 @@
|
||||
<!--<NumVisible>: Number of visible elements in the slide-->
|
||||
<NumVisible>5</NumVisible>
|
||||
</SelectSlideDelay>
|
||||
<EqualizerChannel1>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<X>50</X>
|
||||
<Y>400</Y>
|
||||
<W>230</W>
|
||||
<H>150</H>
|
||||
<Z>-1,00</Z>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>10</NumBars>
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collumns-->
|
||||
<Style>Collumns</Style>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonColor</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>ButtonSColor</MaxColor>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON -->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<EqualizerChannel1>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<X>50</X>
|
||||
<Y>400</Y>
|
||||
<Z>-1,00</Z>
|
||||
<W>230</W>
|
||||
<H>150</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>10</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collums-->
|
||||
<Style>Collums</Style>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON-->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonColor</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>ButtonColor</MaxColor>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
<Reflection>
|
||||
<Space>10</Space>
|
||||
<Height>26</Height>
|
||||
</Reflection>
|
||||
</EqualizerChannel1>
|
||||
<EqualizerChannel2>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<X>400</X>
|
||||
<Y>400</Y>
|
||||
<W>230</W>
|
||||
<H>150</H>
|
||||
<Z>-1,00</Z>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>10</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collumns-->
|
||||
<Style>Collumns</Style>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonColor</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>ButtonSColor</MaxColor>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON -->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
</Reflection>
|
||||
</EqualizerChannel1>
|
||||
<EqualizerChannel2>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Invisible</Skin>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height-->
|
||||
<X>400</X>
|
||||
<Y>400</Y>
|
||||
<Z>-1,00</Z>
|
||||
<W>230</W>
|
||||
<H>150</H>
|
||||
<!--<NumBars>: Number of equalizer-elements.-->
|
||||
<NumBars>10</NumBars>
|
||||
<!--<Space>: Space between equalizer-elements.-->
|
||||
<Space>2,00</Space>
|
||||
<!--<Style>: Style of equalizer-elements: Collums-->
|
||||
<Style>Collums</Style>
|
||||
<!--<DrawNegative>: Draw negative values: TR_CONFIG_OFF, TR_CONFIG_ON-->
|
||||
<DrawNegative>TR_CONFIG_OFF</DrawNegative>
|
||||
<!--<Color>: Equalizer color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonColor</Color>
|
||||
<!--<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)-->
|
||||
<!--or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)-->
|
||||
<MaxColor>ButtonColor</MaxColor>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
<Reflection>
|
||||
<Space>10</Space>
|
||||
<Height>26</Height>
|
||||
</Reflection>
|
||||
</EqualizerChannel2>
|
||||
</Reflection>
|
||||
</EqualizerChannel2>
|
||||
</ScreenOptionsRecord>
|
||||
</root>
|
||||
</root>
|
||||
@@ -52,7 +52,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOSOUND_OPTIONS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -81,7 +81,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOSOUND_BACKGROUNDMUSIC</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -110,7 +110,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -139,7 +139,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -184,7 +184,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_BACK</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOTHEME_OPTIONS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -209,7 +209,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOTHEME_THEME</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -238,7 +238,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOTHEME_SKIN</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -267,7 +267,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOTHEME_COVERTHEME</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -296,7 +296,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOTHEME_NOTELINES</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -325,7 +325,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOTHEME_TONEHELPER</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -354,7 +354,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOTHEME_TIMERLOOK</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -383,7 +383,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOTHEME_FADEINFO</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -412,7 +412,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOTHEME_COVERLOADING</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -457,7 +457,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_BACK</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOVIDEO_OPTIONS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -129,7 +129,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOVIDEO_VIDEOBACKGROUNDS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -158,7 +158,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOVIDEO_VIDEOPREVIEW</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -187,7 +187,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENOVIDEO_VIDEOINSONGS</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -216,7 +216,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENO_VIDEO_VIDEOSTOBACKGROUND</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -261,7 +261,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_BACK</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENPROFILES_PROFILES</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -177,7 +177,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENPROFILES_PLAYERNAME</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -206,7 +206,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENPROFILES_GAMEDIFFICULTY</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -235,7 +235,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENPROFILES_AVATAR</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -264,7 +264,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENPROFILES_GUESTPROFILE</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -293,7 +293,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENPROFILES_ACTIVE</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -338,7 +338,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -387,7 +387,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_BACK</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -444,7 +444,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_BUTTON_SAVE</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -501,7 +501,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENPROFILES_BUTTON_NEW</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -558,7 +558,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENPROFILES_BUTTON_DELETE</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
|
||||
@@ -1226,7 +1226,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENSCORE_SCORES</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1255,7 +1255,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1284,7 +1284,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1313,7 +1313,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1342,7 +1342,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1371,7 +1371,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1400,7 +1400,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1429,7 +1429,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1458,7 +1458,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1487,7 +1487,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1516,7 +1516,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1545,7 +1545,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1574,7 +1574,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1603,7 +1603,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1632,7 +1632,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1661,7 +1661,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1690,7 +1690,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1719,7 +1719,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1748,7 +1748,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1777,7 +1777,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1806,7 +1806,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1835,7 +1835,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1864,7 +1864,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1893,7 +1893,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1922,7 +1922,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1951,7 +1951,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1980,7 +1980,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2009,7 +2009,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2039,7 +2039,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2068,7 +2068,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2097,7 +2097,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2126,7 +2126,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2156,7 +2156,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2185,7 +2185,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2214,7 +2214,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2243,7 +2243,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2273,7 +2273,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2302,7 +2302,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2331,7 +2331,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2360,7 +2360,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2390,7 +2390,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2419,7 +2419,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2449,7 +2449,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2479,7 +2479,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2509,7 +2509,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2539,7 +2539,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2569,7 +2569,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2599,7 +2599,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2629,7 +2629,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2659,7 +2659,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2689,7 +2689,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2719,7 +2719,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2749,7 +2749,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2779,7 +2779,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2809,7 +2809,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2839,7 +2839,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2869,7 +2869,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2899,7 +2899,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2929,7 +2929,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2959,7 +2959,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2989,7 +2989,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3019,7 +3019,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3049,7 +3049,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3079,7 +3079,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3109,7 +3109,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3139,7 +3139,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3169,7 +3169,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3199,7 +3199,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3229,7 +3229,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3259,7 +3259,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3289,7 +3289,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3319,7 +3319,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3349,7 +3349,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3379,7 +3379,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3409,7 +3409,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3439,7 +3439,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3469,7 +3469,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3499,7 +3499,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3529,7 +3529,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3559,7 +3559,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3589,7 +3589,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3619,7 +3619,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3649,7 +3649,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3679,7 +3679,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3709,7 +3709,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -3739,7 +3739,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
|
||||
@@ -958,64 +958,6 @@
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</StaticAvatarP6N6>
|
||||
<TextDuetName1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>40</X>
|
||||
<Y>80</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-1,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
<H>35</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>TextSColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>TextSColor</SColor>
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextDuetName1>
|
||||
<TextDuetName2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>40</X>
|
||||
<Y>585</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-1,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
<H>35</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>TextSColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>TextSColor</SColor>
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextDuetName2>
|
||||
<TextSongName>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>640</X>
|
||||
@@ -1040,7 +982,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1069,7 +1011,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1098,12 +1040,70 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENSING_PAUSE</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextPause>
|
||||
<TextDuetName1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>40</X>
|
||||
<Y>80</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-1,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
<H>35</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>TextSColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>TextSColor</SColor>
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextDuetName1>
|
||||
<TextDuetName2>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>40</X>
|
||||
<Y>585</Y>
|
||||
<!--<Z>: Text position-->
|
||||
<Z>-1,00</Z>
|
||||
<!--<H>: Text height-->
|
||||
<H>35</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>TextSColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>TextSColor</SColor>
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Left</Align>
|
||||
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
</TextDuetName2>
|
||||
<TextScoreP1N1>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>1240</X>
|
||||
@@ -1127,7 +1127,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1159,7 +1159,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1188,7 +1188,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1220,7 +1220,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1249,7 +1249,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1281,7 +1281,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1310,7 +1310,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1342,7 +1342,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1371,7 +1371,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1403,7 +1403,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1432,7 +1432,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1464,7 +1464,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1493,7 +1493,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1525,7 +1525,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1554,7 +1554,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1586,7 +1586,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1615,7 +1615,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1647,7 +1647,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1676,7 +1676,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1708,7 +1708,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1737,7 +1737,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1769,7 +1769,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1798,7 +1798,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1830,7 +1830,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1859,7 +1859,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1891,7 +1891,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1920,7 +1920,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1952,7 +1952,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -1981,7 +1981,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2013,7 +2013,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2042,7 +2042,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2074,7 +2074,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2103,7 +2103,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2135,7 +2135,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2164,7 +2164,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2196,7 +2196,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2225,7 +2225,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2257,7 +2257,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2286,7 +2286,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2318,7 +2318,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2347,7 +2347,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Normal</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2379,7 +2379,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text />
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
@@ -2391,7 +2391,7 @@
|
||||
<!--<SkinSelected>: Texture name for selected button-->
|
||||
<SkinSelected>Button</SkinSelected>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
|
||||
<X>670</X>
|
||||
<X>775</X>
|
||||
<Y>300</Y>
|
||||
<Z>-2,11</Z>
|
||||
<W>150</W>
|
||||
@@ -2424,7 +2424,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENSING_BUTTON_CANCEL</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -2448,7 +2448,7 @@
|
||||
<!--<SkinSelected>: Texture name for selected button-->
|
||||
<SkinSelected>Button</SkinSelected>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
|
||||
<X>460</X>
|
||||
<X>355</X>
|
||||
<Y>300</Y>
|
||||
<Z>-2,11</Z>
|
||||
<W>150</W>
|
||||
@@ -2481,7 +2481,7 @@
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Text or translation tag-->
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENSING_BUTTON_CONTINUE</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
@@ -2499,6 +2499,63 @@
|
||||
<Height>26</Height>
|
||||
</SReflection>
|
||||
</ButtonContinue>
|
||||
<ButtonSkip>
|
||||
<!--<Skin>: Texture name-->
|
||||
<Skin>Button</Skin>
|
||||
<!--<SkinSelected>: Texture name for selected button-->
|
||||
<SkinSelected>Button</SkinSelected>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
|
||||
<X>565</X>
|
||||
<Y>300</Y>
|
||||
<Z>-2,11</Z>
|
||||
<W>150</W>
|
||||
<H>50</H>
|
||||
<!--<Color>: Button color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonColor</Color>
|
||||
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonSColor</SColor>
|
||||
<Text>
|
||||
<!--<X>, <Y>: Text position-->
|
||||
<X>75</X>
|
||||
<Y>10</Y>
|
||||
<!--<H>: Text height-->
|
||||
<H>32</H>
|
||||
<!--<MaxW>: Maximum text width (if exists)-->
|
||||
<MaxW>142</MaxW>
|
||||
<!--<Color>: Text color from ColorScheme (high priority)-->
|
||||
<!--or <R>, <G>, <B>, <A> (lower priority)-->
|
||||
<Color>ButtonTextColor</Color>
|
||||
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
|
||||
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
|
||||
<SColor>ButtonTextSColor</SColor>
|
||||
<!--<Align>: Text align horizontal: Left, Center, Right-->
|
||||
<Align>Center</Align>
|
||||
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
|
||||
<HAlign>Center</HAlign>
|
||||
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
|
||||
<Style>Bold</Style>
|
||||
<!--<Font>: Text font name-->
|
||||
<Font>Outline</Font>
|
||||
<!--<Text>: Nothing or translation tag-->
|
||||
<Text>TR_SCREENSING_BUTTON_SKIP</Text>
|
||||
</Text>
|
||||
<!--<Reflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space-->
|
||||
<!-- <Height>: Reflection Height-->
|
||||
<Reflection>
|
||||
<Space>10</Space>
|
||||
<Height>26</Height>
|
||||
</Reflection>
|
||||
<!--<SReflection> If exists:-->
|
||||
<!-- <Space>: Reflection Space of selected button-->
|
||||
<!-- <Height>: Reflection Height of selected button-->
|
||||
<SReflection>
|
||||
<Space>10</Space>
|
||||
<Height>26</Height>
|
||||
</SReflection>
|
||||
</ButtonSkip>
|
||||
<LyricMain>
|
||||
<!--<X>, <Y>, <Z>, <W>, <H>: Lyric position, width and height-->
|
||||
<X>637</X>
|
||||
@@ -2714,4 +2771,4 @@
|
||||
</BarPositions>
|
||||
</SingBars>
|
||||
</ScreenSing>
|
||||
</root>
|
||||
</root>
|
||||
|
After Width: | Height: | Size: 4.5 KiB |
@@ -130,6 +130,12 @@
|
||||
<B>0,969</B>
|
||||
<A>1,000</A>
|
||||
</StaticColor>
|
||||
<StaticColorAlpha>
|
||||
<R>0,675</R>
|
||||
<G>0,890</G>
|
||||
<B>0,969</B>
|
||||
<A>0,500</A>
|
||||
</StaticColorAlpha>
|
||||
<StaticWarningColor>
|
||||
<R>0,675</R>
|
||||
<G>0,890</G>
|
||||
@@ -166,6 +172,12 @@
|
||||
<B>0,969</B>
|
||||
<A>1,000</A>
|
||||
</SelectSlideColor>
|
||||
<SelectSlideColorAlpha>
|
||||
<R>0,675</R>
|
||||
<G>0,890</G>
|
||||
<B>0,969</B>
|
||||
<A>0,500</A>
|
||||
</SelectSlideColorAlpha>
|
||||
<SelectSlideHColor>
|
||||
<R>0,675</R>
|
||||
<G>0,890</G>
|
||||
@@ -307,6 +319,8 @@
|
||||
<VideoIcon>VideoIcon.png</VideoIcon>
|
||||
<VideoIconCO>VideoIconCO.png</VideoIconCO>
|
||||
<VideoIconBG>VideoIconBG.png</VideoIconBG>
|
||||
<MedleyCalcIcon>MedleyCalcIcon.png</MedleyCalcIcon>
|
||||
<MedleyTagIcon>MedleyTagIcon.png</MedleyTagIcon>
|
||||
<Invisible>Invisible.png</Invisible>
|
||||
<PlayerSelector>PlayerSelector.png</PlayerSelector>
|
||||
<PreviousIcon>PreviousIcon.png</PreviousIcon>
|
||||
@@ -314,6 +328,11 @@
|
||||
<PlayIcon>PlayIcon.png</PlayIcon>
|
||||
<PauseIcon>PauseIcon.png</PauseIcon>
|
||||
<RepeatIcon>RepeatIcon.png</RepeatIcon>
|
||||
<SongMenuBG>SongMenuBG.png</SongMenuBG>
|
||||
<CloseIcon>Close.png</CloseIcon>
|
||||
<DeleteIcon>Delete.png</DeleteIcon>
|
||||
<SaveIcon>Save.png</SaveIcon>
|
||||
<SingIcon>Sing.png</SingIcon>
|
||||
</Skins>
|
||||
<Videos>
|
||||
<BG_Video>[Blue]BG_Video.mp4</BG_Video>
|
||||
|
||||
@@ -130,6 +130,12 @@
|
||||
<B>0,674</B>
|
||||
<A>1,000</A>
|
||||
</StaticColor>
|
||||
<StaticColorAlpha>
|
||||
<R>0,709</R>
|
||||
<G>0,968</G>
|
||||
<B>0,674</B>
|
||||
<A>0,500</A>
|
||||
</StaticColorAlpha>
|
||||
<StaticWarningColor>
|
||||
<R>0,709</R>
|
||||
<G>0,968</G>
|
||||
@@ -307,6 +313,8 @@
|
||||
<VideoIcon>VideoIcon.png</VideoIcon>
|
||||
<VideoIconCO>VideoIconCO.png</VideoIconCO>
|
||||
<VideoIconBG>VideoIconBG.png</VideoIconBG>
|
||||
<MedleyCalcIcon>MedleyCalcIcon.png</MedleyCalcIcon>
|
||||
<MedleyTagIcon>MedleyTagIcon.png</MedleyTagIcon>
|
||||
<Invisible>Invisible.png</Invisible>
|
||||
<PlayerSelector>PlayerSelector.png</PlayerSelector>
|
||||
<PreviousIcon>PreviousIcon.png</PreviousIcon>
|
||||
@@ -314,6 +322,11 @@
|
||||
<PlayIcon>PlayIcon.png</PlayIcon>
|
||||
<PauseIcon>PauseIcon.png</PauseIcon>
|
||||
<RepeatIcon>RepeatIcon.png</RepeatIcon>
|
||||
<SongMenuBG>SongMenuBG.png</SongMenuBG>
|
||||
<CloseIcon>Close.png</CloseIcon>
|
||||
<DeleteIcon>Delete.png</DeleteIcon>
|
||||
<SaveIcon>Save.png</SaveIcon>
|
||||
<SingIcon>Sing.png</SingIcon>
|
||||
</Skins>
|
||||
<Videos>
|
||||
<BG_Video>[Green]BG_Video.mp4</BG_Video>
|
||||
|
||||
@@ -130,6 +130,12 @@
|
||||
<B>0,674</B>
|
||||
<A>1,000</A>
|
||||
</StaticColor>
|
||||
<StaticColorAlpha>
|
||||
<R>0,968</R>
|
||||
<G>0,674</G>
|
||||
<B>0,674</B>
|
||||
<A>0,500</A>
|
||||
</StaticColorAlpha>
|
||||
<StaticWarningColor>
|
||||
<R>0,968</R>
|
||||
<G>0,674</G>
|
||||
@@ -307,6 +313,8 @@
|
||||
<VideoIcon>VideoIcon.png</VideoIcon>
|
||||
<VideoIconCO>VideoIconCO.png</VideoIconCO>
|
||||
<VideoIconBG>VideoIconBG.png</VideoIconBG>
|
||||
<MedleyCalcIcon>MedleyCalcIcon.png</MedleyCalcIcon>
|
||||
<MedleyTagIcon>MedleyTagIcon.png</MedleyTagIcon>
|
||||
<Invisible>Invisible.png</Invisible>
|
||||
<PlayerSelector>PlayerSelector.png</PlayerSelector>
|
||||
<PreviousIcon>PreviousIcon.png</PreviousIcon>
|
||||
@@ -314,6 +322,11 @@
|
||||
<PlayIcon>PlayIcon.png</PlayIcon>
|
||||
<PauseIcon>PauseIcon.png</PauseIcon>
|
||||
<RepeatIcon>RepeatIcon.png</RepeatIcon>
|
||||
<SongMenuBG>SongMenuBG.png</SongMenuBG>
|
||||
<CloseIcon>Close.png</CloseIcon>
|
||||
<DeleteIcon>Delete.png</DeleteIcon>
|
||||
<SaveIcon>Save.png</SaveIcon>
|
||||
<SingIcon>Sing.png</SingIcon>
|
||||
</Skins>
|
||||
<Videos>
|
||||
<BG_Video>[Red]BG_Video.mp4</BG_Video>
|
||||
|
||||
@@ -130,6 +130,12 @@
|
||||
<B>0,674</B>
|
||||
<A>1,000</A>
|
||||
</StaticColor>
|
||||
<StaticColorAlpha>
|
||||
<R>0,968</R>
|
||||
<G>0,956</G>
|
||||
<B>0,674</B>
|
||||
<A>0,500</A>
|
||||
</StaticColorAlpha>
|
||||
<StaticWarningColor>
|
||||
<R>0,968</R>
|
||||
<G>0,956</G>
|
||||
@@ -307,6 +313,8 @@
|
||||
<VideoIcon>VideoIcon.png</VideoIcon>
|
||||
<VideoIconCO>VideoIconCO.png</VideoIconCO>
|
||||
<VideoIconBG>VideoIconBG.png</VideoIconBG>
|
||||
<MedleyCalcIcon>MedleyCalcIcon.png</MedleyCalcIcon>
|
||||
<MedleyTagIcon>MedleyTagIcon.png</MedleyTagIcon>
|
||||
<Invisible>Invisible.png</Invisible>
|
||||
<PlayerSelector>PlayerSelector.png</PlayerSelector>
|
||||
<PreviousIcon>PreviousIcon.png</PreviousIcon>
|
||||
@@ -314,6 +322,11 @@
|
||||
<PlayIcon>PlayIcon.png</PlayIcon>
|
||||
<PauseIcon>PauseIcon.png</PauseIcon>
|
||||
<RepeatIcon>RepeatIcon.png</RepeatIcon>
|
||||
<SongMenuBG>SongMenuBG.png</SongMenuBG>
|
||||
<CloseIcon>Close.png</CloseIcon>
|
||||
<DeleteIcon>Delete.png</DeleteIcon>
|
||||
<SaveIcon>Save.png</SaveIcon>
|
||||
<SingIcon>Sing.png</SingIcon>
|
||||
</Skins>
|
||||
<Videos>
|
||||
<BG_Video>[Yellow]BG_Video.mp4</BG_Video>
|
||||
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -6,6 +6,12 @@ Version 5
|
||||
Add:
|
||||
<TextDuetName1> and <TextDuetName2> (only showed when sining duet)
|
||||
|
||||
++++++++++
|
||||
Version 5:
|
||||
|
||||
Add:
|
||||
<ButtonSkip>
|
||||
|
||||
++++++++++
|
||||
Version 4:
|
||||
Added Elements for 6-player-singing!
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
ScreenSong
|
||||
|
||||
++++++++++
|
||||
Version 3:
|
||||
|
||||
Add:
|
||||
<StaticOptionsBG>
|
||||
<TextOptionsTitle>
|
||||
<ButtonOptionsSing>, <ButtonOptionsClose>, <ButtonOptionsPlaylist>, <ButtonOptionsSingAll>, <ButtonOptionsSingAllVisible>, <ButtonOptionsRandom>, <ButtonOptionsRandom>, <ButtonOpenOptions>
|
||||
<SelectSlideOptionsMode>, <SelectSlideOptionsPlaylistAdd>, <SelectSlideOptionsPlaylistOpen>
|
||||
and
|
||||
<Playlist> as a new Screen-Element. For details, look at ScreenSong.xml
|
||||
|
||||
++++++++++
|
||||
Version 2:
|
||||
|
||||
Add:
|
||||
<MedleyCalcIcon> and <MedleyTagIcon>
|
||||
to SongMenu
|
||||
|
||||
Add:
|
||||
<StaticMedleyCalcIcon> and <StaticMedleyTagIcon>
|
||||
to SongMenu.SongMenuTileBoard
|
||||
++++++++++
|
||||
@@ -933,6 +933,11 @@ namespace Vocaluxe.Base
|
||||
CSettings.sFileHighscoreDB = value;
|
||||
}
|
||||
break;
|
||||
|
||||
case "playlistfolder":
|
||||
CSettings.CreateFolder(value);
|
||||
CSettings.sFolderPlaylists = value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,13 +40,20 @@ namespace Vocaluxe.Base
|
||||
|
||||
class CGlyph
|
||||
{
|
||||
public readonly float SIZEh = 50f;
|
||||
private float _SIZEh = 50f;
|
||||
public float SIZEh
|
||||
{
|
||||
get { return _SIZEh; }
|
||||
}
|
||||
|
||||
public STexture Texture;
|
||||
public char Chr;
|
||||
public int width;
|
||||
|
||||
public CGlyph(char chr)
|
||||
public CGlyph(char chr, float MaxHigh)
|
||||
{
|
||||
_SIZEh = MaxHigh;
|
||||
|
||||
float outline = CFonts.Outline;
|
||||
TextFormatFlags flags = TextFormatFlags.NoPadding | TextFormatFlags.NoPrefix;
|
||||
|
||||
@@ -152,7 +159,8 @@ namespace Vocaluxe.Base
|
||||
private Hashtable _htGlyphs;
|
||||
private PrivateFontCollection fonts;
|
||||
private FontFamily family;
|
||||
|
||||
private float SIZEh;
|
||||
|
||||
public string FilePath;
|
||||
|
||||
|
||||
@@ -181,6 +189,28 @@ namespace Vocaluxe.Base
|
||||
|
||||
_Glyphs = new List<CGlyph>();
|
||||
_htGlyphs = new Hashtable();
|
||||
|
||||
switch (CConfig.TextureQuality)
|
||||
{
|
||||
case ETextureQuality.TR_CONFIG_TEXTURE_LOWEST:
|
||||
SIZEh = 25f;
|
||||
break;
|
||||
case ETextureQuality.TR_CONFIG_TEXTURE_LOW:
|
||||
SIZEh = 50f;
|
||||
break;
|
||||
case ETextureQuality.TR_CONFIG_TEXTURE_MEDIUM:
|
||||
SIZEh = 100f;
|
||||
break;
|
||||
case ETextureQuality.TR_CONFIG_TEXTURE_HIGH:
|
||||
SIZEh = 200f;
|
||||
break;
|
||||
case ETextureQuality.TR_CONFIG_TEXTURE_HIGHEST:
|
||||
SIZEh = 400f;
|
||||
break;
|
||||
default:
|
||||
SIZEh = 100f;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void DrawGlyph(char chr, float x, float y, float h, float z, SColorF color)
|
||||
@@ -243,7 +273,7 @@ namespace Vocaluxe.Base
|
||||
return;
|
||||
|
||||
float h = CFonts.Height;
|
||||
_Glyphs.Add(new CGlyph(chr));
|
||||
_Glyphs.Add(new CGlyph(chr, SIZEh));
|
||||
_htGlyphs.Add(chr, _Glyphs.Count - 1);
|
||||
CFonts.Height = h;
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ namespace Vocaluxe.Base
|
||||
public int SongID;
|
||||
public bool Medley;
|
||||
public bool Duet;
|
||||
public bool ShortSong;
|
||||
public long DateTicks;
|
||||
public bool SongFinished;
|
||||
}
|
||||
@@ -179,6 +180,11 @@ namespace Vocaluxe.Base
|
||||
return _GameMode.GetSong(Num);
|
||||
}
|
||||
|
||||
public static EGameMode GetGameMode(int Num)
|
||||
{
|
||||
return _GameMode.GetGameMode(Num);
|
||||
}
|
||||
|
||||
public static int GetNumSongs()
|
||||
{
|
||||
return _GameMode.GetNumSongs();
|
||||
@@ -189,6 +195,11 @@ namespace Vocaluxe.Base
|
||||
return _GameMode.GetPoints();
|
||||
}
|
||||
|
||||
public static int NumRounds
|
||||
{
|
||||
get { return _GameMode.GetNumSongs(); }
|
||||
}
|
||||
|
||||
public static int NumPlayer
|
||||
{
|
||||
get { return _NumPlayer; }
|
||||
@@ -214,6 +225,7 @@ namespace Vocaluxe.Base
|
||||
_Player[i].SongID = -1;
|
||||
_Player[i].Medley = false;
|
||||
_Player[i].Duet = false;
|
||||
_Player[i].ShortSong = false;
|
||||
_Player[i].DateTicks = DateTime.Now.Ticks;
|
||||
_Player[i].SongFinished = false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using System.Xml.XPath;
|
||||
|
||||
using Vocaluxe.Lib.Song;
|
||||
using Vocaluxe.Lib.Playlist;
|
||||
|
||||
namespace Vocaluxe.Base
|
||||
{
|
||||
|
||||
static class CPlaylists
|
||||
{
|
||||
private static List<CPlaylistFile> _Playlists;
|
||||
private static CHelper Helper = new CHelper();
|
||||
|
||||
public static CPlaylistFile[] Playlists
|
||||
{
|
||||
get { return _Playlists.ToArray(); }
|
||||
}
|
||||
|
||||
public static string[] PlaylistNames
|
||||
{
|
||||
get
|
||||
{
|
||||
List<string> names = new List<string>();
|
||||
for (int i = 0; i < _Playlists.Count; i++)
|
||||
{
|
||||
names.Add(_Playlists[i].PlaylistName);
|
||||
}
|
||||
return names.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public static int NumPlaylists
|
||||
{
|
||||
get { return _Playlists.Count; }
|
||||
}
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
LoadPlaylists();
|
||||
}
|
||||
|
||||
public static void LoadPlaylists()
|
||||
{
|
||||
_Playlists = new List<CPlaylistFile>();
|
||||
List<string> files = new List<string>();
|
||||
files.AddRange(Helper.ListFiles(CSettings.sFolderPlaylists, "*.xml", true, true));
|
||||
|
||||
foreach (string file in files)
|
||||
{
|
||||
CPlaylistFile playlist = new CPlaylistFile(file);
|
||||
_Playlists.Add(playlist);
|
||||
}
|
||||
|
||||
SortPlaylistsByName();
|
||||
}
|
||||
|
||||
#region private methods
|
||||
|
||||
private static void SortPlaylistsByName()
|
||||
{
|
||||
_Playlists.Sort(CompareByPlaylistName);
|
||||
}
|
||||
|
||||
private static int CompareByPlaylistName(CPlaylistFile a, CPlaylistFile b)
|
||||
{
|
||||
return String.Compare(a.PlaylistName, b.PlaylistName);
|
||||
}
|
||||
|
||||
public static void DeletePlaylist(int PlaylistID)
|
||||
{
|
||||
if (PlaylistID < 0 || PlaylistID >= _Playlists.Count)
|
||||
return;
|
||||
if (_Playlists[PlaylistID].PlaylistFile != String.Empty)
|
||||
{
|
||||
try
|
||||
{
|
||||
File.Delete(_Playlists[PlaylistID].PlaylistFile);
|
||||
_Playlists.RemoveAt(PlaylistID);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
CLog.LogError("Can't delete Profile File " + _Playlists[PlaylistID].PlaylistFile + ".xml");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void SavePlaylist(int PlaylistID)
|
||||
{
|
||||
if (PlaylistID < 0 || PlaylistID >= _Playlists.Count)
|
||||
return;
|
||||
_Playlists[PlaylistID].SavePlaylist();
|
||||
}
|
||||
|
||||
public static int NewPlaylist()
|
||||
{
|
||||
CPlaylistFile pl = new CPlaylistFile();
|
||||
pl.PlaylistName = "New Playlist";
|
||||
_Playlists.Add(pl);
|
||||
return (_Playlists.Count - 1);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -94,6 +94,7 @@ namespace Vocaluxe.Base
|
||||
public const string sFolderLanguages = "Languages";
|
||||
public const string sFolderScreenshots = "Screenshots";
|
||||
public const string sFolderBackgroundMusic = "BackgroundMusic";
|
||||
public static string sFolderPlaylists = "Playlists";
|
||||
|
||||
//public const String[] ToneStrings = new String[]{ "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B" };
|
||||
public const int ToneMin = -36;
|
||||
@@ -112,6 +113,11 @@ namespace Vocaluxe.Base
|
||||
public const float LyricHelperMoveTime = 1.5f;
|
||||
public const float LyricHelperMinTime = 0.2f;
|
||||
|
||||
public const float DefaultMedleyFadeInTime = 8f;
|
||||
public const float DefaultMedleyFadeOutTime = 2f;
|
||||
public const int MedleyMinSeriesLength = 3;
|
||||
public const float MedleyMinDuration = 40f;
|
||||
|
||||
public static bool TabNavigation = false;
|
||||
|
||||
public const float BackgroundMusicFadeTime = 0.5f;
|
||||
@@ -179,6 +185,7 @@ namespace Vocaluxe.Base
|
||||
Folders.Add(sFolderScreenshots);
|
||||
Folders.Add(sFolderBackgroundMusic);
|
||||
Folders.Add(sFolderSounds);
|
||||
Folders.Add(sFolderPlaylists);
|
||||
|
||||
foreach (string folder in Folders)
|
||||
{
|
||||
@@ -187,5 +194,11 @@ namespace Vocaluxe.Base
|
||||
Directory.CreateDirectory(path);
|
||||
}
|
||||
}
|
||||
|
||||
public static void CreateFolder(string path)
|
||||
{
|
||||
if (!Directory.Exists(path))
|
||||
Directory.CreateDirectory(path);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -71,31 +71,34 @@
|
||||
- PortAudio Record and Playback
|
||||
|
||||
-------------------------------------------------------------
|
||||
+ v0.1.0:
|
||||
+ v0.1.0 (reached: 07.04.2012):
|
||||
- Menu Background Music
|
||||
- Jukebox light (bg music controls)
|
||||
- Theme System Update
|
||||
- A nicer Theme!
|
||||
|
||||
+ v0.2.0:
|
||||
- Medley
|
||||
- WiiMote Support
|
||||
- Jukebox light (bg music controls)
|
||||
- Show Avatars and Player Name in Sing Screen (and perhaps some other screens)
|
||||
- Sing Short Version Mode
|
||||
- Show Avatars and Player Name in Sing Screen
|
||||
- New Lyric Effects
|
||||
- More Player at once (up to 6)
|
||||
- Duet (full support, choose/toggle names)
|
||||
- Playlist-Support
|
||||
- Spectrum Analyzer (Record Screen and Player Selection Screen)
|
||||
|
||||
|
||||
-----------------
|
||||
just some ideas:
|
||||
- WiiMote Support
|
||||
- Installer
|
||||
- More Song List Views
|
||||
- Tile Board: Show title and artist under each tile
|
||||
- OnScreen Keyboard?
|
||||
- Kinect Support?
|
||||
- Help System
|
||||
- Party Mode: Casting Show
|
||||
- More Player at once
|
||||
- Mark newly added songs
|
||||
- Playlist-Support
|
||||
- Party Mode: Casting Show
|
||||
- Mark newly added songs
|
||||
- Theme Editor
|
||||
- Jukebox
|
||||
- Tournament Mode
|
||||
@@ -103,5 +106,4 @@ just some ideas:
|
||||
- Party Mode: Tic, Tac, Toe
|
||||
- Party Mode: 4 in a row
|
||||
- Challenge Mode (with more than 2 player at once)
|
||||
- Song Editor
|
||||
- Duet (full support, choose/toggle names)
|
||||
- Song Editor
|
||||
@@ -39,12 +39,13 @@ namespace Vocaluxe.GameModes
|
||||
_Rounds[round, player].PointsLineBonus = 0f;
|
||||
_Rounds[round, player].Medley = false;
|
||||
_Rounds[round, player].Duet = false;
|
||||
_Rounds[round, player].ShortSong = false;
|
||||
_Rounds[round, player].SongFinished = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetPoints(int Round, int SongID, SPlayer[] Player, bool Medley, bool Duet)
|
||||
public void SetPoints(int Round, int SongID, SPlayer[] Player, bool Medley, bool Duet, bool ShortSong)
|
||||
{
|
||||
long DateTicks = DateTime.Now.Ticks;
|
||||
for (int player = 0; player < Player.Length; player++)
|
||||
@@ -56,6 +57,7 @@ namespace Vocaluxe.GameModes
|
||||
_Rounds[Round, player].PointsLineBonus = Player[player].PointsLineBonus;
|
||||
_Rounds[Round, player].Medley = Medley;
|
||||
_Rounds[Round, player].Duet = Duet;
|
||||
_Rounds[Round, player].ShortSong = ShortSong;
|
||||
_Rounds[Round, player].DateTicks = DateTicks;
|
||||
_Rounds[Round, player].SongFinished = Player[player].SongFinished;
|
||||
}
|
||||
@@ -91,6 +93,7 @@ namespace Vocaluxe.GameModes
|
||||
player[p].Difficulty = _Rounds[Round, p].Difficulty;
|
||||
player[p].Medley = _Rounds[Round, p].Medley;
|
||||
player[p].Duet = _Rounds[Round, p].Duet;
|
||||
player[p].ShortSong = _Rounds[Round, p].ShortSong;
|
||||
player[p].DateTicks = _Rounds[Round, p].DateTicks;
|
||||
player[p].SongFinished = _Rounds[Round, p].SongFinished;
|
||||
player[p].ProfileID = _Rounds[Round, p].ProfileID;
|
||||
@@ -119,7 +122,7 @@ namespace Vocaluxe.GameModes
|
||||
{
|
||||
return _SongQueque[_CurrentSong].GameMode;
|
||||
}
|
||||
return EGameMode.Normal;
|
||||
return EGameMode.TR_GAMEMODE_NORMAL;
|
||||
}
|
||||
|
||||
public virtual bool AddVisibleSong(int VisibleIndex, EGameMode GameMode)
|
||||
@@ -127,7 +130,7 @@ namespace Vocaluxe.GameModes
|
||||
if (CSongs.VisibleSongs.Length > VisibleIndex)
|
||||
{
|
||||
int SongID = CSongs.VisibleSongs[VisibleIndex].ID;
|
||||
if (GameMode == EGameMode.Duet && !CSongs.GetSong(SongID).IsDuet)
|
||||
if (GameMode == EGameMode.TR_GAMEMODE_DUET && !CSongs.GetSong(SongID).IsDuet)
|
||||
return false;
|
||||
|
||||
_SongQueque.Add(new SongQueque(SongID, GameMode));
|
||||
@@ -141,7 +144,7 @@ namespace Vocaluxe.GameModes
|
||||
if (CSongs.AllSongs.Length > AbsoluteIndex)
|
||||
{
|
||||
int SongID = CSongs.AllSongs[AbsoluteIndex].ID;
|
||||
if (GameMode == EGameMode.Duet && !CSongs.GetSong(SongID).IsDuet)
|
||||
if (GameMode == EGameMode.TR_GAMEMODE_DUET && !CSongs.GetSong(SongID).IsDuet)
|
||||
return false;
|
||||
|
||||
_SongQueque.Add(new SongQueque(SongID, GameMode));
|
||||
@@ -188,7 +191,6 @@ namespace Vocaluxe.GameModes
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (index == -1)
|
||||
return false;
|
||||
|
||||
@@ -223,8 +225,9 @@ namespace Vocaluxe.GameModes
|
||||
_CurrentSong,
|
||||
_SongQueque[_CurrentSong].SongID,
|
||||
Player,
|
||||
_SongQueque[_CurrentSong].GameMode == EGameMode.Medley,
|
||||
_SongQueque[_CurrentSong].GameMode == EGameMode.Duet);
|
||||
_SongQueque[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_MEDLEY,
|
||||
_SongQueque[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_DUET,
|
||||
_SongQueque[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_SHORTSONG);
|
||||
}
|
||||
_CurrentSong++;
|
||||
}
|
||||
@@ -244,7 +247,32 @@ namespace Vocaluxe.GameModes
|
||||
{
|
||||
if (_CurrentSong >= 0 && _CurrentSong < _SongQueque.Count)
|
||||
{
|
||||
return CSongs.GetSong(_SongQueque[_CurrentSong].SongID);
|
||||
CSong song = CSongs.GetSong(_SongQueque[_CurrentSong].SongID);
|
||||
song = new CSong(song);
|
||||
|
||||
switch (GetCurrentGameMode())
|
||||
{
|
||||
case EGameMode.TR_GAMEMODE_MEDLEY:
|
||||
// set medley mode timings
|
||||
song.Start = CGame.GetTimeFromBeats(song.Medley.StartBeat, song.BPM) - song.Medley.FadeInTime + song.Gap;
|
||||
if (song.Start < 0f)
|
||||
song.Start = 0f;
|
||||
|
||||
song.Finish = CGame.GetTimeFromBeats(song.Medley.EndBeat, song.BPM) + song.Medley.FadeOutTime + song.Gap;
|
||||
|
||||
// set lines to medley mode
|
||||
song.Notes.SetMedley(song.Medley.StartBeat, song.Medley.EndBeat);
|
||||
break;
|
||||
|
||||
case EGameMode.TR_GAMEMODE_SHORTSONG:
|
||||
song.Finish = CGame.GetTimeFromBeats(song.ShortEnd, song.BPM) + CSettings.DefaultMedleyFadeOutTime + song.Gap;
|
||||
|
||||
// set lines to medley mode
|
||||
song.Notes.SetMedley(song.Notes.GetLines(0).Line[0].FirstNoteBeat, song.ShortEnd);
|
||||
break;
|
||||
}
|
||||
|
||||
return song;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -262,10 +290,22 @@ namespace Vocaluxe.GameModes
|
||||
return null;
|
||||
}
|
||||
|
||||
public virtual EGameMode GetGameMode(int Num)
|
||||
{
|
||||
if(Num - 1 < _SongQueque.Count && Num > -1)
|
||||
return _SongQueque[Num].GameMode;
|
||||
|
||||
return EGameMode.TR_GAMEMODE_NORMAL;
|
||||
}
|
||||
|
||||
public virtual CPoints GetPoints()
|
||||
{
|
||||
return _Points;
|
||||
}
|
||||
#endregion Implementation
|
||||
|
||||
protected virtual void SongManipulation(int SongIndex)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ namespace Vocaluxe.GameModes
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
|
||||
_Initialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,9 +9,10 @@ namespace Vocaluxe.GameModes
|
||||
{
|
||||
public enum EGameMode
|
||||
{
|
||||
Normal,
|
||||
Medley,
|
||||
Duet
|
||||
TR_GAMEMODE_NORMAL,
|
||||
TR_GAMEMODE_MEDLEY,
|
||||
TR_GAMEMODE_DUET,
|
||||
TR_GAMEMODE_SHORTSONG
|
||||
}
|
||||
|
||||
interface IGameMode
|
||||
@@ -37,5 +38,6 @@ namespace Vocaluxe.GameModes
|
||||
int GetNumSongs();
|
||||
CSong GetSong();
|
||||
CSong GetSong(int Num);
|
||||
EGameMode GetGameMode(int Num);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using System.Xml.XPath;
|
||||
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.GameModes;
|
||||
using Vocaluxe.Lib.Song;
|
||||
|
||||
|
||||
namespace Vocaluxe.Lib.Playlist
|
||||
{
|
||||
public class CPlaylistSong
|
||||
{
|
||||
public int SongID;
|
||||
public EGameMode GameMode;
|
||||
|
||||
public CPlaylistSong(int SongID, EGameMode gm)
|
||||
{
|
||||
this.SongID = SongID;
|
||||
this.GameMode = gm;
|
||||
}
|
||||
|
||||
public CPlaylistSong()
|
||||
{
|
||||
GameMode = EGameMode.TR_GAMEMODE_NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
public class CPlaylistFile
|
||||
{
|
||||
private static XmlWriterSettings _settings = new XmlWriterSettings();
|
||||
private static CHelper Helper = new CHelper();
|
||||
|
||||
public string PlaylistName;
|
||||
public string PlaylistFile;
|
||||
public List<CPlaylistSong> Songs = new List<CPlaylistSong>();
|
||||
|
||||
public CPlaylistFile()
|
||||
{
|
||||
Init();
|
||||
PlaylistName = string.Empty;
|
||||
PlaylistFile = string.Empty;
|
||||
}
|
||||
|
||||
public CPlaylistFile(string file)
|
||||
{
|
||||
Init();
|
||||
PlaylistFile = file;
|
||||
LoadPlaylist();
|
||||
}
|
||||
|
||||
private void Init()
|
||||
{
|
||||
_settings.Indent = true;
|
||||
_settings.Encoding = System.Text.Encoding.UTF8;
|
||||
_settings.ConformanceLevel = ConformanceLevel.Document;
|
||||
}
|
||||
|
||||
|
||||
public void SavePlaylist()
|
||||
{
|
||||
if (PlaylistFile == string.Empty)
|
||||
{
|
||||
string filename = string.Empty;
|
||||
foreach (char chr in PlaylistName)
|
||||
{
|
||||
if (char.IsLetter(chr))
|
||||
filename += chr.ToString();
|
||||
}
|
||||
|
||||
if (filename == String.Empty)
|
||||
filename = "1";
|
||||
|
||||
int i = 0;
|
||||
while (File.Exists(Path.Combine(CSettings.sFolderPlaylists, filename + ".xml")))
|
||||
{
|
||||
i++;
|
||||
if (!File.Exists(Path.Combine(CSettings.sFolderPlaylists, filename + i + ".xml")))
|
||||
{
|
||||
filename += i;
|
||||
}
|
||||
}
|
||||
|
||||
PlaylistFile = Path.Combine(CSettings.sFolderPlaylists, filename + ".xml");
|
||||
}
|
||||
|
||||
XmlWriter writer;
|
||||
try
|
||||
{
|
||||
writer = XmlWriter.Create(PlaylistFile, _settings);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
CLog.LogError("Error creating/opening Playlist File " + PlaylistFile + ": " + e.Message);
|
||||
return;
|
||||
}
|
||||
|
||||
if (writer == null)
|
||||
{
|
||||
CLog.LogError("Error creating/opening Playlist File " + PlaylistFile);
|
||||
return;
|
||||
}
|
||||
|
||||
writer.WriteStartDocument();
|
||||
writer.WriteStartElement("root");
|
||||
|
||||
writer.WriteStartElement("Info");
|
||||
writer.WriteElementString("PlaylistName", PlaylistName);
|
||||
writer.WriteEndElement();
|
||||
|
||||
writer.WriteStartElement("Songs");
|
||||
for (int i = 0; i < Songs.Count; i++)
|
||||
{
|
||||
CSong song = CSongs.GetSong(Songs[i].SongID);
|
||||
if (song != null)
|
||||
{
|
||||
writer.WriteStartElement("Song" + (i + 1).ToString());
|
||||
writer.WriteElementString("Artist", song.Artist);
|
||||
writer.WriteElementString("Title", song.Title);
|
||||
writer.WriteElementString("GameMode", Enum.GetName(typeof(EGameMode), Songs[i].GameMode));
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
else
|
||||
{
|
||||
CLog.LogError("Playlist.SavePlaylist(): Can't find Song. This should never happen!");
|
||||
}
|
||||
}
|
||||
writer.WriteEndElement();
|
||||
|
||||
writer.WriteEndElement(); //end of root
|
||||
writer.WriteEndDocument();
|
||||
|
||||
writer.Flush();
|
||||
writer.Close();
|
||||
}
|
||||
|
||||
private void LoadPlaylist()
|
||||
{
|
||||
bool loaded = false;
|
||||
XPathDocument xPathDoc = null;
|
||||
XPathNavigator navigator = null;
|
||||
|
||||
try
|
||||
{
|
||||
xPathDoc = new XPathDocument(PlaylistFile);
|
||||
navigator = xPathDoc.CreateNavigator();
|
||||
loaded = true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
loaded = false;
|
||||
if (navigator != null)
|
||||
navigator = null;
|
||||
|
||||
if (xPathDoc != null)
|
||||
xPathDoc = null;
|
||||
|
||||
CLog.LogError("Error opening Playlist File " + PlaylistFile + ": " + e.Message);
|
||||
}
|
||||
|
||||
if (loaded)
|
||||
{
|
||||
string value = String.Empty;
|
||||
if (CHelper.GetValueFromXML("//root/Info/PlaylistName", navigator, ref value, value))
|
||||
{
|
||||
PlaylistName = value;
|
||||
|
||||
Songs = new List<CPlaylistSong>();
|
||||
|
||||
List<string> songs = CHelper.GetValuesFromXML("Songs", navigator);
|
||||
string artist = String.Empty;
|
||||
string title = String.Empty;
|
||||
EGameMode gm = EGameMode.TR_GAMEMODE_NORMAL;
|
||||
|
||||
for (int i = 0; i < songs.Count; i++)
|
||||
{
|
||||
CHelper.GetValueFromXML("//root/Songs/" + songs[i] + "/Artist", navigator, ref artist, String.Empty);
|
||||
CHelper.GetValueFromXML("//root/Songs/" + songs[i] + "/Title", navigator, ref title, String.Empty);
|
||||
CHelper.TryGetEnumValueFromXML<EGameMode>("//root/Songs/" + songs[i] + "/GameMode", navigator, ref gm);
|
||||
|
||||
CPlaylistSong song = new CPlaylistSong();
|
||||
song.SongID = -1;
|
||||
CSong[] AllSongs = CSongs.AllSongs;
|
||||
|
||||
for (int s = 0; s < AllSongs.Length; s++)
|
||||
{
|
||||
if (AllSongs[s].Artist == artist && AllSongs[s].Title == title)
|
||||
{
|
||||
song.SongID = AllSongs[s].ID;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (song.SongID != -1)
|
||||
{
|
||||
song.GameMode = gm;
|
||||
Songs.Add(song);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CLog.LogError("Can't find PlaylistName in Playlist File: " + PlaylistFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void AddSong(int SongID)
|
||||
{
|
||||
CPlaylistSong song = new CPlaylistSong();
|
||||
song.SongID = SongID;
|
||||
if (CSongs.GetSong(SongID).IsDuet)
|
||||
song.GameMode = EGameMode.TR_GAMEMODE_DUET;
|
||||
else
|
||||
song.GameMode = EGameMode.TR_GAMEMODE_NORMAL;
|
||||
|
||||
Songs.Add(song);
|
||||
}
|
||||
|
||||
public void AddSong(int SongID, EGameMode gm)
|
||||
{
|
||||
CPlaylistSong song = new CPlaylistSong();
|
||||
song.SongID = SongID;
|
||||
song.GameMode = gm;
|
||||
|
||||
Songs.Add(song);
|
||||
}
|
||||
|
||||
public void DeleteSong(int SongNr)
|
||||
{
|
||||
Songs.RemoveAt(SongNr);
|
||||
}
|
||||
|
||||
public void SongUp(int SongNr)
|
||||
{
|
||||
if (SongNr != 0)
|
||||
{
|
||||
Songs.Reverse(SongNr - 1, 2);
|
||||
}
|
||||
}
|
||||
|
||||
public void SongDown(int SongNr)
|
||||
{
|
||||
if (SongNr < Songs.Count - 1)
|
||||
{
|
||||
Songs.Reverse(SongNr, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ using Vocaluxe.Base;
|
||||
|
||||
namespace Vocaluxe.Lib.Song
|
||||
{
|
||||
class CNotes
|
||||
class CNotes
|
||||
{
|
||||
private List<CLines> _Lines = new List<CLines>();
|
||||
|
||||
@@ -15,6 +15,18 @@ namespace Vocaluxe.Lib.Song
|
||||
get { return _Lines.ToArray(); }
|
||||
}
|
||||
|
||||
public CNotes()
|
||||
{
|
||||
}
|
||||
|
||||
public CNotes(CNotes notes)
|
||||
{
|
||||
foreach (CLines lines in notes._Lines)
|
||||
{
|
||||
_Lines.Add(new CLines(lines));
|
||||
}
|
||||
}
|
||||
|
||||
public CLines GetLines(int Index)
|
||||
{
|
||||
while (Index >= _Lines.Count)
|
||||
@@ -60,6 +72,13 @@ namespace Vocaluxe.Lib.Song
|
||||
_Lines.Clear();
|
||||
}
|
||||
|
||||
public void SetMedley(int StartBeat, int EndBeat)
|
||||
{
|
||||
foreach (CLines lines in _Lines)
|
||||
{
|
||||
lines.SetMedley(StartBeat, EndBeat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum ENoteType
|
||||
@@ -91,6 +110,17 @@ namespace Vocaluxe.Lib.Song
|
||||
_Perfect = false;
|
||||
}
|
||||
|
||||
public CNote(CNote note)
|
||||
{
|
||||
_StartBeat = note._StartBeat;
|
||||
_Duration = note._Duration;
|
||||
_Tone = note._Tone;
|
||||
_NoteType = note._NoteType;
|
||||
_Text = note._Text;
|
||||
_Hit = note._Hit;
|
||||
_Perfect = note._Perfect;
|
||||
}
|
||||
|
||||
public CNote(int StartBeat, int Duration, int Tone, string Text)
|
||||
: this()
|
||||
{
|
||||
@@ -250,22 +280,43 @@ namespace Vocaluxe.Lib.Song
|
||||
private int _StartBeat;
|
||||
private int _EndBeat;
|
||||
private bool _PerfectLine; // for drawing perfect line effect
|
||||
private bool _VisibleInTimeLine;
|
||||
|
||||
private int _MinBeat = int.MaxValue;
|
||||
private int _MaxBeat = int.MinValue;
|
||||
private List<CNote> _Notes;
|
||||
private List<CNote> _Notes = new List<CNote>();
|
||||
|
||||
#region Constructors
|
||||
public CLine()
|
||||
{
|
||||
_Notes = new List<CNote>();
|
||||
StartBeat = int.MinValue;
|
||||
EndBeat = int.MaxValue;
|
||||
_PerfectLine = false;
|
||||
_VisibleInTimeLine = true;
|
||||
}
|
||||
|
||||
public CLine(CLine line)
|
||||
{
|
||||
foreach (CNote note in line._Notes)
|
||||
{
|
||||
_Notes.Add(new CNote(note));
|
||||
}
|
||||
_StartBeat = line._StartBeat;
|
||||
_EndBeat = line._EndBeat;
|
||||
_PerfectLine = line._PerfectLine;
|
||||
_MinBeat = line._MinBeat;
|
||||
_MaxBeat = line._MaxBeat;
|
||||
_VisibleInTimeLine = line._VisibleInTimeLine;
|
||||
}
|
||||
#endregion Constructors
|
||||
|
||||
#region Properties
|
||||
public bool VisibleInTimeLine
|
||||
{
|
||||
get { return _VisibleInTimeLine; }
|
||||
set { _VisibleInTimeLine = value; }
|
||||
}
|
||||
|
||||
public int StartBeat
|
||||
{
|
||||
get { return _StartBeat; }
|
||||
@@ -292,7 +343,7 @@ namespace Vocaluxe.Lib.Song
|
||||
set { _PerfectLine = value; }
|
||||
}
|
||||
|
||||
public int FirstBeat
|
||||
public int FirstNoteBeat
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -300,7 +351,7 @@ namespace Vocaluxe.Lib.Song
|
||||
}
|
||||
}
|
||||
|
||||
public int LastBeat
|
||||
public int LastNoteBeat
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -465,6 +516,17 @@ namespace Vocaluxe.Lib.Song
|
||||
_MaxBeat = int.MinValue;
|
||||
}
|
||||
|
||||
public void SetMedley(int StartBeat, int EndBeat)
|
||||
{
|
||||
foreach (CNote note in _Notes)
|
||||
{
|
||||
if (note.StartBeat < StartBeat || note.EndBeat > EndBeat)
|
||||
note.NoteType = ENoteType.Freestyle;
|
||||
}
|
||||
|
||||
_VisibleInTimeLine = _MinBeat >= StartBeat && _MaxBeat <= EndBeat;
|
||||
}
|
||||
|
||||
private void updateMinMaxBeat(CNote Note)
|
||||
{
|
||||
if (Note.StartBeat < _MinBeat)
|
||||
@@ -487,16 +549,24 @@ namespace Vocaluxe.Lib.Song
|
||||
updateMinMaxBeat(note);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Methods
|
||||
}
|
||||
|
||||
public class CLines
|
||||
{
|
||||
private List<CLine> _Lines;
|
||||
private List<CLine> _Lines = new List<CLine>();
|
||||
|
||||
public CLines()
|
||||
{
|
||||
_Lines = new List<CLine>();
|
||||
}
|
||||
|
||||
public CLines(CLines lines)
|
||||
{
|
||||
foreach (CLine line in lines._Lines)
|
||||
{
|
||||
_Lines.Add(new CLine(line));
|
||||
}
|
||||
}
|
||||
|
||||
public CLine[] Line
|
||||
@@ -521,15 +591,15 @@ namespace Vocaluxe.Lib.Song
|
||||
int startbeat = int.MaxValue;
|
||||
for (int i = 0; i < _Lines.Count; i++)
|
||||
{
|
||||
if (_Lines[i].FirstBeat < startbeat)
|
||||
startbeat = _Lines[i].FirstBeat;
|
||||
if (_Lines[i].FirstNoteBeat < startbeat)
|
||||
startbeat = _Lines[i].FirstNoteBeat;
|
||||
}
|
||||
|
||||
int endbeat = int.MinValue;
|
||||
for (int i = 0; i < _Lines.Count; i++)
|
||||
{
|
||||
if (_Lines[i].LastBeat < endbeat)
|
||||
endbeat = _Lines[i].LastBeat;
|
||||
if (_Lines[i].LastNoteBeat < endbeat)
|
||||
endbeat = _Lines[i].LastNoteBeat;
|
||||
}
|
||||
|
||||
int result = endbeat - startbeat;
|
||||
@@ -688,6 +758,13 @@ namespace Vocaluxe.Lib.Song
|
||||
}
|
||||
}
|
||||
|
||||
public void SetMedley(int StartBeat, int EndBeat)
|
||||
{
|
||||
foreach (CLine line in _Lines)
|
||||
{
|
||||
line.SetMedley(StartBeat, EndBeat);
|
||||
}
|
||||
}
|
||||
#endregion Methods
|
||||
}
|
||||
}
|
||||
@@ -7,19 +7,45 @@ using System.Text.RegularExpressions;
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Lib.Draw;
|
||||
using Vocaluxe.Menu;
|
||||
using Vocaluxe.GameModes;
|
||||
|
||||
namespace Vocaluxe.Lib.Song
|
||||
{
|
||||
[Flags]
|
||||
enum EHeaderFlags
|
||||
{
|
||||
Title,
|
||||
Artist,
|
||||
MP3,
|
||||
BPM,
|
||||
PreviewStart,
|
||||
MedleyStartBeat,
|
||||
MedleyEndBeat
|
||||
Title = 1,
|
||||
Artist = 2,
|
||||
MP3 = 4,
|
||||
BPM = 8,
|
||||
PreviewStart = 16,
|
||||
MedleyStartBeat = 32,
|
||||
MedleyEndBeat = 64
|
||||
}
|
||||
|
||||
enum EMedleySource
|
||||
{
|
||||
None,
|
||||
Calculated,
|
||||
Tag
|
||||
}
|
||||
|
||||
struct SMedley
|
||||
{
|
||||
public EMedleySource Source;
|
||||
public int StartBeat;
|
||||
public int EndBeat;
|
||||
public float FadeInTime;
|
||||
public float FadeOutTime;
|
||||
|
||||
public SMedley(int dummy)
|
||||
{
|
||||
Source = EMedleySource.None;
|
||||
StartBeat = 0;
|
||||
EndBeat = 0;
|
||||
FadeInTime = 0f;
|
||||
FadeOutTime = 0f;
|
||||
}
|
||||
}
|
||||
|
||||
class CSong
|
||||
@@ -29,10 +55,18 @@ namespace Vocaluxe.Lib.Song
|
||||
private STexture _CoverTextureSmall = new STexture(-1);
|
||||
private STexture _CoverTextureBig = new STexture(-1);
|
||||
|
||||
public SMedley Medley = new SMedley(0);
|
||||
|
||||
public bool CalculateMedley = true;
|
||||
public float PreviewStart = 0f;
|
||||
|
||||
public int ShortEnd = 0;
|
||||
|
||||
public Encoding Encoding = Encoding.Default;
|
||||
public string Folder = String.Empty;
|
||||
public string FolderName = String.Empty;
|
||||
public string FileName = String.Empty;
|
||||
public EOffOn Relative = EOffOn.TR_CONFIG_OFF;
|
||||
|
||||
public string MP3FileName = String.Empty;
|
||||
public string CoverFileName = String.Empty;
|
||||
@@ -45,14 +79,12 @@ namespace Vocaluxe.Lib.Song
|
||||
{
|
||||
get { return _CoverLoaded; }
|
||||
}
|
||||
|
||||
public bool NotesLoaded
|
||||
{
|
||||
get { return _NotesLoaded; }
|
||||
}
|
||||
|
||||
public bool CoverBigLoaded = false;
|
||||
public bool BackgroundLoaded = false;
|
||||
|
||||
public STexture CoverTextureSmall
|
||||
{
|
||||
@@ -89,8 +121,6 @@ namespace Vocaluxe.Lib.Song
|
||||
set { _CoverTextureBig = value; }
|
||||
}
|
||||
|
||||
public CBackground Background = new CBackground();
|
||||
|
||||
public string Title = String.Empty;
|
||||
public string Artist = String.Empty;
|
||||
|
||||
@@ -127,6 +157,104 @@ namespace Vocaluxe.Lib.Song
|
||||
// Notes
|
||||
public CNotes Notes = new CNotes();
|
||||
|
||||
public EGameMode[] AvailableGameModes
|
||||
{
|
||||
get
|
||||
{
|
||||
List<EGameMode> gms = new List<EGameMode>();
|
||||
if (IsDuet)
|
||||
gms.Add(EGameMode.TR_GAMEMODE_DUET);
|
||||
else
|
||||
gms.Add(EGameMode.TR_GAMEMODE_NORMAL);
|
||||
if (Medley.Source != EMedleySource.None)
|
||||
gms.Add(EGameMode.TR_GAMEMODE_MEDLEY);
|
||||
gms.Add(EGameMode.TR_GAMEMODE_SHORTSONG);
|
||||
|
||||
return gms.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public CSong()
|
||||
{
|
||||
}
|
||||
|
||||
public CSong(CSong song)
|
||||
{
|
||||
this._CoverTextureSmall = song._CoverTextureSmall;
|
||||
this._CoverTextureBig = song._CoverTextureBig;
|
||||
|
||||
this.Medley = new SMedley();
|
||||
this.Medley.Source = song.Medley.Source;
|
||||
this.Medley.StartBeat = song.Medley.StartBeat;
|
||||
this.Medley.EndBeat = song.Medley.EndBeat;
|
||||
this.Medley.FadeInTime = song.Medley.FadeInTime;
|
||||
this.Medley.FadeOutTime = song.Medley.FadeOutTime;
|
||||
|
||||
this.CalculateMedley = song.CalculateMedley;
|
||||
this.PreviewStart = song.PreviewStart;
|
||||
|
||||
this.ShortEnd = song.ShortEnd;
|
||||
|
||||
this.Encoding = song.Encoding;
|
||||
this.Folder = song.Folder;
|
||||
this.FolderName = song.FolderName;
|
||||
this.FileName = song.FileName;
|
||||
this.Relative = song.Relative;
|
||||
|
||||
this.MP3FileName = song.MP3FileName;
|
||||
this.CoverFileName = song.CoverFileName;
|
||||
this.BackgroundFileName = song.BackgroundFileName;
|
||||
this.VideoFileName = song.VideoFileName;
|
||||
|
||||
this.VideoAspect = song.VideoAspect;
|
||||
this._CoverLoaded = song._CoverLoaded;
|
||||
this.CoverBigLoaded = song.CoverBigLoaded;
|
||||
this._NotesLoaded = song._NotesLoaded;
|
||||
|
||||
this.Artist = song.Artist;
|
||||
this.Title = song.Title;
|
||||
|
||||
this.Start = song.Start;
|
||||
this.Finish = song.Finish;
|
||||
|
||||
this.BPM = song.BPM;
|
||||
this.Gap = song.Gap;
|
||||
this.VideoGap = song.VideoGap;
|
||||
|
||||
this.Comment = new List<string>();
|
||||
foreach (string value in song.Comment)
|
||||
{
|
||||
this.Comment.Add(value);
|
||||
}
|
||||
|
||||
this.ID = song.ID;
|
||||
this.Visible = song.Visible;
|
||||
this.CatIndex = song.CatIndex;
|
||||
this.Selected = song.Selected;
|
||||
|
||||
this.Edition = new List<string>();
|
||||
foreach (string value in song.Edition)
|
||||
{
|
||||
this.Edition.Add(value);
|
||||
}
|
||||
|
||||
this.Genre = new List<string>();
|
||||
foreach (string value in song.Genre)
|
||||
{
|
||||
this.Genre.Add(value);
|
||||
}
|
||||
|
||||
this.Year = song.Year;
|
||||
|
||||
this.Language = new List<string>();
|
||||
foreach (string value in song.Language)
|
||||
{
|
||||
this.Language.Add(value);
|
||||
}
|
||||
|
||||
this.Notes = new CNotes(song.Notes);
|
||||
}
|
||||
|
||||
public string GetMP3()
|
||||
{
|
||||
return Path.Combine(Folder, MP3FileName);
|
||||
@@ -348,6 +476,29 @@ namespace Vocaluxe.Lib.Song
|
||||
if (CHelper.TryParse(Value, out this.Finish))
|
||||
this.Finish /= 1000f;
|
||||
break;
|
||||
case "PREVIEWSTART":
|
||||
if (CHelper.TryParse(Value, out this.PreviewStart))
|
||||
if (this.PreviewStart < 0f)
|
||||
this.PreviewStart = 0f;
|
||||
else
|
||||
HeaderFlags |= EHeaderFlags.PreviewStart;
|
||||
break;
|
||||
case "MEDLEYSTARTBEAT":
|
||||
if (int.TryParse(Value, out this.Medley.StartBeat))
|
||||
HeaderFlags |= EHeaderFlags.MedleyStartBeat;
|
||||
break;
|
||||
case "MEDLEYENDBEAT":
|
||||
if (int.TryParse(Value, out this.Medley.EndBeat))
|
||||
HeaderFlags |= EHeaderFlags.MedleyEndBeat;
|
||||
break;
|
||||
case "CALCMEDLEY":
|
||||
if (Value.ToUpper() == "OFF")
|
||||
this.CalculateMedley = false;
|
||||
break;
|
||||
case "RELATIVE":
|
||||
if (Value.ToUpper() == "YES" && Value.ToUpper() != "NO")
|
||||
this.Relative = EOffOn.TR_CONFIG_ON;
|
||||
break;
|
||||
default:
|
||||
;
|
||||
break;
|
||||
@@ -363,13 +514,70 @@ namespace Vocaluxe.Lib.Song
|
||||
}
|
||||
} //end of while
|
||||
|
||||
if (HeaderFlags != (EHeaderFlags.Title | EHeaderFlags.Artist | EHeaderFlags.MP3 | EHeaderFlags.BPM))
|
||||
if ((HeaderFlags & EHeaderFlags.Title) == 0)
|
||||
{
|
||||
CLog.LogError("Title tag missing: " + FilePath);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((HeaderFlags & EHeaderFlags.Artist) == 0)
|
||||
{
|
||||
CLog.LogError("Artist tag missing: " + FilePath);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((HeaderFlags & EHeaderFlags.MP3) == 0)
|
||||
{
|
||||
CLog.LogError("MP3 tag missing: " + FilePath);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((HeaderFlags & EHeaderFlags.BPM) == 0)
|
||||
{
|
||||
CLog.LogError("BPM tag missing: " + FilePath);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.Relative == EOffOn.TR_CONFIG_ON)
|
||||
{
|
||||
CLog.LogError("Relative songs are not supported by Vocaluxe (perhaps later)! (" + FilePath + ")");
|
||||
return false;
|
||||
}
|
||||
|
||||
#region check medley tags
|
||||
if ((HeaderFlags & EHeaderFlags.MedleyStartBeat) != 0 && (HeaderFlags & EHeaderFlags.MedleyEndBeat) != 0)
|
||||
{
|
||||
if (this.Medley.StartBeat > this.Medley.EndBeat)
|
||||
{
|
||||
CLog.LogError("MedleyStartBeat is bigger than MedleyEndBeat in file: " + FilePath);
|
||||
HeaderFlags = HeaderFlags - EHeaderFlags.MedleyStartBeat - EHeaderFlags.MedleyEndBeat;
|
||||
}
|
||||
}
|
||||
|
||||
if ((HeaderFlags & EHeaderFlags.PreviewStart) == 0 || this.PreviewStart == 0f)
|
||||
{
|
||||
//PreviewStart is not set or <=0
|
||||
if ((HeaderFlags & EHeaderFlags.MedleyStartBeat) != 0)
|
||||
//fallback to MedleyStart
|
||||
this.PreviewStart = CGame.GetTimeFromBeats(this.Medley.StartBeat, this.BPM);
|
||||
else
|
||||
//else set to 0, it will be set in FindRefrainStart
|
||||
this.PreviewStart = 0f;
|
||||
}
|
||||
|
||||
if ((HeaderFlags & EHeaderFlags.MedleyStartBeat) != 0 && (HeaderFlags & EHeaderFlags.MedleyEndBeat) != 0)
|
||||
{
|
||||
this.Medley.Source = EMedleySource.Tag;
|
||||
this.Medley.FadeInTime = CSettings.DefaultMedleyFadeInTime;
|
||||
this.Medley.FadeOutTime = CSettings.DefaultMedleyFadeOutTime;
|
||||
}
|
||||
#endregion check medley tags
|
||||
|
||||
this.Encoding = sr.CurrentEncoding;
|
||||
}
|
||||
catch (Exception)
|
||||
catch (Exception e)
|
||||
{
|
||||
CLog.LogError("Error reading txt header in file \"" + FilePath + "\": " + e.Message);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -502,7 +710,7 @@ namespace Vocaluxe.Lib.Song
|
||||
|
||||
char chr = (char)sr.Read();
|
||||
Param1 = CHelper.TryReadInt(sr);
|
||||
|
||||
|
||||
NewSentence(Player, Param1);
|
||||
|
||||
isNewSentence = true;
|
||||
@@ -525,6 +733,8 @@ namespace Vocaluxe.Lib.Song
|
||||
CLog.LogError("Error loading song. Line No.: " + FileLineNo.ToString() + ". An unhandled exception occured (" + e.Message + "): " + FilePath);
|
||||
return false;
|
||||
}
|
||||
FindRefrain();
|
||||
FindShortEnd();
|
||||
_NotesLoaded = true;
|
||||
if(IsDuet)
|
||||
CheckDuet();
|
||||
@@ -607,5 +817,210 @@ namespace Vocaluxe.Lib.Song
|
||||
CLog.LogError("Warning: Can't find #P2-tag for duets in \"" + this.Artist + " - " + this.Title + "\".");
|
||||
}
|
||||
}
|
||||
|
||||
private struct Series
|
||||
{
|
||||
public int start;
|
||||
public int end;
|
||||
public int length;
|
||||
}
|
||||
|
||||
private void FindRefrain()
|
||||
{
|
||||
if (this.IsDuet)
|
||||
{
|
||||
this.Medley.Source = EMedleySource.None;
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.Medley.Source == EMedleySource.Tag)
|
||||
return;
|
||||
|
||||
if (!this.CalculateMedley)
|
||||
return;
|
||||
|
||||
CLines lines = this.Notes.GetLines(0);
|
||||
|
||||
if (lines.LineCount == 0)
|
||||
return;
|
||||
|
||||
// build sentences list
|
||||
List<string> sentences = new List<string>();
|
||||
foreach (CLine line in lines.Line)
|
||||
{
|
||||
if (line.Points != 0)
|
||||
sentences.Add(line.Lyrics);
|
||||
else
|
||||
sentences.Add(String.Empty);
|
||||
}
|
||||
|
||||
// find equal sentences series
|
||||
List<Series> series = new List<Series>();
|
||||
for (int i = 0; i < lines.LineCount - 1; i++)
|
||||
{
|
||||
for (int j = i + 1; j < lines.LineCount; j++)
|
||||
{
|
||||
if (sentences[i] == sentences[j] && sentences[i] != String.Empty)
|
||||
{
|
||||
Series tempSeries = new Series();
|
||||
tempSeries.start = i;
|
||||
tempSeries.end = i;
|
||||
|
||||
int max = 0;
|
||||
if (j + j - i - 1 > lines.LineCount - 1)
|
||||
max = lines.LineCount - 1 - j;
|
||||
else
|
||||
max = j - i - 1;
|
||||
|
||||
for (int k = 1; k <= max; k++)
|
||||
{
|
||||
if (sentences[i + k] == sentences[j + k] && sentences[i + k] != String.Empty)
|
||||
tempSeries.end = i + k;
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
tempSeries.length = tempSeries.end - tempSeries.start + 1;
|
||||
series.Add(tempSeries);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// search for longest series
|
||||
int longest = 0;
|
||||
for (int i = 0; i < series.Count; i++)
|
||||
{
|
||||
if (series[i].length > series[longest].length)
|
||||
longest = i;
|
||||
}
|
||||
|
||||
// set medley vars
|
||||
if (series.Count > 0 && series[longest].length > CSettings.MedleyMinSeriesLength)
|
||||
{
|
||||
this.Medley.StartBeat = lines.Line[series[longest].start].FirstNoteBeat;
|
||||
this.Medley.EndBeat = lines.Line[series[longest].end].LastNoteBeat;
|
||||
|
||||
bool foundEnd = false;
|
||||
|
||||
// set end if duration > MedleyMinDuration
|
||||
if (CGame.GetTimeFromBeats(this.Medley.StartBeat, this.BPM) + CSettings.MedleyMinDuration >
|
||||
CGame.GetTimeFromBeats(this.Medley.EndBeat, this.BPM))
|
||||
foundEnd = true;
|
||||
|
||||
if (!foundEnd)
|
||||
{
|
||||
for (int i = series[longest].start + 1; i < lines.LineCount - 1; i++)
|
||||
{
|
||||
if (CGame.GetTimeFromBeats(this.Medley.StartBeat, this.BPM) + CSettings.MedleyMinDuration >
|
||||
CGame.GetTimeFromBeats(lines.Line[i].LastNoteBeat, this.BPM))
|
||||
{
|
||||
foundEnd = true;
|
||||
this.Medley.EndBeat = lines.Line[i].LastNoteBeat;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (foundEnd)
|
||||
{
|
||||
this.Medley.Source = EMedleySource.Calculated;
|
||||
this.Medley.FadeInTime = CSettings.DefaultMedleyFadeInTime;
|
||||
this.Medley.FadeOutTime = CSettings.DefaultMedleyFadeOutTime;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.PreviewStart == 0f)
|
||||
{
|
||||
if (this.Medley.Source == EMedleySource.Calculated)
|
||||
this.PreviewStart = CGame.GetTimeFromBeats(this.Medley.StartBeat, this.BPM);
|
||||
}
|
||||
}
|
||||
|
||||
private void FindShortEnd(){
|
||||
CLines lines = this.Notes.GetLines(0);
|
||||
|
||||
if (lines.LineCount == 0)
|
||||
return;
|
||||
|
||||
// build sentences list
|
||||
List<string> sentences = new List<string>();
|
||||
foreach (CLine line in lines.Line)
|
||||
{
|
||||
if (line.Points != 0)
|
||||
sentences.Add(line.Lyrics);
|
||||
else
|
||||
sentences.Add(String.Empty);
|
||||
}
|
||||
|
||||
// find equal sentences series
|
||||
List<Series> series = new List<Series>();
|
||||
for (int i = 0; i < lines.LineCount - 1; i++)
|
||||
{
|
||||
for (int j = i + 1; j < lines.LineCount; j++)
|
||||
{
|
||||
if (sentences[i] == sentences[j] && sentences[i] != String.Empty)
|
||||
{
|
||||
Series tempSeries = new Series();
|
||||
tempSeries.start = i;
|
||||
tempSeries.end = i;
|
||||
|
||||
int max = 0;
|
||||
if (j + j - i - 1 > lines.LineCount - 1)
|
||||
max = lines.LineCount - 1 - j;
|
||||
else
|
||||
max = j - i - 1;
|
||||
|
||||
for (int k = 1; k <= max; k++)
|
||||
{
|
||||
if (sentences[i + k] == sentences[j + k] && sentences[i + k] != String.Empty)
|
||||
tempSeries.end = i + k;
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
tempSeries.length = tempSeries.end - tempSeries.start + 1;
|
||||
series.Add(tempSeries);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Calculate length of singing
|
||||
int stop = (lines.Line[lines.Line.Length - 1].LastNoteBeat - lines.Line[0].FirstNoteBeat) / 2;
|
||||
|
||||
//Check if stop is in series
|
||||
for (int i = 0; i < series.Count; i++)
|
||||
{
|
||||
if (lines.Line[series[i].start].FirstNoteBeat < stop && lines.Line[series[i].end].LastNoteBeat > stop)
|
||||
{
|
||||
if (stop < (lines.Line[series[i].start].FirstNoteBeat + ((lines.Line[series[i].end].LastNoteBeat - lines.Line[series[i].start].FirstNoteBeat) / 2)))
|
||||
{
|
||||
this.ShortEnd = lines.Line[series[i].start-1].LastNote.EndBeat;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.ShortEnd = lines.Line[series[i].end].LastNote.EndBeat;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Check if stop is in line
|
||||
for (int i = 0; i < lines.Line.Length; i++)
|
||||
{
|
||||
if (lines.Line[i].FirstNoteBeat < stop && lines.Line[i].LastNoteBeat > stop)
|
||||
{
|
||||
this.ShortEnd = lines.Line[i].LastNoteBeat;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
ShortEnd = stop;
|
||||
|
||||
}
|
||||
|
||||
public object Clone()
|
||||
{
|
||||
return base.MemberwiseClone();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -804,7 +804,7 @@ namespace Vocaluxe.Lib.Sound
|
||||
{
|
||||
AL.GetSource(_source, ALGetSourcei.BuffersProcessed, out processed_count);
|
||||
doit = false;
|
||||
Console.WriteLine("Buffers Prozessed on Stream " + _source.ToString() + " = " + processed_count.ToString());
|
||||
Console.WriteLine("Buffers Processed on Stream " + _source.ToString() + " = " + processed_count.ToString());
|
||||
if (processed_count < 1)
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,11 @@ namespace Vocaluxe.Menu
|
||||
|
||||
public SColorF Color;
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
#region Constructors
|
||||
public CBackground()
|
||||
{
|
||||
|
||||
@@ -42,8 +42,19 @@ namespace Vocaluxe.Menu
|
||||
public float SReflectionSpace;
|
||||
public float SReflectionHeight;
|
||||
|
||||
private bool _Selected;
|
||||
public bool Pressed;
|
||||
|
||||
public bool EditMode
|
||||
{
|
||||
get { return Text.EditMode; }
|
||||
set
|
||||
{
|
||||
Text.EditMode = value;
|
||||
SText.EditMode = value;
|
||||
}
|
||||
}
|
||||
|
||||
private bool _Selected;
|
||||
public bool Selected
|
||||
{
|
||||
get { return _Selected; }
|
||||
@@ -55,6 +66,11 @@ namespace Vocaluxe.Menu
|
||||
}
|
||||
public bool Visible;
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
public CButton()
|
||||
{
|
||||
_Theme = new SThemeButton();
|
||||
@@ -67,6 +83,7 @@ namespace Vocaluxe.Menu
|
||||
SText = new CText();
|
||||
Selected = false;
|
||||
Visible = true;
|
||||
EditMode = false;
|
||||
|
||||
Reflection = false;
|
||||
ReflectionSpace = 0f;
|
||||
@@ -284,6 +301,11 @@ namespace Vocaluxe.Menu
|
||||
}
|
||||
}
|
||||
|
||||
public void ProcessMouseMove(int x, int y)
|
||||
{
|
||||
Selected = CHelper.IsInBounds(Rect, x, y);
|
||||
}
|
||||
|
||||
public void UnloadTextures()
|
||||
{
|
||||
Text.UnloadTextures();
|
||||
|
||||
@@ -47,6 +47,11 @@ namespace Vocaluxe.Menu
|
||||
public bool Visible;
|
||||
public bool ScreenHandles;
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
private float[] _Bars;
|
||||
|
||||
public CEqualizer()
|
||||
|
||||
@@ -15,7 +15,8 @@ namespace Vocaluxe.Menu
|
||||
TLyric,
|
||||
TSingNote,
|
||||
TNameSelection,
|
||||
TEqualizer
|
||||
TEqualizer,
|
||||
TPlaylist
|
||||
}
|
||||
|
||||
class CInteraction
|
||||
@@ -44,7 +45,8 @@ namespace Vocaluxe.Menu
|
||||
_Type == EType.TSongMenu ||
|
||||
_Type == EType.TLyric ||
|
||||
_Type == EType.TSingNote ||
|
||||
_Type == EType.TEqualizer);
|
||||
_Type == EType.TEqualizer ||
|
||||
_Type == EType.TPlaylist);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,11 @@ namespace Vocaluxe.Menu
|
||||
|
||||
private float _Alpha = 1f;
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
public SRectF Rect
|
||||
{
|
||||
get { return new SRectF(_X, _Y, _MaxW, _H, _Z); }
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace Vocaluxe.Menu
|
||||
private List<CSingNotes> _SingNotes;
|
||||
private List<CNameSelection> _NameSelections;
|
||||
private List<CEqualizer> _Equalizers;
|
||||
private List<CPlaylist> _Playlists;
|
||||
|
||||
private Hashtable _htBackgrounds;
|
||||
private Hashtable _htStatics;
|
||||
@@ -48,6 +49,7 @@ namespace Vocaluxe.Menu
|
||||
private Hashtable _htSingNotes;
|
||||
private Hashtable _htNameSelections;
|
||||
private Hashtable _htEqualizers;
|
||||
private Hashtable _htPlaylists;
|
||||
|
||||
|
||||
private int _PrevMouseX;
|
||||
@@ -70,6 +72,7 @@ namespace Vocaluxe.Menu
|
||||
protected string[] _ThemeSingNotes;
|
||||
protected string[] _ThemeNameSelections;
|
||||
protected string[] _ThemeEqualizers;
|
||||
protected string[] _ThemePlaylists;
|
||||
|
||||
protected SRectF _ScreenArea;
|
||||
|
||||
@@ -103,6 +106,7 @@ namespace Vocaluxe.Menu
|
||||
_SingNotes = new List<CSingNotes>();
|
||||
_NameSelections = new List<CNameSelection>();
|
||||
_Equalizers = new List<CEqualizer>();
|
||||
_Playlists = new List<CPlaylist>();
|
||||
|
||||
_htBackgrounds = new Hashtable();
|
||||
_htStatics = new Hashtable();
|
||||
@@ -114,6 +118,7 @@ namespace Vocaluxe.Menu
|
||||
_htSingNotes = new Hashtable();
|
||||
_htNameSelections = new Hashtable();
|
||||
_htEqualizers = new Hashtable();
|
||||
_htPlaylists = new Hashtable();
|
||||
|
||||
_PrevMouseX = 0;
|
||||
_PrevMouseY = 0;
|
||||
@@ -135,6 +140,7 @@ namespace Vocaluxe.Menu
|
||||
_ThemeSingNotes = null;
|
||||
_ThemeNameSelections = null;
|
||||
_ThemeEqualizers = null;
|
||||
_ThemePlaylists = null;
|
||||
|
||||
}
|
||||
#region ThemeHandler
|
||||
@@ -333,6 +339,22 @@ namespace Vocaluxe.Menu
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (_ThemePlaylists != null)
|
||||
{
|
||||
for (int i = 0; i < _ThemePlaylists.Length; i++)
|
||||
{
|
||||
CPlaylist pls = new CPlaylist();
|
||||
if (pls.LoadTheme("//root/" + _ThemeName, _ThemePlaylists[i], navigator, SkinIndex))
|
||||
{
|
||||
_htPlaylists.Add(_ThemePlaylists[i], AddPlaylist(pls));
|
||||
}
|
||||
else
|
||||
{
|
||||
CLog.LogError("Can't load Playlist \"" + _ThemePlaylists[i] + "\" in screen " + _ThemeName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -414,6 +436,12 @@ namespace Vocaluxe.Menu
|
||||
_Equalizers[i].SaveTheme(writer);
|
||||
}
|
||||
|
||||
//Playlists
|
||||
for (int i = 0; i < _Playlists.Count; i++)
|
||||
{
|
||||
_Playlists[i].SaveTheme(writer);
|
||||
}
|
||||
|
||||
writer.WriteEndElement();
|
||||
|
||||
// End of File
|
||||
@@ -475,6 +503,11 @@ namespace Vocaluxe.Menu
|
||||
{
|
||||
eq.ReloadTextures();
|
||||
}
|
||||
|
||||
foreach (CPlaylist pls in _Playlists)
|
||||
{
|
||||
pls.ReloadTextures();
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void UnloadTextures()
|
||||
@@ -523,6 +556,10 @@ namespace Vocaluxe.Menu
|
||||
{
|
||||
ns.UnloadTextures();
|
||||
}
|
||||
foreach (CPlaylist pls in _Playlists)
|
||||
{
|
||||
pls.UnloadTextures();
|
||||
}
|
||||
|
||||
foreach (CEqualizer eq in _Equalizers)
|
||||
{
|
||||
@@ -589,6 +626,11 @@ namespace Vocaluxe.Menu
|
||||
{
|
||||
return _Equalizers;
|
||||
}
|
||||
|
||||
public List<CPlaylist> GetPlaylists()
|
||||
{
|
||||
return _Playlists;
|
||||
}
|
||||
#endregion GetLists
|
||||
|
||||
#region ElementHandler
|
||||
@@ -672,6 +714,14 @@ namespace Vocaluxe.Menu
|
||||
return _Equalizers.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public CPlaylist[] Playlists
|
||||
{
|
||||
get
|
||||
{
|
||||
return _Playlists.ToArray();
|
||||
}
|
||||
}
|
||||
#endregion Get Arrays
|
||||
|
||||
#region Hashtables
|
||||
@@ -804,6 +854,19 @@ namespace Vocaluxe.Menu
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
public int htPlaylists(string key)
|
||||
{
|
||||
try
|
||||
{
|
||||
return (int)_htPlaylists[key];
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
CLog.LogError("Can't find Playlist Element \"" + key + "\" in Screen " + _ThemeName);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
#endregion Hashtables
|
||||
#endregion ElementHandler
|
||||
|
||||
@@ -815,22 +878,22 @@ namespace Vocaluxe.Menu
|
||||
if (KeyEvent.Key == Keys.Left)
|
||||
{
|
||||
if (_Interactions.Count > 0 && _Interactions[_Selection].Type == EType.TSelectSlide && KeyEvent.Mod != Modifier.Shift)
|
||||
PrevElement();
|
||||
KeyEvent.Handled = PrevElement();
|
||||
else
|
||||
_NextInteraction(KeyEvent);
|
||||
KeyEvent.Handled = _NextInteraction(KeyEvent);
|
||||
}
|
||||
|
||||
if (KeyEvent.Key == Keys.Right)
|
||||
{
|
||||
if (_Interactions.Count > 0 && _Interactions[_Selection].Type == EType.TSelectSlide && KeyEvent.Mod != Modifier.Shift)
|
||||
NextElement();
|
||||
KeyEvent.Handled = NextElement();
|
||||
else
|
||||
_NextInteraction(KeyEvent);
|
||||
KeyEvent.Handled = _NextInteraction(KeyEvent);
|
||||
}
|
||||
|
||||
if (KeyEvent.Key == Keys.Up || KeyEvent.Key == Keys.Down)
|
||||
{
|
||||
_NextInteraction(KeyEvent);
|
||||
KeyEvent.Handled = _NextInteraction(KeyEvent);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1063,7 +1126,8 @@ namespace Vocaluxe.Menu
|
||||
_Interactions[i].Type == EType.TNameSelection ||
|
||||
_Interactions[i].Type == EType.TText ||
|
||||
_Interactions[i].Type == EType.TSongMenu ||
|
||||
_Interactions[i].Type == EType.TEqualizer))
|
||||
_Interactions[i].Type == EType.TEqualizer ||
|
||||
_Interactions[i].Type == EType.TPlaylist))
|
||||
{
|
||||
ZSort zs = new ZSort();
|
||||
zs.ID = i;
|
||||
@@ -1156,6 +1220,13 @@ namespace Vocaluxe.Menu
|
||||
_AddInteraction(_Equalizers.Count - 1, EType.TEqualizer);
|
||||
return _Equalizers.Count - 1;
|
||||
}
|
||||
|
||||
public int AddPlaylist(CPlaylist pls)
|
||||
{
|
||||
_Playlists.Add(pls);
|
||||
_AddInteraction(_Playlists.Count - 1, EType.TPlaylist);
|
||||
return _Playlists.Count - 1;
|
||||
}
|
||||
#endregion Elements
|
||||
|
||||
#region InteractionHandling
|
||||
@@ -1171,16 +1242,28 @@ namespace Vocaluxe.Menu
|
||||
_PrevInteraction();
|
||||
}
|
||||
|
||||
public void NextElement()
|
||||
/// <summary>
|
||||
/// Selects the next element in a menu interaction.
|
||||
/// </summary>
|
||||
/// <returns>True if the next element is selected. False if either there is no next element or the interaction does not provide such a method.</returns>
|
||||
public bool NextElement()
|
||||
{
|
||||
if (_Interactions.Count > 0)
|
||||
_NextElement();
|
||||
return _NextElement();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public void PrevElement()
|
||||
/// <summary>
|
||||
/// Selects the previous element in a menu interaction.
|
||||
/// </summary>
|
||||
/// <returns>True if the previous element is selected. False if either there is no next element or the interaction does not provide such a method.</returns>
|
||||
public bool PrevElement()
|
||||
{
|
||||
if (_Interactions.Count > 0)
|
||||
_PrevElement();
|
||||
return _PrevElement();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool SetInteractionToButton(CButton button)
|
||||
@@ -1308,6 +1391,10 @@ namespace Vocaluxe.Menu
|
||||
if (CHelper.IsInBounds(_Equalizers[interact.Num].Rect, x, y))
|
||||
return true;
|
||||
break;
|
||||
case EType.TPlaylist:
|
||||
if (CHelper.IsInBounds(_Playlists[interact.Num].Rect, x, y))
|
||||
return true;
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -1332,6 +1419,8 @@ namespace Vocaluxe.Menu
|
||||
return _NameSelections[interact.Num].Rect.Z;
|
||||
case EType.TEqualizer:
|
||||
return _Equalizers[interact.Num].Rect.Z;
|
||||
case EType.TPlaylist:
|
||||
return _Playlists[interact.Num].Rect.Z;
|
||||
}
|
||||
return CSettings.zFar;
|
||||
}
|
||||
@@ -1363,6 +1452,9 @@ namespace Vocaluxe.Menu
|
||||
|
||||
case EType.TEqualizer:
|
||||
return _Equalizers[_Interactions[interaction].Num].Rect.Z;
|
||||
|
||||
case EType.TPlaylist:
|
||||
return _Playlists[_Interactions[interaction].Num].Rect.Z;
|
||||
}
|
||||
|
||||
return CSettings.zFar;
|
||||
@@ -1422,7 +1514,12 @@ namespace Vocaluxe.Menu
|
||||
_SetSelected();
|
||||
}
|
||||
|
||||
private void _NextInteraction(KeyEvent Key)
|
||||
/// <summary>
|
||||
/// Selects the next best interaction in a menu.
|
||||
/// </summary>
|
||||
/// <param name="Key"></param>
|
||||
/// <returns></returns>
|
||||
private bool _NextInteraction(KeyEvent Key)
|
||||
{
|
||||
KeyEvent[] Directions = new KeyEvent[4];
|
||||
float[] Distances = new float[4];
|
||||
@@ -1488,8 +1585,11 @@ namespace Vocaluxe.Menu
|
||||
_Selection = element;
|
||||
_SetSelected();
|
||||
_SetHighlighted(_Selection);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private int _GetNextElement(KeyEvent Key, out float Distance, out int Stage)
|
||||
@@ -1581,22 +1681,22 @@ namespace Vocaluxe.Menu
|
||||
switch (Key.Key)
|
||||
{
|
||||
case Keys.Up:
|
||||
if (vector.Y < 0f && (targetRect.X + targetRect.W > actualRect.X || actualRect.X + actualRect.W > targetRect.X))
|
||||
if (vector.Y < 0f && (targetRect.X + targetRect.W > actualRect.X && actualRect.X + actualRect.W > targetRect.X))
|
||||
inDirection = true;
|
||||
break;
|
||||
|
||||
case Keys.Down:
|
||||
if (vector.Y > 0f && (targetRect.X + targetRect.W > actualRect.X || actualRect.X + actualRect.W > targetRect.X))
|
||||
if (vector.Y > 0f && (targetRect.X + targetRect.W > actualRect.X && actualRect.X + actualRect.W > targetRect.X))
|
||||
inDirection = true;
|
||||
break;
|
||||
|
||||
case Keys.Left:
|
||||
if (vector.X < 0f && (targetRect.Y + targetRect.H > actualRect.Y || actualRect.Y + actualRect.H > targetRect.Y))
|
||||
if (vector.X < 0f && (targetRect.Y + targetRect.H > actualRect.Y && actualRect.Y + actualRect.H > targetRect.Y))
|
||||
inDirection = true;
|
||||
break;
|
||||
|
||||
case Keys.Right:
|
||||
if (vector.X > 0f && (targetRect.Y + targetRect.H > actualRect.Y || actualRect.Y + actualRect.H > targetRect.Y))
|
||||
if (vector.X > 0f && (targetRect.Y + targetRect.H > actualRect.Y && actualRect.Y + actualRect.H > targetRect.Y))
|
||||
inDirection = true;
|
||||
break;
|
||||
|
||||
@@ -1648,16 +1748,30 @@ namespace Vocaluxe.Menu
|
||||
return distance;
|
||||
}
|
||||
|
||||
private void _NextElement()
|
||||
/// <summary>
|
||||
/// Selects the next element in a menu interaction.
|
||||
/// </summary>
|
||||
/// <returns>True if the next element is selected. False if either there is no next element or the interaction does not provide such a method.</returns>
|
||||
private bool _NextElement()
|
||||
{
|
||||
if (_Interactions[_Selection].Type == EType.TSelectSlide)
|
||||
_SelectSlides[_Interactions[_Selection].Num].NextValue();
|
||||
return _SelectSlides[_Interactions[_Selection].Num].NextValue();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void _PrevElement()
|
||||
/// <summary>
|
||||
/// Selects the previous element in a menu interaction.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// True if the previous element is selected. False if either there is no previous element or the interaction does not provide such a method.
|
||||
/// </returns>
|
||||
private bool _PrevElement()
|
||||
{
|
||||
if (_Interactions[_Selection].Type == EType.TSelectSlide)
|
||||
_SelectSlides[_Interactions[_Selection].Num].PrevValue();
|
||||
return _SelectSlides[_Interactions[_Selection].Num].PrevValue();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void _SetSelected()
|
||||
@@ -1688,6 +1802,9 @@ namespace Vocaluxe.Menu
|
||||
case EType.TEqualizer:
|
||||
_Equalizers[_Interactions[_Selection].Num].Selected = true;
|
||||
break;
|
||||
case EType.TPlaylist:
|
||||
_Playlists[_Interactions[_Selection].Num].Selected = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1719,6 +1836,9 @@ namespace Vocaluxe.Menu
|
||||
case EType.TEqualizer:
|
||||
_Equalizers[_Interactions[_Selection].Num].Selected = false;
|
||||
break;
|
||||
case EType.TPlaylist:
|
||||
_Playlists[_Interactions[_Selection].Num].Selected = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1750,6 +1870,9 @@ namespace Vocaluxe.Menu
|
||||
case EType.TNameSelection:
|
||||
//_NameSelections[_Interactions[selection].Num].Selected = true;
|
||||
break;
|
||||
case EType.TPlaylist:
|
||||
//_Playlists[_Interactions[_Selection].Num].Selected = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1781,6 +1904,9 @@ namespace Vocaluxe.Menu
|
||||
case EType.TNameSelection:
|
||||
//_NameSelections[_Interactions[selection].Num].Selected = false;
|
||||
break;
|
||||
case EType.TPlaylist:
|
||||
//_Playlists[_Interactions[_Selection].Num].Selected = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1833,6 +1959,9 @@ namespace Vocaluxe.Menu
|
||||
|
||||
case EType.TEqualizer:
|
||||
return _Equalizers[_Interactions[interaction].Num].Visible;
|
||||
|
||||
case EType.TPlaylist:
|
||||
return _Playlists[_Interactions[interaction].Num].Visible;
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -1866,6 +1995,9 @@ namespace Vocaluxe.Menu
|
||||
|
||||
case EType.TEqualizer:
|
||||
return _Equalizers[_Interactions[interaction].Num].Rect;
|
||||
|
||||
case EType.TPlaylist:
|
||||
return _Playlists[_Interactions[interaction].Num].Rect;
|
||||
}
|
||||
|
||||
return Result;
|
||||
@@ -1916,6 +2048,10 @@ namespace Vocaluxe.Menu
|
||||
//_Equalizers[_Interactions[interaction].Num].Draw();
|
||||
}
|
||||
break;
|
||||
|
||||
case EType.TPlaylist:
|
||||
_Playlists[_Interactions[interaction].Num].Draw();
|
||||
break;
|
||||
|
||||
//TODO:
|
||||
//case EType.TLyric:
|
||||
@@ -1960,6 +2096,10 @@ namespace Vocaluxe.Menu
|
||||
case EType.TNameSelection:
|
||||
_NameSelections[_Interactions[_Selection].Num].MoveElement(stepX, stepY);
|
||||
break;
|
||||
|
||||
case EType.TPlaylist:
|
||||
_Playlists[_Interactions[_Selection].Num].MoveElement(stepX, stepY);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1997,6 +2137,10 @@ namespace Vocaluxe.Menu
|
||||
case EType.TNameSelection:
|
||||
_NameSelections[_Interactions[_Selection].Num].ResizeElement(stepW, stepH);
|
||||
break;
|
||||
|
||||
case EType.TPlaylist:
|
||||
_Playlists[_Interactions[_Selection].Num].ResizeElement(stepW, stepH);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,6 +49,11 @@ namespace Vocaluxe.Menu
|
||||
private SThemeNameSelection _Theme;
|
||||
private bool _ThemeLoaded;
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
public bool Selected = false;
|
||||
public bool Visible = true;
|
||||
|
||||
|
||||
@@ -38,11 +38,16 @@ namespace Vocaluxe.Menu
|
||||
public EStyle TextStyle;
|
||||
}
|
||||
|
||||
class CSelectSlide : IMenuElement
|
||||
class CSelectSlide : IMenuElement, ICloneable
|
||||
{
|
||||
private SThemeSelectSlide _Theme;
|
||||
private bool _ThemeLoaded;
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
public SRectF Rect;
|
||||
public SRectF RectArrowLeft;
|
||||
public SRectF RectArrowRight;
|
||||
@@ -112,6 +117,14 @@ namespace Vocaluxe.Menu
|
||||
}
|
||||
}
|
||||
|
||||
public int NumValues
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ValueNames.Count;
|
||||
}
|
||||
}
|
||||
|
||||
private int _NumVisible = -1;
|
||||
public int NumVisible
|
||||
{
|
||||
@@ -151,6 +164,56 @@ namespace Vocaluxe.Menu
|
||||
_ValueNames = new List<string>();
|
||||
}
|
||||
|
||||
public CSelectSlide(CSelectSlide slide)
|
||||
{
|
||||
_Theme = new SThemeSelectSlide();
|
||||
|
||||
_Theme.TextureArrowLeftName = slide._Theme.TextureArrowLeftName;
|
||||
_Theme.TextureArrowRightName = slide._Theme.TextureArrowRightName;
|
||||
|
||||
_Theme.STextureName = slide._Theme.STextureName;
|
||||
_Theme.STextureArrowLeftName = slide._Theme.STextureArrowLeftName;
|
||||
_Theme.STextureArrowRightName = slide._Theme.STextureArrowRightName;
|
||||
|
||||
_Theme.HTextureName = slide._Theme.HTextureName;
|
||||
|
||||
_Theme.ColorName = slide._Theme.ColorName;
|
||||
_Theme.SColorName = slide._Theme.SColorName;
|
||||
_Theme.HColorName = slide._Theme.HColorName;
|
||||
|
||||
_Theme.ArrowColorName = slide._Theme.ArrowColorName;
|
||||
_Theme.SArrowColorName = slide._Theme.SArrowColorName;
|
||||
|
||||
_Theme.TextColorName = slide._Theme.TextColorName;
|
||||
_Theme.STextColorName = slide._Theme.STextColorName;
|
||||
|
||||
_Theme.TextFont = slide._Theme.TextFont;
|
||||
_Theme.TextStyle = slide._Theme.TextStyle;
|
||||
|
||||
_ThemeLoaded = false;
|
||||
|
||||
Rect = new SRectF(slide.Rect);
|
||||
RectArrowLeft = new SRectF(slide.RectArrowLeft);
|
||||
RectArrowRight = new SRectF(slide.RectArrowRight);
|
||||
|
||||
Color = new SColorF(slide.Color);
|
||||
SColor = new SColorF(slide.SColor);
|
||||
|
||||
ColorArrow = new SColorF(slide.ColorArrow);
|
||||
SColorArrow = new SColorF(slide.SColorArrow);
|
||||
|
||||
TextColor = new SColorF(slide.TextColor);
|
||||
STextColor = new SColorF(slide.STextColor);
|
||||
TextH = slide.TextH;
|
||||
MaxW = slide.MaxW;
|
||||
|
||||
_Selected = false;
|
||||
_Textures = new List<STexture>();
|
||||
_ValueIndexes = new List<int>();
|
||||
_ValueNames = new List<string>();
|
||||
_NumVisible = slide._NumVisible;
|
||||
}
|
||||
|
||||
public bool LoadTheme(string XmlPath, string ElementName, XPathNavigator navigator, int SkinIndex)
|
||||
{
|
||||
string item = XmlPath + "/" + ElementName;
|
||||
@@ -746,6 +809,11 @@ namespace Vocaluxe.Menu
|
||||
LoadTextures();
|
||||
}
|
||||
|
||||
public object Clone()
|
||||
{
|
||||
return base.MemberwiseClone();
|
||||
}
|
||||
|
||||
#region ThemeEdit
|
||||
public void MoveElement(int stepX, int stepY)
|
||||
{
|
||||
|
||||
@@ -22,6 +22,11 @@ namespace Vocaluxe.Menu
|
||||
private SThemeStatic _Theme;
|
||||
private bool _ThemeLoaded;
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
private STexture _Texture;
|
||||
public STexture Texture
|
||||
{
|
||||
|
||||
@@ -41,6 +41,12 @@ namespace Vocaluxe.Menu
|
||||
{
|
||||
private SThemeText _Theme;
|
||||
private bool _ThemeLoaded;
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
private bool _ButtonText;
|
||||
private bool _PositionNeedsUpdate = true;
|
||||
|
||||
@@ -211,6 +217,7 @@ namespace Vocaluxe.Menu
|
||||
|
||||
public bool Selected;
|
||||
public bool Visible = true;
|
||||
public bool EditMode = false;
|
||||
|
||||
public float Alpha = 1f;
|
||||
|
||||
@@ -538,7 +545,7 @@ namespace Vocaluxe.Menu
|
||||
writer.WriteComment("<Font>: Text font name");
|
||||
writer.WriteElementString("Font", Fon);
|
||||
|
||||
writer.WriteComment("<Text>: Text or translation tag");
|
||||
writer.WriteComment("<Text>: Nothing or translation tag");
|
||||
if (CLanguage.TranslationExists(_Theme.Text))
|
||||
writer.WriteElementString("Text", _Theme.Text);
|
||||
else
|
||||
@@ -596,8 +603,10 @@ namespace Vocaluxe.Menu
|
||||
|
||||
SColorF color = new SColorF(CurrentColor.R, CurrentColor.G, CurrentColor.B, CurrentColor.A * Alpha);
|
||||
|
||||
|
||||
CFonts.DrawText(_Text, _DrawPosition.tH, _DrawPosition.X, _DrawPosition.Y, Z, color);
|
||||
if (!EditMode)
|
||||
CFonts.DrawText(_Text, _DrawPosition.tH, _DrawPosition.X, _DrawPosition.Y, Z, color);
|
||||
else
|
||||
CFonts.DrawText(_Text + "|", _DrawPosition.tH, _DrawPosition.X, _DrawPosition.Y, Z, color);
|
||||
|
||||
if (Reflection)
|
||||
{
|
||||
@@ -616,7 +625,10 @@ namespace Vocaluxe.Menu
|
||||
default:
|
||||
break;
|
||||
}
|
||||
CFonts.DrawTextReflection(_Text, _DrawPosition.tH, _DrawPosition.X, _DrawPosition.Y, Z, color, ReflectionSpace + sFactor, ReflectionHeight);
|
||||
if (!EditMode)
|
||||
CFonts.DrawTextReflection(_Text, _DrawPosition.tH, _DrawPosition.X, _DrawPosition.Y, Z, color, ReflectionSpace + sFactor, ReflectionHeight);
|
||||
else
|
||||
CFonts.DrawTextReflection(_Text + "|", _DrawPosition.tH, _DrawPosition.X, _DrawPosition.Y, Z, color, ReflectionSpace + sFactor, ReflectionHeight);
|
||||
}
|
||||
|
||||
if (Selected && (CSettings.GameState == EGameState.EditTheme))
|
||||
@@ -653,7 +665,11 @@ namespace Vocaluxe.Menu
|
||||
|
||||
CFonts.SetFont(Fon);
|
||||
CFonts.Style = Style;
|
||||
CFonts.DrawText(Text, Height, x, Y, Z, color, begin, end);
|
||||
|
||||
if (!EditMode)
|
||||
CFonts.DrawText(Text, Height, x, Y, Z, color, begin, end);
|
||||
else
|
||||
CFonts.DrawText(Text + "|", Height, x, Y, Z, color, begin, end);
|
||||
|
||||
if (Reflection)
|
||||
{
|
||||
@@ -732,13 +748,21 @@ namespace Vocaluxe.Menu
|
||||
|
||||
CFonts.SetFont(Fon);
|
||||
CFonts.Style = Style;
|
||||
CFonts.DrawText(_Text, h, x, y, Z, color);
|
||||
|
||||
if (!EditMode)
|
||||
CFonts.DrawText(_Text, h, x, y, Z, color);
|
||||
else
|
||||
CFonts.DrawText(_Text + "|", h, x, y, Z, color);
|
||||
|
||||
if (reflection)
|
||||
{
|
||||
float space = (rectHeight - Y - bounds.Height) * 2f + reflectionSpace;
|
||||
float height = reflectionHeight - (rectHeight - Y) + bounds.Height;
|
||||
CFonts.DrawTextReflection(_Text, h, x, y, Z, color, space, height);
|
||||
|
||||
if (!EditMode)
|
||||
CFonts.DrawTextReflection(_Text, h, x, y, Z, color, space, height);
|
||||
else
|
||||
CFonts.DrawTextReflection(_Text + "|", h, x, y, Z, color, space, height);
|
||||
}
|
||||
|
||||
if (Selected && (CSettings.GameState == EGameState.EditTheme))
|
||||
|
||||
@@ -8,6 +8,7 @@ namespace Vocaluxe.Menu
|
||||
{
|
||||
interface IMenuElement
|
||||
{
|
||||
string GetThemeName();
|
||||
bool LoadTheme(string XmlPath, string ElementName, XPathNavigator navigator, int SkinIndex);
|
||||
bool SaveTheme(XmlWriter writer);
|
||||
|
||||
|
||||
@@ -75,6 +75,11 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
_ActID = 0;
|
||||
}
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
public bool LoadTheme(string XmlPath, string ElementName, XPathNavigator navigator, int SkinIndex)
|
||||
{
|
||||
string item = XmlPath + "/" + ElementName;
|
||||
@@ -304,7 +309,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
float h = _PlayerNotes[n].Rect.H;
|
||||
float dh = h / CSettings.NumNoteLines * (2f - (int)CGame.Player[_PlayerNotes[n].PlayerNr].Difficulty) / 4f;
|
||||
|
||||
float beats = Line.LastBeat - Line.FirstBeat + 1;
|
||||
float beats = Line.LastNoteBeat - Line.FirstNoteBeat + 1;
|
||||
|
||||
if (beats == 0)
|
||||
return;
|
||||
@@ -324,7 +329,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
float width = note.Duration / beats * w;
|
||||
|
||||
SRectF rect = new SRectF(
|
||||
_PlayerNotes[n].Rect.X + (note.StartBeat - Line.FirstBeat) / beats * w,
|
||||
_PlayerNotes[n].Rect.X + (note.StartBeat - Line.FirstNoteBeat) / beats * w,
|
||||
_PlayerNotes[n].Rect.Y + (CSettings.NumNoteLines - 1 - (note.Tone - BaseLine)/2) / CSettings.NumNoteLines * h - dh,
|
||||
width,
|
||||
h / CSettings.NumNoteLines + 2 * dh,
|
||||
@@ -344,7 +349,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
|
||||
if (CConfig.DrawToneHelper == EOffOn.TR_CONFIG_ON)
|
||||
{
|
||||
DrawToneHelper(n, (int)BaseLine, (CGame.MidBeatD - Line.FirstBeat) / beats * w);
|
||||
DrawToneHelper(n, (int)BaseLine, (CGame.MidBeatD - Line.FirstNoteBeat) / beats * w);
|
||||
}
|
||||
|
||||
int i = 0;
|
||||
@@ -377,7 +382,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
|
||||
foreach (CNote note in SingLine[CGame.Player[Player].CurrentLine].Notes)
|
||||
{
|
||||
if (note.StartBeat >= Line.FirstBeat && note.EndBeat <= Line.LastBeat)
|
||||
if (note.StartBeat >= Line.FirstNoteBeat && note.EndBeat <= Line.LastNoteBeat)
|
||||
{
|
||||
float width = note.Duration / beats * w;
|
||||
|
||||
@@ -385,7 +390,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
width -= (1 - (CGame.MidBeatD - CGame.ActBeatD)) / beats * w;
|
||||
|
||||
SRectF rect = new SRectF(
|
||||
_PlayerNotes[n].Rect.X + (note.StartBeat - Line.FirstBeat) / beats * w,
|
||||
_PlayerNotes[n].Rect.X + (note.StartBeat - Line.FirstNoteBeat) / beats * w,
|
||||
_PlayerNotes[n].Rect.Y + (CSettings.NumNoteLines - 1 - (note.Tone - BaseLine)/2) / CSettings.NumNoteLines * h - dh,
|
||||
width,
|
||||
h / CSettings.NumNoteLines + 2 * dh,
|
||||
|
||||
@@ -73,6 +73,16 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_SongMenu.Draw();
|
||||
}
|
||||
|
||||
public bool IsActive()
|
||||
{
|
||||
return _SongMenu.IsActive();
|
||||
}
|
||||
|
||||
public void SetActive(bool Active)
|
||||
{
|
||||
_SongMenu.SetActive(Active);
|
||||
}
|
||||
|
||||
public int GetSelectedSong()
|
||||
{
|
||||
return _SongMenu.GetSelectedSong();
|
||||
@@ -118,9 +128,24 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
return _SongMenu.GetRect();
|
||||
}
|
||||
|
||||
public bool IsSmallView()
|
||||
{
|
||||
return _SongMenu.IsSmallView();
|
||||
}
|
||||
|
||||
public void SetSmallView(bool SmallView)
|
||||
{
|
||||
_SongMenu.SetSmallView(SmallView);
|
||||
}
|
||||
|
||||
#endregion ISongMenu
|
||||
|
||||
#region IMenuElement
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _SongMenu.GetThemeName();
|
||||
}
|
||||
|
||||
public bool LoadTheme(string XmlPath, string ElementName, XPathNavigator navigator, int SkinIndex)
|
||||
{
|
||||
return _SongMenu.LoadTheme(XmlPath, ElementName, navigator, SkinIndex);
|
||||
|
||||
@@ -20,6 +20,9 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
public string DuetIconName;
|
||||
public string VideoIconName;
|
||||
|
||||
public string MedleyCalcIcon;
|
||||
public string MedleyTagIcon;
|
||||
|
||||
public string ColorName;
|
||||
|
||||
//public SThemeSongMenuBook songMenuBook;
|
||||
@@ -52,6 +55,16 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
/// </summary>
|
||||
public int numH;
|
||||
|
||||
/// <summary>
|
||||
/// Number of tiles horizontal in small-modus
|
||||
/// </summary>
|
||||
public int numWsmall;
|
||||
|
||||
/// <summary>
|
||||
/// Number of tiles vertical in small-modus
|
||||
/// </summary>
|
||||
public int numHsmall;
|
||||
|
||||
/// <summary>
|
||||
/// Space between tiles horizontal
|
||||
/// </summary>
|
||||
@@ -63,6 +76,7 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
public float spaceH;
|
||||
|
||||
public SRectF TileRect;
|
||||
public SRectF TileRectSmall;
|
||||
|
||||
public CText TextArtist;
|
||||
public CText TextTitle;
|
||||
@@ -72,6 +86,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
public CStatic StaticTextBG;
|
||||
public CStatic StaticDuetIcon;
|
||||
public CStatic StaticVideoIcon;
|
||||
public CStatic StaticMedleyCalcIcon;
|
||||
public CStatic StaticMedleyTagIcon;
|
||||
}
|
||||
|
||||
abstract class CSongMenuFramework : ISongMenu
|
||||
@@ -99,6 +115,7 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
protected long _PendingTime = 500L;
|
||||
|
||||
private int _LockedInternal = -1;
|
||||
protected bool _Active = false;
|
||||
|
||||
protected int _PreviewSelected //for preview only
|
||||
{
|
||||
@@ -201,6 +218,7 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
public void SetSelected(bool Selected)
|
||||
{
|
||||
_Selected = Selected;
|
||||
SetActive(Selected);
|
||||
}
|
||||
|
||||
public bool IsVisible()
|
||||
@@ -225,10 +243,17 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_Theme.songMenuTileBoard.StaticTextBG = new CStatic();
|
||||
_Theme.songMenuTileBoard.StaticDuetIcon = new CStatic();
|
||||
_Theme.songMenuTileBoard.StaticVideoIcon = new CStatic();
|
||||
_Theme.songMenuTileBoard.StaticMedleyCalcIcon = new CStatic();
|
||||
_Theme.songMenuTileBoard.StaticMedleyTagIcon = new CStatic();
|
||||
|
||||
_ThemeLoaded = false;
|
||||
}
|
||||
|
||||
public string GetThemeName()
|
||||
{
|
||||
return _Theme.Name;
|
||||
}
|
||||
|
||||
public bool LoadTheme(string XmlPath, string ElementName, XPathNavigator navigator, int SkinIndex)
|
||||
{
|
||||
string item = XmlPath + "/" + ElementName;
|
||||
@@ -238,13 +263,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_ThemeLoaded &= CHelper.GetValueFromXML(item + "/CoverBigBackground", navigator, ref _Theme.CoverBigBackgroundName, String.Empty);
|
||||
_ThemeLoaded &= CHelper.GetValueFromXML(item + "/DuetIcon", navigator, ref _Theme.DuetIconName, String.Empty);
|
||||
_ThemeLoaded &= CHelper.GetValueFromXML(item + "/VideoIcon", navigator, ref _Theme.VideoIconName, String.Empty);
|
||||
|
||||
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/X", navigator, ref _Rect.X);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/Y", navigator, ref _Rect.Y);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/Z", navigator, ref _Rect.Z);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/W", navigator, ref _Rect.W);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/H", navigator, ref _Rect.H);
|
||||
_ThemeLoaded &= CHelper.GetValueFromXML(item + "/MedleyCalcIcon", navigator, ref _Theme.MedleyCalcIcon, String.Empty);
|
||||
_ThemeLoaded &= CHelper.GetValueFromXML(item + "/MedleyTagIcon", navigator, ref _Theme.MedleyTagIcon, String.Empty);
|
||||
|
||||
if (CHelper.GetValueFromXML(item + "/Color", navigator, ref _Theme.ColorName, String.Empty))
|
||||
{
|
||||
@@ -264,6 +284,9 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/SpaceW", navigator, ref _Theme.songMenuTileBoard.spaceW);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/SpaceH", navigator, ref _Theme.songMenuTileBoard.spaceH);
|
||||
|
||||
_ThemeLoaded &= CHelper.TryGetIntValueFromXML(item + "/SongMenuTileBoard/NumWsmall", navigator, ref _Theme.songMenuTileBoard.numWsmall);
|
||||
_ThemeLoaded &= CHelper.TryGetIntValueFromXML(item + "/SongMenuTileBoard/NumHsmall", navigator, ref _Theme.songMenuTileBoard.numHsmall);
|
||||
|
||||
_ThemeLoaded &= _Theme.songMenuTileBoard.TextArtist.LoadTheme(item + "/SongMenuTileBoard", "TextArtist", navigator, SkinIndex);
|
||||
_ThemeLoaded &= _Theme.songMenuTileBoard.TextTitle.LoadTheme(item + "/SongMenuTileBoard", "TextTitle", navigator, SkinIndex);
|
||||
_ThemeLoaded &= _Theme.songMenuTileBoard.TextSongLength.LoadTheme(item + "/SongMenuTileBoard", "TextSongLength", navigator, SkinIndex);
|
||||
@@ -272,6 +295,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_ThemeLoaded &= _Theme.songMenuTileBoard.StaticTextBG.LoadTheme(item + "/SongMenuTileBoard", "StaticTextBG", navigator, SkinIndex);
|
||||
_ThemeLoaded &= _Theme.songMenuTileBoard.StaticDuetIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticDuetIcon", navigator, SkinIndex);
|
||||
_ThemeLoaded &= _Theme.songMenuTileBoard.StaticVideoIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticVideoIcon", navigator, SkinIndex);
|
||||
_ThemeLoaded &= _Theme.songMenuTileBoard.StaticMedleyCalcIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticMedleyCalcIcon", navigator, SkinIndex);
|
||||
_ThemeLoaded &= _Theme.songMenuTileBoard.StaticMedleyTagIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticMedleyTagIcon", navigator, SkinIndex);
|
||||
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectX", navigator, ref _Theme.songMenuTileBoard.TileRect.X);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectY", navigator, ref _Theme.songMenuTileBoard.TileRect.Y);
|
||||
@@ -279,6 +304,12 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectW", navigator, ref _Theme.songMenuTileBoard.TileRect.W);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectH", navigator, ref _Theme.songMenuTileBoard.TileRect.H);
|
||||
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectSmallX", navigator, ref _Theme.songMenuTileBoard.TileRectSmall.X);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectSmallY", navigator, ref _Theme.songMenuTileBoard.TileRectSmall.Y);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectSmallZ", navigator, ref _Theme.songMenuTileBoard.TileRectSmall.Z);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectSmallW", navigator, ref _Theme.songMenuTileBoard.TileRectSmall.W);
|
||||
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectSmallH", navigator, ref _Theme.songMenuTileBoard.TileRectSmall.H);
|
||||
|
||||
#endregion SongMenuTileBoard
|
||||
|
||||
if (_ThemeLoaded)
|
||||
@@ -309,12 +340,11 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
writer.WriteComment("<VideoIcon>: Texture name of video icon");
|
||||
writer.WriteElementString("VideoIcon", _Theme.VideoIconName);
|
||||
|
||||
writer.WriteComment("<X>, <Y>, <Z>, <W>, <H>: SongMenu position, width and height");
|
||||
writer.WriteElementString("X", _Rect.X.ToString("#0"));
|
||||
writer.WriteElementString("Y", _Rect.Y.ToString("#0"));
|
||||
writer.WriteElementString("Z", _Rect.Z.ToString("#0.00"));
|
||||
writer.WriteElementString("W", _Rect.W.ToString("#0"));
|
||||
writer.WriteElementString("H", _Rect.H.ToString("#0"));
|
||||
writer.WriteComment("<MedleyCalcIcon>: Texture name of medley calc (calculated) icon");
|
||||
writer.WriteElementString("MedleyCalcIcon", _Theme.MedleyCalcIcon);
|
||||
|
||||
writer.WriteComment("<MedleyTagIcon>: Texture name of medley tag (manuelly set) icon");
|
||||
writer.WriteElementString("MedleyTagIcon", _Theme.MedleyTagIcon);
|
||||
|
||||
writer.WriteComment("<Color>: Tile color from ColorScheme (high priority)");
|
||||
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
|
||||
@@ -346,6 +376,12 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
writer.WriteComment("<SpaceH>: Space between tiles vertical");
|
||||
writer.WriteElementString("SpaceH", _Theme.songMenuTileBoard.spaceH.ToString("#0.00"));
|
||||
|
||||
writer.WriteComment("<NumWsmall>: Number of tiles horizontal in small-mode");
|
||||
writer.WriteElementString("NumWsmall", _Theme.songMenuTileBoard.numWsmall.ToString());
|
||||
|
||||
writer.WriteComment("<NumHsmall>: Number of tiles vertical in small-mode");
|
||||
writer.WriteElementString("NumHsmall", _Theme.songMenuTileBoard.numHsmall.ToString());
|
||||
|
||||
writer.WriteComment("<TileRectX>, <TileRectY>, <TileRectZ>, <TileRectW>, <TileRectH>: SongMenu position, width and height");
|
||||
writer.WriteElementString("TileRectX", _Theme.songMenuTileBoard.TileRect.X.ToString("#0"));
|
||||
writer.WriteElementString("TileRectY", _Theme.songMenuTileBoard.TileRect.Y.ToString("#0"));
|
||||
@@ -353,6 +389,13 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
writer.WriteElementString("TileRectW", _Theme.songMenuTileBoard.TileRect.W.ToString("#0"));
|
||||
writer.WriteElementString("TileRectH", _Theme.songMenuTileBoard.TileRect.H.ToString("#0"));
|
||||
|
||||
writer.WriteComment("<TileRectSmallX>, <TileRectSmallY>, <TileRectSmallZ>, <TileRectSmallW>, <TileRectSmallH>: SongMenu position, width and height in small-mode");
|
||||
writer.WriteElementString("TileRectSmallX", _Theme.songMenuTileBoard.TileRectSmall.X.ToString("#0"));
|
||||
writer.WriteElementString("TileRectSmallY", _Theme.songMenuTileBoard.TileRectSmall.Y.ToString("#0"));
|
||||
writer.WriteElementString("TileRectSmallZ", _Theme.songMenuTileBoard.TileRectSmall.Z.ToString("#0.00"));
|
||||
writer.WriteElementString("TileRectSmallW", _Theme.songMenuTileBoard.TileRectSmall.W.ToString("#0"));
|
||||
writer.WriteElementString("TileRectSmallH", _Theme.songMenuTileBoard.TileRectSmall.H.ToString("#0"));
|
||||
|
||||
_Theme.songMenuTileBoard.TextArtist.SaveTheme(writer);
|
||||
_Theme.songMenuTileBoard.TextTitle.SaveTheme(writer);
|
||||
_Theme.songMenuTileBoard.TextSongLength.SaveTheme(writer);
|
||||
@@ -361,6 +404,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_Theme.songMenuTileBoard.StaticTextBG.SaveTheme(writer);
|
||||
_Theme.songMenuTileBoard.StaticDuetIcon.SaveTheme(writer);
|
||||
_Theme.songMenuTileBoard.StaticVideoIcon.SaveTheme(writer);
|
||||
_Theme.songMenuTileBoard.StaticMedleyCalcIcon.SaveTheme(writer);
|
||||
_Theme.songMenuTileBoard.StaticMedleyTagIcon.SaveTheme(writer);
|
||||
|
||||
writer.WriteEndElement();
|
||||
#endregion SongMenuTileBoard
|
||||
@@ -465,6 +510,16 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
|
||||
}
|
||||
|
||||
public virtual bool IsActive()
|
||||
{
|
||||
return _Active;
|
||||
}
|
||||
|
||||
public virtual void SetActive(bool Active)
|
||||
{
|
||||
_Active = Active;
|
||||
}
|
||||
|
||||
public virtual int GetSelectedSong()
|
||||
{
|
||||
return -1;
|
||||
@@ -481,6 +536,17 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
return;
|
||||
}
|
||||
|
||||
public virtual void SetSmallView(bool SmallView)
|
||||
{
|
||||
if (!_Initialized)
|
||||
return;
|
||||
}
|
||||
|
||||
public virtual bool IsSmallView()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual void UnloadTextures()
|
||||
{
|
||||
}
|
||||
@@ -491,14 +557,6 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
|
||||
if (_Theme.ColorName != String.Empty)
|
||||
_Color = CTheme.GetColor(_Theme.ColorName);
|
||||
|
||||
_Theme.songMenuTileBoard.StaticCoverBig.ReloadTextures();
|
||||
_Theme.songMenuTileBoard.StaticTextBG.ReloadTextures();
|
||||
_Theme.songMenuTileBoard.StaticDuetIcon.ReloadTextures();
|
||||
_Theme.songMenuTileBoard.StaticVideoIcon.ReloadTextures();
|
||||
|
||||
_Theme.songMenuTileBoard.TextArtist.ReloadTextures();
|
||||
_Theme.songMenuTileBoard.TextTitle.ReloadTextures();
|
||||
}
|
||||
|
||||
public void ReloadTextures()
|
||||
@@ -551,7 +609,13 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
|
||||
int _stream = CSound.Load(Path.Combine(CSongs.VisibleSongs[_actsong].Folder, CSongs.VisibleSongs[_actsong].MP3FileName), true);
|
||||
CSound.SetStreamVolume(_stream, 0f);
|
||||
CSound.SetPosition(_stream, CSound.GetLength(_stream) / 4f);
|
||||
|
||||
float startposition = CSongs.VisibleSongs[_actsong].PreviewStart;
|
||||
|
||||
if (startposition == 0f)
|
||||
startposition = CSound.GetLength(_stream) / 4f;
|
||||
|
||||
CSound.SetPosition(_stream, startposition);
|
||||
CSound.Play(_stream);
|
||||
CSound.Fade(_stream, 100f, 3f);
|
||||
_streams.Add(_stream);
|
||||
@@ -562,7 +626,7 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_video = CVideo.VdLoad(Path.Combine(CSongs.VisibleSongs[_actsong].Folder, CSongs.VisibleSongs[_actsong].VideoFileName));
|
||||
if (_video == -1)
|
||||
return;
|
||||
CVideo.VdSkip(_video, CSound.GetLength(_stream) / 4f, CSongs.VisibleSongs[_actsong].VideoGap);
|
||||
CVideo.VdSkip(_video, startposition, CSongs.VisibleSongs[_actsong].VideoGap);
|
||||
_VideoFadeTimer.Stop();
|
||||
_VideoFadeTimer.Reset();
|
||||
_VideoFadeTimer.Start();
|
||||
|
||||
@@ -18,6 +18,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
private CStatic _TextBG;
|
||||
private CStatic _DuetIcon;
|
||||
private CStatic _VideoIcon;
|
||||
private CStatic _MedleyCalcIcon;
|
||||
private CStatic _MedleyTagIcon;
|
||||
|
||||
private STexture _CoverBigTexture;
|
||||
private STexture _CoverTexture;
|
||||
@@ -38,6 +40,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
private int _Offset = 0;
|
||||
private int _actualSelection = -1;
|
||||
|
||||
private bool _SmallView = false;
|
||||
|
||||
public override int GetActualSelection()
|
||||
{
|
||||
return _actualSelection;
|
||||
@@ -47,6 +51,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
{
|
||||
base.Init();
|
||||
|
||||
_Rect = _Theme.songMenuTileBoard.TileRect;
|
||||
|
||||
_NumW = _Theme.songMenuTileBoard.numW;
|
||||
_NumH = _Theme.songMenuTileBoard.numH;
|
||||
_SpaceW = _Theme.songMenuTileBoard.spaceW;
|
||||
@@ -81,6 +87,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_TextBG = _Theme.songMenuTileBoard.StaticTextBG;
|
||||
_DuetIcon = _Theme.songMenuTileBoard.StaticDuetIcon;
|
||||
_VideoIcon = _Theme.songMenuTileBoard.StaticVideoIcon;
|
||||
_MedleyCalcIcon = _Theme.songMenuTileBoard.StaticMedleyCalcIcon;
|
||||
_MedleyTagIcon = _Theme.songMenuTileBoard.StaticMedleyTagIcon;
|
||||
|
||||
_Artist = _Theme.songMenuTileBoard.TextArtist;
|
||||
_Title = _Theme.songMenuTileBoard.TextTitle;
|
||||
@@ -113,6 +121,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_Locked = 0;
|
||||
_DuetIcon.Visible = false;
|
||||
_VideoIcon.Visible = false;
|
||||
_MedleyCalcIcon.Visible = false;
|
||||
_MedleyTagIcon.Visible = false;
|
||||
}
|
||||
|
||||
if (CSongs.NumVisibleSongs == 0 && CSongs.SearchFilter != String.Empty)
|
||||
@@ -125,6 +135,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_Locked = -1;
|
||||
_DuetIcon.Visible = false;
|
||||
_VideoIcon.Visible = false;
|
||||
_MedleyCalcIcon.Visible = false;
|
||||
_MedleyTagIcon.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,6 +150,11 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(KeyEvent.Key == Keys.Left || KeyEvent.Key == Keys.Right || KeyEvent.Key == Keys.Up || KeyEvent.Key == Keys.Down ||
|
||||
KeyEvent.Key == Keys.Escape || KeyEvent.Key == Keys.Back || KeyEvent.Key == Keys.Enter ||
|
||||
KeyEvent.Key == Keys.PageDown || KeyEvent.Key == Keys.PageUp))
|
||||
return;
|
||||
|
||||
bool sel = false;
|
||||
foreach (CStatic tile in _Tiles)
|
||||
{
|
||||
@@ -390,7 +407,7 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
{
|
||||
foreach (CStatic tile in _Tiles)
|
||||
{
|
||||
if (tile.Selected)
|
||||
if (tile.Selected && _Active)
|
||||
tile.Draw(1.2f, tile.Rect.Z - 0.1f, true, false);
|
||||
else
|
||||
{
|
||||
@@ -412,14 +429,9 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_Artist.Text = song.Artist;
|
||||
_Title.Text = song.Title;
|
||||
_DuetIcon.Visible = song.IsDuet;
|
||||
if (song.VideoFileName.Length > 0)
|
||||
{
|
||||
_VideoIcon.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
_VideoIcon.Visible = false;
|
||||
}
|
||||
_VideoIcon.Visible = song.VideoFileName.Length > 0;
|
||||
_MedleyCalcIcon.Visible = song.Medley.Source == EMedleySource.Calculated;
|
||||
_MedleyTagIcon.Visible = song.Medley.Source == EMedleySource.Tag;
|
||||
|
||||
float Time = CSound.GetLength(_SongStream);
|
||||
if (song.Finish != 0)
|
||||
@@ -448,6 +460,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_SongLength.Text = String.Empty;
|
||||
_DuetIcon.Visible = false;
|
||||
_VideoIcon.Visible = false;
|
||||
_MedleyCalcIcon.Visible = false;
|
||||
_MedleyTagIcon.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -475,6 +489,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_SongLength.Draw();
|
||||
_DuetIcon.Draw();
|
||||
_VideoIcon.Draw();
|
||||
_MedleyCalcIcon.Draw();
|
||||
_MedleyTagIcon.Draw();
|
||||
|
||||
}
|
||||
|
||||
@@ -653,6 +669,74 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_Offset = offset;
|
||||
}
|
||||
|
||||
public override void SetSmallView(bool SmallView)
|
||||
{
|
||||
base.SetSmallView(SmallView);
|
||||
|
||||
_SmallView = SmallView;
|
||||
|
||||
if (_SmallView)
|
||||
{
|
||||
_NumH = _Theme.songMenuTileBoard.numHsmall;
|
||||
_NumW = _Theme.songMenuTileBoard.numWsmall;
|
||||
|
||||
_TileW = (int)((_Theme.songMenuTileBoard.TileRectSmall.W - _SpaceW * (_NumW - 1)) / _NumW);
|
||||
_TileH = (int)((_Theme.songMenuTileBoard.TileRectSmall.H - _SpaceH * (_NumH - 1)) / _NumH);
|
||||
|
||||
_CoverTexture = CTheme.GetSkinTexture(_Theme.CoverBackgroundName);
|
||||
_CoverBigTexture = CTheme.GetSkinTexture(_Theme.CoverBigBackgroundName);
|
||||
|
||||
_Tiles = new List<CStatic>();
|
||||
for (int i = 0; i < _NumH; i++)
|
||||
{
|
||||
for (int j = 0; j < _NumW; j++)
|
||||
{
|
||||
SRectF rect = new SRectF(_Theme.songMenuTileBoard.TileRectSmall.X + j * (_TileW + _SpaceW),
|
||||
_Theme.songMenuTileBoard.TileRectSmall.Y + i * (_TileH + _SpaceH), _TileW, _TileH, _Rect.Z);
|
||||
CStatic tile = new CStatic(_CoverTexture, Color, rect);
|
||||
_Tiles.Add(tile);
|
||||
}
|
||||
}
|
||||
|
||||
_Rect = _Theme.songMenuTileBoard.TileRectSmall;
|
||||
_ScrollRect = new SRectF(0, 0, CSettings.iRenderW, CSettings.iRenderH, _Theme.songMenuTileBoard.TileRectSmall.Z);
|
||||
}
|
||||
else
|
||||
{
|
||||
_NumH = _Theme.songMenuTileBoard.numH;
|
||||
_NumW = _Theme.songMenuTileBoard.numW;
|
||||
|
||||
_TileW = (int)((_Theme.songMenuTileBoard.TileRect.W - _SpaceW * (_NumW - 1)) / _NumW);
|
||||
_TileH = (int)((_Theme.songMenuTileBoard.TileRect.H - _SpaceH * (_NumH - 1)) / _NumH);
|
||||
|
||||
_CoverTexture = CTheme.GetSkinTexture(_Theme.CoverBackgroundName);
|
||||
_CoverBigTexture = CTheme.GetSkinTexture(_Theme.CoverBigBackgroundName);
|
||||
|
||||
_Tiles = new List<CStatic>();
|
||||
for (int i = 0; i < _NumH; i++)
|
||||
{
|
||||
for (int j = 0; j < _NumW; j++)
|
||||
{
|
||||
SRectF rect = new SRectF(_Theme.songMenuTileBoard.TileRect.X + j * (_TileW + _SpaceW),
|
||||
_Theme.songMenuTileBoard.TileRect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, _Rect.Z);
|
||||
CStatic tile = new CStatic(_CoverTexture, Color, rect);
|
||||
_Tiles.Add(tile);
|
||||
}
|
||||
}
|
||||
|
||||
_Rect = _Theme.songMenuTileBoard.TileRect;
|
||||
_ScrollRect = new SRectF(0, 0, CSettings.iRenderW, CSettings.iRenderH, _Theme.songMenuTileBoard.TileRect.Z);
|
||||
}
|
||||
|
||||
UpdateList(_Offset);
|
||||
|
||||
}
|
||||
|
||||
public override bool IsSmallView()
|
||||
{
|
||||
return _SmallView;
|
||||
}
|
||||
|
||||
public override void LoadTextures()
|
||||
{
|
||||
base.LoadTextures();
|
||||
@@ -661,6 +745,8 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
_Theme.songMenuTileBoard.StaticTextBG.ReloadTextures();
|
||||
_Theme.songMenuTileBoard.StaticDuetIcon.ReloadTextures();
|
||||
_Theme.songMenuTileBoard.StaticVideoIcon.ReloadTextures();
|
||||
_Theme.songMenuTileBoard.StaticMedleyCalcIcon.ReloadTextures();
|
||||
_Theme.songMenuTileBoard.StaticMedleyTagIcon.ReloadTextures();
|
||||
|
||||
_Theme.songMenuTileBoard.TextArtist.ReloadTextures();
|
||||
_Theme.songMenuTileBoard.TextTitle.ReloadTextures();
|
||||
|
||||
@@ -20,6 +20,9 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
int GetSelectedSong();
|
||||
void SetSelectedSong(int VisibleSongNr);
|
||||
|
||||
bool IsActive();
|
||||
void SetActive(bool Active);
|
||||
|
||||
int GetSelectedCategory();
|
||||
int GetActualSelection();
|
||||
|
||||
@@ -29,6 +32,9 @@ namespace Vocaluxe.Menu.SongMenu
|
||||
bool IsVisible();
|
||||
void SetVisible(bool Visible);
|
||||
|
||||
bool IsSmallView();
|
||||
void SetSmallView(bool SmallView);
|
||||
|
||||
SRectF GetRect();
|
||||
}
|
||||
}
|
||||
@@ -217,9 +217,9 @@ namespace Vocaluxe.Screens
|
||||
CGame.Reset();
|
||||
CGame.ClearSongs();
|
||||
|
||||
EGameMode gm = EGameMode.Normal;
|
||||
EGameMode gm = EGameMode.TR_GAMEMODE_NORMAL;
|
||||
if (CSongs.AllSongs[SongNr].IsDuet)
|
||||
gm = EGameMode.Duet;
|
||||
gm = EGameMode.TR_GAMEMODE_DUET;
|
||||
|
||||
CGame.AddSong(SongNr, gm);
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Vocaluxe.Screens
|
||||
private string[] TextScore;
|
||||
private string[] TextDate;
|
||||
|
||||
private List<SScores> _Scores;
|
||||
private List<SScores>[] _Scores;
|
||||
private List<int> _NewEntryIDs;
|
||||
private int _Round;
|
||||
private int _Pos;
|
||||
@@ -135,6 +135,17 @@ namespace Vocaluxe.Screens
|
||||
CGraphics.FadeTo(EScreens.ScreenSong);
|
||||
}
|
||||
|
||||
if (MouseEvent.MB)
|
||||
{
|
||||
int LastRound = _Round;
|
||||
ChangeRound(1);
|
||||
if (LastRound == _Round)
|
||||
{
|
||||
_Round = 0;
|
||||
UpdateRound();
|
||||
}
|
||||
}
|
||||
|
||||
ChangePos(MouseEvent.Wheel);
|
||||
return true;
|
||||
}
|
||||
@@ -143,7 +154,7 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
for (int p = 0; p < NumEntrys; p++)
|
||||
{
|
||||
if (_Pos + p < _Scores.Count)
|
||||
if (_Pos + p < _Scores[_Round].Count)
|
||||
{
|
||||
Texts[htTexts(TextNumber[p])].Visible = true;
|
||||
Texts[htTexts(TextName[p])].Visible = true;
|
||||
@@ -152,16 +163,16 @@ namespace Vocaluxe.Screens
|
||||
|
||||
Texts[htTexts(TextNumber[p])].Text = (_Pos + p + 1).ToString();
|
||||
|
||||
string name = _Scores[_Pos + p].Name;
|
||||
name += " [" + CLanguage.Translate(Enum.GetName(typeof(EGameDifficulty), _Scores[_Pos + p].Difficulty)) + "]";
|
||||
string name = _Scores[_Round][_Pos + p].Name;
|
||||
name += " [" + CLanguage.Translate(Enum.GetName(typeof(EGameDifficulty), _Scores[_Round][_Pos + p].Difficulty)) + "]";
|
||||
if (_IsDuet)
|
||||
name += " (P" + (_Scores[_Pos + p].LineNr + 1).ToString() + ")";
|
||||
name += " (P" + (_Scores[_Round][_Pos + p].LineNr + 1).ToString() + ")";
|
||||
Texts[htTexts(TextName[p])].Text = name;
|
||||
|
||||
Texts[htTexts(TextScore[p])].Text = _Scores[_Pos + p].Score.ToString("00000");
|
||||
Texts[htTexts(TextDate[p])].Text = _Scores[_Pos + p].Date;
|
||||
Texts[htTexts(TextScore[p])].Text = _Scores[_Round][_Pos + p].Score.ToString("00000");
|
||||
Texts[htTexts(TextDate[p])].Text = _Scores[_Round][_Pos + p].Date;
|
||||
|
||||
if (isNewEntry(_Scores[_Pos + p].ID) == true)
|
||||
if (isNewEntry(_Scores[_Round][_Pos + p].ID) == true)
|
||||
{
|
||||
Texts[htTexts(TextNumber[p])].Style = EStyle.BoldItalic;
|
||||
Texts[htTexts(TextName[p])].Style = EStyle.BoldItalic;
|
||||
@@ -185,10 +196,16 @@ namespace Vocaluxe.Screens
|
||||
base.OnShow();
|
||||
_Round = 0;
|
||||
_Pos = 0;
|
||||
_Scores = new List<SScores>();
|
||||
CPoints _Points = CGame.GetPoints();
|
||||
_Scores = new List<SScores>[_Points.NumRounds];
|
||||
for (int i = 0; i < _Scores.Length; i++)
|
||||
{
|
||||
_Scores[i] = new List<SScores>();
|
||||
}
|
||||
_NewEntryIDs.Clear();
|
||||
AddScoresToDB();
|
||||
LoadScores();
|
||||
UpdateRound();
|
||||
|
||||
UpdateGame();
|
||||
}
|
||||
@@ -239,35 +256,47 @@ namespace Vocaluxe.Screens
|
||||
for (int round = 0; round < points.NumRounds; round++)
|
||||
{
|
||||
SPlayer player = points.GetPlayer(round, CGame.NumPlayer)[0];
|
||||
CDataBase.LoadScore(ref _Scores, player);
|
||||
CDataBase.LoadScore(ref _Scores[round], player);
|
||||
}
|
||||
}
|
||||
|
||||
if (round == _Round)
|
||||
{
|
||||
_IsDuet = false;
|
||||
private void UpdateRound()
|
||||
{
|
||||
_IsDuet = false;
|
||||
CPoints points = CGame.GetPoints();
|
||||
SPlayer player = points.GetPlayer(_Round, CGame.NumPlayer)[0];
|
||||
CSong song = CGame.GetSong(_Round+1);
|
||||
if (song == null)
|
||||
return;
|
||||
|
||||
CSong song = CSongs.GetSong(player.SongID);
|
||||
Texts[htTexts(TextSongName)].Text = song.Artist + " - " + song.Title;
|
||||
Texts[htTexts(TextSongName)].Text = song.Artist + " - " + song.Title;
|
||||
if (points.NumRounds > 1)
|
||||
{
|
||||
Texts[htTexts(TextSongName)].Text += " (" + (_Round+1) + "/" + points.NumRounds + ")";
|
||||
}
|
||||
|
||||
switch (CGame.GameMode)
|
||||
{
|
||||
case EGameMode.Normal:
|
||||
Texts[htTexts(TextSongMode)].Text = "TR_GAMEMODE_NORMAL";
|
||||
break;
|
||||
switch (CGame.GetGameMode(_Round))
|
||||
{
|
||||
case EGameMode.TR_GAMEMODE_NORMAL:
|
||||
Texts[htTexts(TextSongMode)].Text = "TR_GAMEMODE_NORMAL";
|
||||
break;
|
||||
|
||||
case EGameMode.Medley:
|
||||
Texts[htTexts(TextSongMode)].Text = "TR_GAMEMODE_MEDLEY";
|
||||
break;
|
||||
case EGameMode.TR_GAMEMODE_MEDLEY:
|
||||
Texts[htTexts(TextSongMode)].Text = "TR_GAMEMODE_MEDLEY";
|
||||
break;
|
||||
|
||||
case EGameMode.Duet:
|
||||
Texts[htTexts(TextSongMode)].Text = "TR_GAMEMODE_DUET";
|
||||
_IsDuet = true;
|
||||
break;
|
||||
case EGameMode.TR_GAMEMODE_DUET:
|
||||
Texts[htTexts(TextSongMode)].Text = "TR_GAMEMODE_DUET";
|
||||
_IsDuet = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
Texts[htTexts(TextSongMode)].Text = "TR_GAMEMODE_NORMAL";
|
||||
break;
|
||||
}
|
||||
}
|
||||
case EGameMode.TR_GAMEMODE_SHORTSONG:
|
||||
Texts[htTexts(TextSongMode)].Text = "TR_GAMEMODE_SHORTSONG";
|
||||
break;
|
||||
|
||||
default:
|
||||
Texts[htTexts(TextSongMode)].Text = "TR_GAMEMODE_NORMAL";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +304,7 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
if (Num > 0)
|
||||
{
|
||||
if (_Pos + Num + NumEntrys < _Scores.Count)
|
||||
if (_Pos + Num + NumEntrys < _Scores[_Round].Count)
|
||||
_Pos += Num;
|
||||
}
|
||||
if (Num < 0)
|
||||
@@ -288,27 +317,14 @@ namespace Vocaluxe.Screens
|
||||
|
||||
private void ChangeRound(int Num)
|
||||
{
|
||||
CPoints points = CGame.GetPoints();
|
||||
if (points.NumRounds < 2)
|
||||
return;
|
||||
|
||||
_Round += Num;
|
||||
|
||||
if (Num > 0)
|
||||
{
|
||||
if (_Round >= points.NumRounds)
|
||||
_Round = 0;
|
||||
|
||||
LoadScores();
|
||||
}
|
||||
|
||||
if (Num < 0)
|
||||
{
|
||||
if (_Round < 0)
|
||||
_Round = points.NumRounds - 1;
|
||||
|
||||
LoadScores();
|
||||
}
|
||||
CPoints _Points = CGame.GetPoints();
|
||||
if (_Round + Num < _Points.NumRounds && _Round + Num > -1)
|
||||
_Round += Num;
|
||||
else if (_Round + Num >= _Points.NumRounds)
|
||||
_Round = _Points.NumRounds - 1;
|
||||
else if (_Round + Num < 0)
|
||||
_Round = 0;
|
||||
UpdateRound();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -223,6 +223,11 @@ namespace Vocaluxe.Screens
|
||||
CBackgroundMusic.CanSing = true;
|
||||
|
||||
CLog.StopBenchmark(3, "Load Cover");
|
||||
|
||||
//Init Playlists
|
||||
CLog.StartBenchmark(0, "Init Playlists");
|
||||
CPlaylists.Init();
|
||||
CLog.StopBenchmark(0, "Init Playlists");
|
||||
}
|
||||
|
||||
private void CheckStartIntroVideos()
|
||||
|
||||
@@ -92,6 +92,11 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
base.HandleMouse(MouseEvent);
|
||||
|
||||
if (MouseEvent.Wheel != 0)
|
||||
{
|
||||
ChangeRound(MouseEvent.Wheel);
|
||||
}
|
||||
|
||||
if (MouseEvent.LB)
|
||||
{
|
||||
CGraphics.FadeTo(EScreens.ScreenHighscore);
|
||||
@@ -117,9 +122,23 @@ namespace Vocaluxe.Screens
|
||||
|
||||
public override bool UpdateGame()
|
||||
{
|
||||
|
||||
SPlayer[] player = new SPlayer[CGame.NumPlayer];
|
||||
player = _Points.GetPlayer(_Round - 1, CGame.NumPlayer);
|
||||
if (_Round != 0)
|
||||
player = _Points.GetPlayer(_Round - 1, CGame.NumPlayer);
|
||||
else {
|
||||
for (int i = 0; i < CGame.NumRounds; i++)
|
||||
{
|
||||
SPlayer[] points = _Points.GetPlayer(i, CGame.NumPlayer);
|
||||
for (int p = 0; p < player.Length; p++)
|
||||
{
|
||||
player[p].Points += points[p].Points;
|
||||
}
|
||||
}
|
||||
for (int p = 0; p < player.Length; p++)
|
||||
{
|
||||
player[p].Points = (int)(player[p].Points/CGame.NumRounds);
|
||||
}
|
||||
}
|
||||
for (int p = 0; p < player.Length; p++)
|
||||
{
|
||||
if (StaticPointsBarDrawnPoints[p] < player[p].Points)
|
||||
@@ -244,30 +263,61 @@ namespace Vocaluxe.Screens
|
||||
|
||||
private void UpdateRatings()
|
||||
{
|
||||
CSong song = CGame.GetSong(_Round);
|
||||
if (song == null)
|
||||
return;
|
||||
|
||||
Texts[htTexts(TextSong)].Text = song.Artist + " - " + song.Title;
|
||||
if (_Points.NumRounds > 1)
|
||||
CSong song = null;
|
||||
SPlayer[] player = new SPlayer[CGame.NumPlayer];
|
||||
if (_Round != 0)
|
||||
{
|
||||
Texts[htTexts(TextSong)].Text += " (" + _Round + "/" + _Points.NumRounds + ")";
|
||||
song = CGame.GetSong(_Round);
|
||||
if (song == null)
|
||||
return;
|
||||
|
||||
Texts[htTexts(TextSong)].Text = song.Artist + " - " + song.Title;
|
||||
if (_Points.NumRounds > 1)
|
||||
{
|
||||
Texts[htTexts(TextSong)].Text += " (" + _Round + "/" + _Points.NumRounds + ")";
|
||||
}
|
||||
player = _Points.GetPlayer(_Round - 1, CGame.NumPlayer);
|
||||
}
|
||||
else
|
||||
{
|
||||
Texts[htTexts(TextSong)].Text = "TR_SCREENSCORE_OVERALLSCORE";
|
||||
for (int i = 0; i < CGame.NumRounds; i++)
|
||||
{
|
||||
SPlayer[] points = _Points.GetPlayer(i, CGame.NumPlayer);
|
||||
for (int p = 0; p < player.Length; p++)
|
||||
{
|
||||
if (i < 1)
|
||||
{
|
||||
player[p].ProfileID = points[p].ProfileID;
|
||||
player[p].Name = points[p].Name;
|
||||
player[p].Difficulty = points[p].Difficulty;
|
||||
}
|
||||
player[p].Points += points[p].Points;
|
||||
}
|
||||
}
|
||||
for (int p = 0; p < player.Length; p++)
|
||||
{
|
||||
player[p].Points = (int)(player[p].Points / CGame.NumRounds);
|
||||
}
|
||||
}
|
||||
|
||||
SPlayer[] player = new SPlayer[CGame.NumPlayer];
|
||||
player = _Points.GetPlayer(_Round - 1, CGame.NumPlayer);
|
||||
for (int p = 0; p < player.Length; p++)
|
||||
{
|
||||
if (!song.IsDuet)
|
||||
Texts[htTexts(TextNames[p, CGame.NumPlayer - 1])].Text = player[p].Name;
|
||||
else
|
||||
if(player[p].LineNr == 0 && song.DuetPart1 != "Part 1")
|
||||
Texts[htTexts(TextNames[p, CGame.NumPlayer - 1])].Text = player[p].Name + " (" + song.DuetPart1 + ")";
|
||||
else if(player[p].LineNr == 1 && song.DuetPart2 != "Part 2")
|
||||
Texts[htTexts(TextNames[p, CGame.NumPlayer - 1])].Text = player[p].Name + " (" + song.DuetPart2 + ")";
|
||||
else
|
||||
if (song != null)
|
||||
{
|
||||
if (!song.IsDuet)
|
||||
Texts[htTexts(TextNames[p, CGame.NumPlayer - 1])].Text = player[p].Name;
|
||||
|
||||
else
|
||||
if (player[p].LineNr == 0 && song.DuetPart1 != "Part 1")
|
||||
Texts[htTexts(TextNames[p, CGame.NumPlayer - 1])].Text = player[p].Name + " (" + song.DuetPart1 + ")";
|
||||
else if (player[p].LineNr == 1 && song.DuetPart2 != "Part 2")
|
||||
Texts[htTexts(TextNames[p, CGame.NumPlayer - 1])].Text = player[p].Name + " (" + song.DuetPart2 + ")";
|
||||
else
|
||||
Texts[htTexts(TextNames[p, CGame.NumPlayer - 1])].Text = player[p].Name;
|
||||
}
|
||||
else
|
||||
Texts[htTexts(TextNames[p, CGame.NumPlayer - 1])].Text = player[p].Name;
|
||||
|
||||
Texts[htTexts(TextScores[p, CGame.NumPlayer - 1])].Text = ((int)Math.Round(player[p].Points)).ToString("0000") + " " + CLanguage.Translate("TR_SCREENSCORE_POINTS");
|
||||
if (CGame.NumPlayer <= 3)
|
||||
{
|
||||
@@ -324,11 +374,21 @@ namespace Vocaluxe.Screens
|
||||
|
||||
private void ChangeRound(int Num)
|
||||
{
|
||||
if ((_Round + Num) <= _Points.NumRounds && (_Round + Num) > 0)
|
||||
if ((_Round + Num) <= _Points.NumRounds && (_Round + Num) > 0 && _Round != 0)
|
||||
{
|
||||
_Round += Num;
|
||||
UpdateRatings();
|
||||
}
|
||||
else if(Num > 0 && _Round != 0 && CGame.NumRounds > 1)
|
||||
{
|
||||
_Round = 0;
|
||||
UpdateRatings();
|
||||
}
|
||||
else if (Num < 0 && _Round == 0)
|
||||
{
|
||||
_Round = CGame.NumRounds;
|
||||
UpdateRatings();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@ namespace Vocaluxe.Screens
|
||||
|
||||
private const string ButtonCancel = "ButtonCancel";
|
||||
private const string ButtonContinue = "ButtonContinue";
|
||||
private const string ButtonSkip = "ButtonSkip";
|
||||
|
||||
private const string LyricMain = "LyricMain";
|
||||
private const string LyricSub = "LyricSub";
|
||||
@@ -133,6 +134,7 @@ namespace Vocaluxe.Screens
|
||||
List<string> buttons = new List<string>();
|
||||
buttons.Add(ButtonCancel);
|
||||
buttons.Add(ButtonContinue);
|
||||
buttons.Add(ButtonSkip);
|
||||
_ThemeButtons = buttons.ToArray();
|
||||
|
||||
_ThemeLyrics = new string[] { LyricMain, LyricSub, LyricMainDuet, LyricSubDuet, LyricMainTop, LyricSubTop };
|
||||
@@ -208,12 +210,22 @@ namespace Vocaluxe.Screens
|
||||
SetVisuability();
|
||||
break;
|
||||
|
||||
case Keys.S:
|
||||
if(CGame.NumRounds > CGame.RoundNr)
|
||||
if(KeyEvent.ModCTRL)
|
||||
LoadNextSong();
|
||||
break;
|
||||
|
||||
case Keys.Enter:
|
||||
if (Buttons[htButtons(ButtonContinue)].Selected && _Pause)
|
||||
TogglePause();
|
||||
|
||||
TogglePause();
|
||||
if (Buttons[htButtons(ButtonCancel)].Selected && _Pause)
|
||||
Stop();
|
||||
Stop();
|
||||
if (Buttons[htButtons(ButtonSkip)].Selected && _Pause)
|
||||
{
|
||||
LoadNextSong();
|
||||
TogglePause();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -240,6 +252,11 @@ namespace Vocaluxe.Screens
|
||||
if (Buttons[htButtons(ButtonCancel)].Selected && _Pause)
|
||||
Stop();
|
||||
|
||||
if (Buttons[htButtons(ButtonSkip)].Selected && _Pause)
|
||||
{
|
||||
LoadNextSong();
|
||||
TogglePause();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -642,7 +659,9 @@ namespace Vocaluxe.Screens
|
||||
|
||||
private void Stop()
|
||||
{
|
||||
CGame.NextRound();
|
||||
//Need this to set other songs to points-var
|
||||
while(!CGame.IsFinished())
|
||||
CGame.NextRound();
|
||||
|
||||
CGraphics.FadeTo(EScreens.ScreenScore);
|
||||
_FadeOut = true;
|
||||
@@ -675,7 +694,7 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
if (line[j].StartBeat <= _CurrentBeat)
|
||||
{
|
||||
if (CGame.GetTimeFromBeats(line[j].FirstBeat, song.BPM) <= _CurrentTime - song.Gap + 10f)
|
||||
if (CGame.GetTimeFromBeats(line[j].FirstNoteBeat, song.BPM) <= _CurrentTime - song.Gap + 10f)
|
||||
{
|
||||
nr = j;
|
||||
}
|
||||
@@ -694,8 +713,8 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
Lyrics[htLyrics(LyricMain)].SetLine(line[nr]);
|
||||
Lyrics[htLyrics(LyricMainTop)].SetLine(line[nr]);
|
||||
_TimeToFirstNote = CGame.GetTimeFromBeats(line[nr].FirstBeat - line[nr].StartBeat, song.BPM);
|
||||
_RemainingTimeToFirstNote = CGame.GetTimeFromBeats(line[nr].FirstBeat - CGame.GetBeatFromTime(_CurrentTime, song.BPM, song.Gap), song.BPM);
|
||||
_TimeToFirstNote = CGame.GetTimeFromBeats(line[nr].FirstNoteBeat - line[nr].StartBeat, song.BPM);
|
||||
_RemainingTimeToFirstNote = CGame.GetTimeFromBeats(line[nr].FirstNoteBeat - CGame.GetBeatFromTime(_CurrentTime, song.BPM, song.Gap), song.BPM);
|
||||
|
||||
if (line.Length >= nr + 2)
|
||||
{
|
||||
@@ -711,8 +730,8 @@ namespace Vocaluxe.Screens
|
||||
if (i == 0 && song.IsDuet)
|
||||
{
|
||||
Lyrics[htLyrics(LyricMainDuet)].SetLine(line[nr]);
|
||||
_TimeToFirstNoteDuet = CGame.GetTimeFromBeats(line[nr].FirstBeat - line[nr].StartBeat, song.BPM);
|
||||
_RemainingTimeToFirstNoteDuet = CGame.GetTimeFromBeats(line[nr].FirstBeat - CGame.GetBeatFromTime(_CurrentTime, song.BPM, song.Gap), song.BPM);
|
||||
_TimeToFirstNoteDuet = CGame.GetTimeFromBeats(line[nr].FirstNoteBeat - line[nr].StartBeat, song.BPM);
|
||||
_RemainingTimeToFirstNoteDuet = CGame.GetTimeFromBeats(line[nr].FirstNoteBeat - CGame.GetBeatFromTime(_CurrentTime, song.BPM, song.Gap), song.BPM);
|
||||
|
||||
if (line.Length >= nr + 2)
|
||||
Lyrics[htLyrics(LyricSubDuet)].SetLine(line[nr + 1]);
|
||||
@@ -748,11 +767,16 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
Buttons[htButtons(ButtonCancel)].Visible = true;
|
||||
Buttons[htButtons(ButtonContinue)].Visible = true;
|
||||
if (CGame.NumRounds > CGame.RoundNr && CGame.NumRounds > 1)
|
||||
Buttons[htButtons(ButtonSkip)].Visible = true;
|
||||
else
|
||||
Buttons[htButtons(ButtonSkip)].Visible = false;
|
||||
CSound.Pause(_CurrentStream);
|
||||
}else
|
||||
{
|
||||
Buttons[htButtons(ButtonCancel)].Visible = false;
|
||||
Buttons[htButtons(ButtonContinue)].Visible = false;
|
||||
Buttons[htButtons(ButtonSkip)].Visible = false;
|
||||
CSound.Play(_CurrentStream);
|
||||
}
|
||||
}
|
||||
@@ -958,7 +982,7 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
if (line[j].StartBeat <= _CurrentBeat)
|
||||
{
|
||||
if (CGame.GetTimeFromBeats(line[j].FirstBeat, Song.BPM) <= _CurrentTime - Song.Gap + 10f)
|
||||
if (CGame.GetTimeFromBeats(line[j].FirstNoteBeat, Song.BPM) <= _CurrentTime - Song.Gap + 10f)
|
||||
{
|
||||
CurrentLineSub = j;
|
||||
}
|
||||
@@ -969,7 +993,7 @@ namespace Vocaluxe.Screens
|
||||
int CurrentLine = 0;
|
||||
for (int j = 0; j < line.Length; j++)
|
||||
{
|
||||
if (line[j].FirstBeat <= _CurrentBeat)
|
||||
if (line[j].FirstNoteBeat <= _CurrentBeat)
|
||||
{
|
||||
CurrentLine = j;
|
||||
}
|
||||
@@ -980,33 +1004,33 @@ namespace Vocaluxe.Screens
|
||||
Alpha[i * 2 + 1] = 1f;
|
||||
|
||||
// main line alpha
|
||||
if (CurrentLine == 0 && CurrentTime < CGame.GetTimeFromBeats(line[CurrentLine].FirstBeat, Song.BPM))
|
||||
if (CurrentLine == 0 && CurrentTime < CGame.GetTimeFromBeats(line[CurrentLine].FirstNoteBeat, Song.BPM))
|
||||
{
|
||||
// first main line and fist note is not reached
|
||||
// => fade in
|
||||
float diff = CGame.GetTimeFromBeats(line[CurrentLine].FirstBeat, Song.BPM) - CurrentTime;
|
||||
float diff = CGame.GetTimeFromBeats(line[CurrentLine].FirstNoteBeat, Song.BPM) - CurrentTime;
|
||||
if (diff > dt)
|
||||
{
|
||||
Alpha[i * 2] = 1f - (diff - dt) / rt;
|
||||
}
|
||||
}
|
||||
else if (CurrentLine < line.Length - 1 && CGame.GetTimeFromBeats(line[CurrentLine].LastBeat, Song.BPM) < CurrentTime &&
|
||||
CGame.GetTimeFromBeats(line[CurrentLine + 1].FirstBeat, Song.BPM) > CurrentTime)
|
||||
else if (CurrentLine < line.Length - 1 && CGame.GetTimeFromBeats(line[CurrentLine].LastNoteBeat, Song.BPM) < CurrentTime &&
|
||||
CGame.GetTimeFromBeats(line[CurrentLine + 1].FirstNoteBeat, Song.BPM) > CurrentTime)
|
||||
{
|
||||
// current position is between two lines
|
||||
|
||||
// time between the to lines
|
||||
float diff = CGame.GetTimeFromBeats(line[CurrentLine + 1].FirstBeat, Song.BPM) -
|
||||
CGame.GetTimeFromBeats(line[CurrentLine].LastBeat, Song.BPM);
|
||||
float diff = CGame.GetTimeFromBeats(line[CurrentLine + 1].FirstNoteBeat, Song.BPM) -
|
||||
CGame.GetTimeFromBeats(line[CurrentLine].LastNoteBeat, Song.BPM);
|
||||
|
||||
// fade only if there is enough time for fading
|
||||
if (diff > 3.3f * dt)
|
||||
{
|
||||
// time elapsed since last line
|
||||
float last = CurrentTime - CGame.GetTimeFromBeats(line[CurrentLine].LastBeat, Song.BPM);
|
||||
float last = CurrentTime - CGame.GetTimeFromBeats(line[CurrentLine].LastNoteBeat, Song.BPM);
|
||||
|
||||
// time to next line
|
||||
float next = CGame.GetTimeFromBeats(line[CurrentLine + 1].FirstBeat, Song.BPM) - CurrentTime;
|
||||
float next = CGame.GetTimeFromBeats(line[CurrentLine + 1].FirstNoteBeat, Song.BPM) - CurrentTime;
|
||||
|
||||
if (last < next)
|
||||
{
|
||||
@@ -1021,11 +1045,11 @@ namespace Vocaluxe.Screens
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (CurrentLine == line.Length - 1 && CGame.GetTimeFromBeats(line[CurrentLine].LastBeat, Song.BPM) < CurrentTime)
|
||||
else if (CurrentLine == line.Length - 1 && CGame.GetTimeFromBeats(line[CurrentLine].LastNoteBeat, Song.BPM) < CurrentTime)
|
||||
{
|
||||
// last main line and last note was reached
|
||||
// => fade out
|
||||
float diff = CurrentTime - CGame.GetTimeFromBeats(line[CurrentLine].LastBeat, Song.BPM);
|
||||
float diff = CurrentTime - CGame.GetTimeFromBeats(line[CurrentLine].LastNoteBeat, Song.BPM);
|
||||
Alpha[i * 2] = 1f - diff / rt;
|
||||
}
|
||||
|
||||
@@ -1033,7 +1057,7 @@ namespace Vocaluxe.Screens
|
||||
if (CurrentLineSub < line.Length - 2)
|
||||
{
|
||||
float diff = 0f;
|
||||
diff = CGame.GetTimeFromBeats(line[CurrentLineSub + 1].FirstBeat, Song.BPM) - CurrentTime;
|
||||
diff = CGame.GetTimeFromBeats(line[CurrentLineSub + 1].FirstNoteBeat, Song.BPM) - CurrentTime;
|
||||
|
||||
if (diff > dt)
|
||||
{
|
||||
@@ -1261,19 +1285,22 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
CLine[] Line = Lines[i].Line;
|
||||
for(int j = 0; j<Line.Length; j++){
|
||||
TimeRect trect = new TimeRect();
|
||||
trect.startBeat = Line[j].FirstBeat;
|
||||
trect.endBeat = Line[j].EndBeat;
|
||||
|
||||
trect.rect = new CStatic(new STexture(-1),
|
||||
new SColorF(1f, 1f, 1f, 1f),
|
||||
new SRectF(stat.Rect.X + stat.Rect.W * ((CGame.GetTimeFromBeats(trect.startBeat, song.BPM) + song.Gap - song.Start) / TotalTime),
|
||||
stat.Rect.Y,
|
||||
stat.Rect.W * (CGame.GetTimeFromBeats((trect.endBeat - trect.startBeat), song.BPM) / TotalTime),
|
||||
stat.Rect.H,
|
||||
stat.Rect.Z));
|
||||
if (Line[j].VisibleInTimeLine)
|
||||
{
|
||||
TimeRect trect = new TimeRect();
|
||||
trect.startBeat = Line[j].FirstNoteBeat;
|
||||
trect.endBeat = Line[j].EndBeat;
|
||||
|
||||
_TimeRects.Add(trect);
|
||||
trect.rect = new CStatic(new STexture(-1),
|
||||
new SColorF(1f, 1f, 1f, 1f),
|
||||
new SRectF(stat.Rect.X + stat.Rect.W * ((CGame.GetTimeFromBeats(trect.startBeat, song.BPM) + song.Gap - song.Start) / TotalTime),
|
||||
stat.Rect.Y,
|
||||
stat.Rect.W * (CGame.GetTimeFromBeats((trect.endBeat - trect.startBeat), song.BPM) / TotalTime),
|
||||
stat.Rect.H,
|
||||
stat.Rect.Z));
|
||||
|
||||
_TimeRects.Add(trect);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Windows.Forms;
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.GameModes;
|
||||
using Vocaluxe.Lib.Draw;
|
||||
using Vocaluxe.Lib.Song;
|
||||
using Vocaluxe.Menu;
|
||||
using Vocaluxe.Menu.SongMenu;
|
||||
|
||||
@@ -16,23 +17,52 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
class CScreenSong : CMenu
|
||||
{
|
||||
enum ESongOptionsView
|
||||
{
|
||||
None,
|
||||
Song,
|
||||
General
|
||||
}
|
||||
|
||||
// Version number for theme files. Increment it, if you've changed something on the theme files!
|
||||
const int ScreenVersion = 1;
|
||||
const int ScreenVersion = 3;
|
||||
|
||||
private const string TextCategory = "TextCategory";
|
||||
private const string TextSelection = "TextSelection";
|
||||
private const string TextSearchBarTitle = "TextSearchBarTitle";
|
||||
private const string TextSearchBar = "TextSearchBar";
|
||||
private const string TextOptionsTitle = "TextOptionsTitle";
|
||||
|
||||
private const string ButtonOpenOptions = "ButtonOpenOptions";
|
||||
private const string ButtonOptionsSing = "ButtonOptionsSing";
|
||||
private const string ButtonOptionsPlaylist = "ButtonOptionsPlaylist";
|
||||
private const string ButtonOptionsClose = "ButtonOptionsClose";
|
||||
private const string ButtonOptionsRandom = "ButtonOptionsRandom";
|
||||
private const string ButtonOptionsSingAll = "ButtonOptionsSingAll";
|
||||
private const string ButtonOptionsSingAllVisible = "ButtonOptionsSingAllVisible";
|
||||
private const string ButtonOptionsOpenPlaylist = "ButtonOptionsOpenPlaylist";
|
||||
|
||||
private const string SelectSlideOptionsMode = "SelectSlideOptionsMode";
|
||||
private const string SelectSlideOptionsPlaylistAdd = "SelectSlideOptionsPlaylistAdd";
|
||||
private const string SelectSlideOptionsPlaylistOpen = "SelectSlideOptionsPlaylistOpen";
|
||||
|
||||
private const string StaticSearchBar = "StaticSearchBar";
|
||||
private const string StaticOptionsBG = "StaticOptionsBG";
|
||||
private const string SongMenu = "SongMenu";
|
||||
private const string Playlist = "Playlist";
|
||||
|
||||
private string _SearchText = String.Empty;
|
||||
private bool _SearchActive = false;
|
||||
|
||||
private bool _SongOptionsActive = false;
|
||||
private bool _PlaylistActive = false;
|
||||
private List<GameModes.EGameMode> _AvailableGameModes;
|
||||
|
||||
public CScreenSong()
|
||||
{
|
||||
Init();
|
||||
|
||||
_AvailableGameModes = new List<GameModes.EGameMode>();
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
@@ -41,87 +71,115 @@ namespace Vocaluxe.Screens
|
||||
|
||||
_ThemeName = "ScreenSong";
|
||||
_ScreenVersion = ScreenVersion;
|
||||
_ThemeStatics = new string[] { StaticSearchBar };
|
||||
_ThemeTexts = new string[] { TextCategory, TextSelection, TextSearchBarTitle, TextSearchBar };
|
||||
_ThemeStatics = new string[] { StaticSearchBar, StaticOptionsBG };
|
||||
_ThemeTexts = new string[] { TextCategory, TextSelection, TextSearchBarTitle, TextSearchBar, TextOptionsTitle };
|
||||
_ThemeButtons = new string[] { ButtonOptionsClose, ButtonOptionsPlaylist, ButtonOptionsSing, ButtonOptionsRandom, ButtonOptionsSingAll, ButtonOptionsSingAllVisible, ButtonOptionsOpenPlaylist, ButtonOpenOptions };
|
||||
_ThemeSelectSlides = new string[] { SelectSlideOptionsMode, SelectSlideOptionsPlaylistAdd, SelectSlideOptionsPlaylistOpen };
|
||||
_ThemeSongMenus = new string[] { SongMenu };
|
||||
_ThemePlaylists = new string[] { Playlist };
|
||||
}
|
||||
|
||||
public override void LoadTheme()
|
||||
{
|
||||
base.LoadTheme();
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = false;
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = false;
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsClose)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsSing)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsPlaylist)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsRandom)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsSingAll)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsSingAllVisible)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = false;
|
||||
Texts[htTexts(TextOptionsTitle)].Visible = false;
|
||||
Statics[htStatics(StaticOptionsBG)].Visible = false;
|
||||
Playlists[htPlaylists(Playlist)].Visible = false;
|
||||
}
|
||||
|
||||
public override bool HandleInput(KeyEvent KeyEvent)
|
||||
{
|
||||
base.HandleInput(KeyEvent);
|
||||
if (KeyEvent.Handled)
|
||||
return true;
|
||||
|
||||
if (KeyEvent.KeyPressed && !Char.IsControl(KeyEvent.Unicode))
|
||||
if (_PlaylistActive)
|
||||
{
|
||||
if (_SearchActive)
|
||||
ApplyNewSearchFilter(_SearchText + KeyEvent.Unicode);
|
||||
/*
|
||||
else if (!Char.IsControl(KeyEvent.Unicode))
|
||||
if (!KeyEvent.KeyPressed && KeyEvent.Key == Keys.Tab)
|
||||
{
|
||||
JumpTo(KeyEvent.Unicode);
|
||||
_PlaylistActive = !_PlaylistActive;
|
||||
Playlists[htPlaylists(Playlist)].Selected = _PlaylistActive;
|
||||
SongMenus[htSongMenus(SongMenu)].SetActive(!_PlaylistActive);
|
||||
return true;
|
||||
} */
|
||||
}
|
||||
|
||||
Playlists[htPlaylists(Playlist)].HandleInput(KeyEvent);
|
||||
|
||||
if (CPlaylists.NumPlaylists != SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].NumValues)
|
||||
UpdatePlaylistNames();
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
if (!_SongOptionsActive)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].HandleInput(ref KeyEvent);
|
||||
|
||||
if (KeyEvent.Handled)
|
||||
return true;
|
||||
|
||||
switch (KeyEvent.Key)
|
||||
if (KeyEvent.KeyPressed && !Char.IsControl(KeyEvent.Unicode))
|
||||
{
|
||||
case Keys.Escape:
|
||||
if (CSongs.Category < 0 || CConfig.Tabs == EOffOn.TR_CONFIG_OFF)
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
break;
|
||||
if (_SearchActive)
|
||||
ApplyNewSearchFilter(_SearchText + KeyEvent.Unicode);
|
||||
/*
|
||||
else if (!Char.IsControl(KeyEvent.Unicode))
|
||||
{
|
||||
JumpTo(KeyEvent.Unicode);
|
||||
return true;
|
||||
} */
|
||||
}
|
||||
else
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].HandleInput(ref KeyEvent);
|
||||
if (KeyEvent.Handled)
|
||||
return true;
|
||||
|
||||
case Keys.Enter:
|
||||
if (CSongs.NumVisibleSongs > 0)
|
||||
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
break;
|
||||
switch (KeyEvent.Key)
|
||||
{
|
||||
case Keys.Escape:
|
||||
if (CSongs.Category < 0 || CConfig.Tabs == EOffOn.TR_CONFIG_OFF)
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
break;
|
||||
|
||||
case Keys.Back:
|
||||
if (_SearchText.Length > 0)
|
||||
{
|
||||
ApplyNewSearchFilter(_SearchText.Remove(_SearchText.Length - 1));
|
||||
}
|
||||
case Keys.Enter:
|
||||
if (CSongs.NumVisibleSongs > 0)
|
||||
{
|
||||
if (SongMenus[htSongMenus(SongMenu)].GetSelectedSong() != -1 && !_SongOptionsActive)
|
||||
ToggleSongOptions(ESongOptionsView.Song);
|
||||
}
|
||||
break;
|
||||
|
||||
if (!_SearchActive && CSongs.Category < 0)
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
case Keys.Tab:
|
||||
if (Playlists[htPlaylists(Playlist)].Visible)
|
||||
{
|
||||
_PlaylistActive = !_PlaylistActive;
|
||||
Playlists[htPlaylists(Playlist)].Selected = _PlaylistActive;
|
||||
SongMenus[htSongMenus(SongMenu)].SetActive(!_PlaylistActive);
|
||||
}
|
||||
break;
|
||||
|
||||
break;
|
||||
case Keys.Back:
|
||||
if (_SearchText.Length > 0)
|
||||
{
|
||||
ApplyNewSearchFilter(_SearchText.Remove(_SearchText.Length - 1));
|
||||
}
|
||||
|
||||
case Keys.F3:
|
||||
if (_SearchActive)
|
||||
{
|
||||
_SearchActive = false;
|
||||
_SearchText = String.Empty;
|
||||
ApplyNewSearchFilter(_SearchText);
|
||||
}
|
||||
else
|
||||
{
|
||||
_SearchActive = true;
|
||||
}
|
||||
break;
|
||||
if (!_SearchActive && CSongs.Category < 0)
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
|
||||
case Keys.A:
|
||||
if (!_SearchActive && KeyEvent.Mod == Modifier.None)
|
||||
{
|
||||
StartRandomAllSongs();
|
||||
}
|
||||
if (KeyEvent.Mod == Modifier.Ctrl)
|
||||
{
|
||||
StartRandomVisibleSongs();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
case Keys.F:
|
||||
if (KeyEvent.Mod == Modifier.Ctrl){
|
||||
case Keys.Space:
|
||||
ToggleSongOptions(ESongOptionsView.General);
|
||||
break;
|
||||
|
||||
case Keys.F3:
|
||||
if (_SearchActive)
|
||||
{
|
||||
_SearchActive = false;
|
||||
@@ -132,14 +190,97 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
_SearchActive = true;
|
||||
}
|
||||
break;
|
||||
|
||||
//TODO: Delete it! ??? Shouldn't we keep this as shortcut?
|
||||
case Keys.A:
|
||||
if (!_SearchActive && KeyEvent.Mod == Modifier.None)
|
||||
{
|
||||
StartRandomAllSongs();
|
||||
}
|
||||
if (KeyEvent.Mod == Modifier.Ctrl)
|
||||
{
|
||||
StartRandomVisibleSongs();
|
||||
}
|
||||
break;
|
||||
|
||||
//TODO: Delete that from here and from wiki!
|
||||
case Keys.F:
|
||||
if (KeyEvent.Mod == Modifier.Ctrl)
|
||||
{
|
||||
if (_SearchActive)
|
||||
{
|
||||
_SearchActive = false;
|
||||
_SearchText = String.Empty;
|
||||
ApplyNewSearchFilter(_SearchText);
|
||||
}
|
||||
else
|
||||
{
|
||||
_SearchActive = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
//TODO: We need another key for random!
|
||||
case Keys.R:
|
||||
if (CSongs.Category != -1 && KeyEvent.Mod == Modifier.Ctrl)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
break;
|
||||
|
||||
//TODO: Delete that!
|
||||
case Keys.S:
|
||||
if (CSongs.NumVisibleSongs > 0)
|
||||
StartMedleySong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
switch (KeyEvent.Key)
|
||||
{
|
||||
case Keys.Enter:
|
||||
if (Buttons[htButtons(ButtonOptionsClose)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSing)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsPlaylist)].Selected)
|
||||
{
|
||||
OpenAndAddPlaylistAction();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsRandom)].Selected)
|
||||
{
|
||||
if (CSongs.Category != -1)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSingAll)].Selected)
|
||||
{
|
||||
StartRandomAllSongs();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSingAllVisible)].Selected)
|
||||
{
|
||||
StartRandomVisibleSongs();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsOpenPlaylist)].Selected)
|
||||
{
|
||||
OpenPlaylistAction();
|
||||
}
|
||||
break;
|
||||
|
||||
case Keys.R:
|
||||
if (CSongs.Category != -1 && KeyEvent.Mod == Modifier.Ctrl)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
case Keys.Escape:
|
||||
case Keys.Back:
|
||||
case Keys.Space:
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -151,22 +292,98 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
base.HandleMouse(MouseEvent);
|
||||
|
||||
if ((MouseEvent.RB) && (CSongs.Category < 0))
|
||||
if (Playlists[htPlaylists(Playlist)].Visible && Playlists[htPlaylists(Playlist)].IsMouseOver(MouseEvent))
|
||||
{
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
_PlaylistActive = true;
|
||||
Playlists[htPlaylists(Playlist)].Selected = _PlaylistActive;
|
||||
SongMenus[htSongMenus(SongMenu)].SetActive(!_PlaylistActive);
|
||||
}
|
||||
else if (CHelper.IsInBounds(SongMenus[htSongMenus(SongMenu)].Rect, MouseEvent.X, MouseEvent.Y))
|
||||
{
|
||||
_PlaylistActive = false;
|
||||
Playlists[htPlaylists(Playlist)].Selected = _PlaylistActive;
|
||||
SongMenus[htSongMenus(SongMenu)].SetActive(!_PlaylistActive);
|
||||
}
|
||||
|
||||
if (MouseEvent.MB && CSongs.Category != -1)
|
||||
if (Playlists[htPlaylists(Playlist)].Visible && Playlists[htPlaylists(Playlist)].HandleMouse(MouseEvent))
|
||||
return true;
|
||||
|
||||
if (!_SongOptionsActive)
|
||||
{
|
||||
Console.WriteLine("MB pressed");
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
|
||||
if ((MouseEvent.RB) && (CSongs.Category < 0))
|
||||
{
|
||||
CGraphics.FadeTo(EScreens.ScreenMain);
|
||||
}
|
||||
else if (MouseEvent.RB && _SongOptionsActive)
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
|
||||
if (MouseEvent.MB && CSongs.Category != -1)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
else
|
||||
SongMenus[htSongMenus(SongMenu)].HandleMouse(ref MouseEvent);
|
||||
|
||||
if (MouseEvent.LB && CSongs.NumVisibleSongs > 0 && SongMenus[htSongMenus(SongMenu)].GetActualSelection() != -1)
|
||||
{
|
||||
if (SongMenus[htSongMenus(SongMenu)].GetSelectedSong() != -1 && !_SongOptionsActive)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.Song);
|
||||
}
|
||||
}
|
||||
else if (MouseEvent.LB && IsMouseOver(MouseEvent))
|
||||
{
|
||||
if (Buttons[htButtons(ButtonOpenOptions)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.General);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
SongMenus[htSongMenus(SongMenu)].HandleMouse(ref MouseEvent);
|
||||
|
||||
if (MouseEvent.LB && CSongs.NumVisibleSongs > 0 && SongMenus[htSongMenus(SongMenu)].GetActualSelection() != -1)
|
||||
{
|
||||
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
if (MouseEvent.LB && IsMouseOver(MouseEvent))
|
||||
{
|
||||
if (Buttons[htButtons(ButtonOptionsClose)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSing)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
StartSong(SongMenus[htSongMenus(SongMenu)].GetSelectedSong());
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsPlaylist)].Selected)
|
||||
{
|
||||
OpenAndAddPlaylistAction();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsRandom)].Selected)
|
||||
{
|
||||
if (CSongs.Category != -1)
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSelectedSong(CSongs.GetRandomSong());
|
||||
}
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSingAll)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
StartRandomAllSongs();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsSingAllVisible)].Selected)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
StartRandomVisibleSongs();
|
||||
}
|
||||
else if (Buttons[htButtons(ButtonOptionsOpenPlaylist)].Selected)
|
||||
{
|
||||
OpenPlaylistAction();
|
||||
}
|
||||
}
|
||||
if (MouseEvent.RB)
|
||||
{
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -177,11 +394,20 @@ namespace Vocaluxe.Screens
|
||||
base.OnShow();
|
||||
CGame.EnterNormalGame();
|
||||
SongMenus[htSongMenus(SongMenu)].OnShow();
|
||||
SongMenus[htSongMenus(SongMenu)].SetActive(!_PlaylistActive);
|
||||
Playlists[htPlaylists(Playlist)].Init();
|
||||
if (Playlists[htPlaylists(Playlist)].ActivePlaylistID != -1)
|
||||
Playlists[htPlaylists(Playlist)].LoadPlaylist(Playlists[htPlaylists(Playlist)].ActivePlaylistID);
|
||||
UpdatePlaylistNames();
|
||||
}
|
||||
|
||||
public override bool UpdateGame()
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].Update();
|
||||
|
||||
if (SongMenus[htSongMenus(SongMenu)].IsSmallView())
|
||||
CheckPlaylist();
|
||||
|
||||
Texts[htTexts(TextCategory)].Text = CSongs.GetActualCategoryName();
|
||||
|
||||
if (CSongs.Category > -1 || CConfig.Tabs == EOffOn.TR_CONFIG_OFF)
|
||||
@@ -223,7 +449,6 @@ namespace Vocaluxe.Screens
|
||||
public override bool Draw()
|
||||
{
|
||||
base.Draw();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -238,13 +463,40 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
if ((CSongs.Category >= 0) && (SongNr >= 0))
|
||||
{
|
||||
EGameMode gm;
|
||||
if (_AvailableGameModes.Count >= SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection)
|
||||
{
|
||||
gm = _AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
||||
gm = GameModes.EGameMode.TR_GAMEMODE_DUET;
|
||||
else
|
||||
gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL;
|
||||
}
|
||||
|
||||
CGame.Reset();
|
||||
CGame.ClearSongs();
|
||||
|
||||
EGameMode gm = EGameMode.Normal;
|
||||
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
||||
gm = EGameMode.Duet;
|
||||
CGame.AddVisibleSong(SongNr, gm);
|
||||
|
||||
CGraphics.FadeTo(EScreens.ScreenNames);
|
||||
}
|
||||
}
|
||||
|
||||
private void StartMedleySong(int SongNr)
|
||||
{
|
||||
if ((CSongs.Category >= 0) && (SongNr >= 0))
|
||||
{
|
||||
EGameMode gm;
|
||||
if (CSongs.VisibleSongs[SongNr].Medley.Source != EMedleySource.None)
|
||||
gm = GameModes.EGameMode.TR_GAMEMODE_MEDLEY;
|
||||
else
|
||||
return;
|
||||
|
||||
CGame.Reset();
|
||||
CGame.ClearSongs();
|
||||
CGame.AddVisibleSong(SongNr, gm);
|
||||
|
||||
CGraphics.FadeTo(EScreens.ScreenNames);
|
||||
@@ -255,7 +507,7 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
CGame.Reset();
|
||||
CGame.ClearSongs();
|
||||
|
||||
|
||||
List<int> IDs = new List<int>();
|
||||
for (int i = 0; i < CSongs.AllSongs.Length; i++)
|
||||
{
|
||||
@@ -266,9 +518,9 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
int SongNr = IDs[CGame.Rand.Next(IDs.Count)];
|
||||
|
||||
EGameMode gm = EGameMode.Normal;
|
||||
EGameMode gm = EGameMode.TR_GAMEMODE_NORMAL;
|
||||
if (CSongs.AllSongs[SongNr].IsDuet)
|
||||
gm = EGameMode.Duet;
|
||||
gm = EGameMode.TR_GAMEMODE_DUET;
|
||||
CGame.AddSong(SongNr, gm);
|
||||
|
||||
IDs.Remove(SongNr);
|
||||
@@ -282,7 +534,7 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
CGame.Reset();
|
||||
CGame.ClearSongs();
|
||||
|
||||
|
||||
List<int> IDs = new List<int>();
|
||||
for (int i = 0; i < CSongs.VisibleSongs.Length; i++)
|
||||
{
|
||||
@@ -293,9 +545,9 @@ namespace Vocaluxe.Screens
|
||||
{
|
||||
int SongNr = IDs[CGame.Rand.Next(IDs.Count)];
|
||||
|
||||
EGameMode gm = EGameMode.Normal;
|
||||
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
||||
gm = EGameMode.Duet;
|
||||
EGameMode gm = EGameMode.TR_GAMEMODE_NORMAL;
|
||||
if (CSongs.AllSongs[SongNr].IsDuet)
|
||||
gm = EGameMode.TR_GAMEMODE_DUET;
|
||||
|
||||
CGame.AddSong(SongNr, gm);
|
||||
|
||||
@@ -354,5 +606,221 @@ namespace Vocaluxe.Screens
|
||||
|
||||
SongMenus[htSongMenus(SongMenu)].OnShow();
|
||||
}
|
||||
|
||||
private void ToggleSongOptions(ESongOptionsView view)
|
||||
{
|
||||
_SongOptionsActive = !_SongOptionsActive;
|
||||
if (_SongOptionsActive)
|
||||
{
|
||||
if (view == ESongOptionsView.Song)
|
||||
{
|
||||
EGameMode LastMode = EGameMode.TR_GAMEMODE_NORMAL;
|
||||
if (_AvailableGameModes.Count > 0)
|
||||
LastMode = _AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection];
|
||||
SetInteractionToButton(Buttons[htButtons(ButtonOptionsSing)]);
|
||||
_AvailableGameModes.Clear();
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Clear();
|
||||
if (!CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet)
|
||||
{
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_NORMAL));
|
||||
_AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_NORMAL);
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_SHORTSONG));
|
||||
_AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_SHORTSONG);
|
||||
}
|
||||
if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet)
|
||||
{
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_DUET));
|
||||
_AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_DUET);
|
||||
}
|
||||
if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].Medley.Source != EMedleySource.None)
|
||||
{
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].AddValue(Enum.GetName(typeof(GameModes.EGameMode), GameModes.EGameMode.TR_GAMEMODE_MEDLEY));
|
||||
_AvailableGameModes.Add(GameModes.EGameMode.TR_GAMEMODE_MEDLEY);
|
||||
}
|
||||
//Set SelectSlide-Selection to last selected game-mode if possible
|
||||
for (int i = 0; i < _AvailableGameModes.Count; i++)
|
||||
{
|
||||
if (_AvailableGameModes[i] == LastMode)
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].SetSelectionByValueIndex(i);
|
||||
}
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = true;
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = true;
|
||||
Buttons[htButtons(ButtonOptionsSing)].Visible = true;
|
||||
Buttons[htButtons(ButtonOptionsPlaylist)].Visible = true;
|
||||
}
|
||||
else if (view == ESongOptionsView.General)
|
||||
{
|
||||
Buttons[htButtons(ButtonOptionsRandom)].Visible = CSongs.Category != -1;
|
||||
Buttons[htButtons(ButtonOptionsSingAll)].Visible = true;
|
||||
Buttons[htButtons(ButtonOptionsSingAllVisible)].Visible = CSongs.Category != -1;
|
||||
|
||||
if (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].NumValues > 0)
|
||||
{
|
||||
Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = true;
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = true;
|
||||
SetInteractionToButton(Buttons[htButtons(ButtonOptionsOpenPlaylist)]);
|
||||
}
|
||||
else
|
||||
{
|
||||
Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = false;
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = false;
|
||||
|
||||
if (Buttons[htButtons(ButtonOptionsRandom)].Visible)
|
||||
SetInteractionToButton(Buttons[htButtons(ButtonOptionsRandom)]);
|
||||
else
|
||||
SetInteractionToButton(Buttons[htButtons(ButtonOptionsSingAll)]);
|
||||
}
|
||||
}
|
||||
Buttons[htButtons(ButtonOptionsClose)].Visible = true;
|
||||
Texts[htTexts(TextOptionsTitle)].Visible = true;
|
||||
Statics[htStatics(StaticOptionsBG)].Visible = true;
|
||||
Buttons[htButtons(ButtonOpenOptions)].Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Visible = false;
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Visible = false;
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsClose)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsSing)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsPlaylist)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsRandom)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsSingAll)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsSingAllVisible)].Visible = false;
|
||||
Buttons[htButtons(ButtonOptionsOpenPlaylist)].Visible = false;
|
||||
Buttons[htButtons(ButtonOpenOptions)].Visible = true;
|
||||
Texts[htTexts(TextOptionsTitle)].Visible = false;
|
||||
Statics[htStatics(StaticOptionsBG)].Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
public void CheckPlaylist()
|
||||
{
|
||||
if (Playlists[htPlaylists(Playlist)].ActivePlaylistID == -1)
|
||||
ClosePlaylist();
|
||||
}
|
||||
|
||||
private void OpenPlaylist(int PlaylistID)
|
||||
{
|
||||
if (CPlaylists.Playlists.Length > PlaylistID && PlaylistID > -1)
|
||||
{
|
||||
Playlists[htPlaylists(Playlist)].LoadPlaylist(PlaylistID);
|
||||
SongMenus[htSongMenus(SongMenu)].SetSmallView(true);
|
||||
Playlists[htPlaylists(Playlist)].Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void ClosePlaylist()
|
||||
{
|
||||
SongMenus[htSongMenus(SongMenu)].SetSmallView(false);
|
||||
_PlaylistActive = false;
|
||||
Playlists[htPlaylists(Playlist)].Selected = _PlaylistActive;
|
||||
SongMenus[htSongMenus(SongMenu)].SetActive(!_PlaylistActive);
|
||||
}
|
||||
|
||||
private void UpdatePlaylistNames()
|
||||
{
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Clear();
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].AddValue("TR_SCREENSONG_NEWPLAYLIST");
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].AddValues(CPlaylists.PlaylistNames);
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Clear();
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].AddValues(CPlaylists.PlaylistNames);
|
||||
}
|
||||
|
||||
private void OpenPlaylistAction()
|
||||
{
|
||||
//Open a playlist
|
||||
if (Playlists[htPlaylists(Playlist)].ActivePlaylistID != (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Selection))
|
||||
{
|
||||
Playlists[htPlaylists(Playlist)].ActivePlaylistID = SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistOpen)].Selection;
|
||||
SetSelectSlidePlaylistToCurrentPlaylist();
|
||||
|
||||
//Open playlist
|
||||
OpenPlaylist(Playlists[htPlaylists(Playlist)].ActivePlaylistID);
|
||||
Playlists[htPlaylists(Playlist)].ScrollToBottom();
|
||||
}
|
||||
ToggleSongOptions(ESongOptionsView.None);
|
||||
}
|
||||
|
||||
private void OpenAndAddPlaylistAction()
|
||||
{
|
||||
//Open a playlist and add song
|
||||
if (Playlists[htPlaylists(Playlist)].ActivePlaylistID != (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1))
|
||||
{
|
||||
//Check selected game-mode
|
||||
EGameMode gm;
|
||||
if (_AvailableGameModes.Count >= SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection)
|
||||
gm = _AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection];
|
||||
else
|
||||
if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet)
|
||||
gm = GameModes.EGameMode.TR_GAMEMODE_DUET;
|
||||
else
|
||||
gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL;
|
||||
|
||||
//Check if Playlist really exists
|
||||
if (SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1 < 0)
|
||||
Playlists[htPlaylists(Playlist)].ActivePlaylistID = CPlaylists.NewPlaylist();
|
||||
else
|
||||
Playlists[htPlaylists(Playlist)].ActivePlaylistID = SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1;
|
||||
|
||||
//Add song to playlist
|
||||
CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].AddSong(CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].ID, gm);
|
||||
|
||||
//Open playlist
|
||||
OpenPlaylist(Playlists[htPlaylists(Playlist)].ActivePlaylistID);
|
||||
|
||||
SetSelectSlidePlaylistToCurrentPlaylist();
|
||||
}
|
||||
//Create a new playlist and add song
|
||||
else if ((SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection - 1) == -1)
|
||||
{
|
||||
//Check selected game-mode
|
||||
EGameMode gm;
|
||||
if (_AvailableGameModes.Count >= SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection)
|
||||
gm = _AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection];
|
||||
else
|
||||
if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet)
|
||||
gm = GameModes.EGameMode.TR_GAMEMODE_DUET;
|
||||
else
|
||||
gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL;
|
||||
|
||||
//Create new playlist
|
||||
Playlists[htPlaylists(Playlist)].ActivePlaylistID = CPlaylists.NewPlaylist();
|
||||
|
||||
//Add song to playlist
|
||||
CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].AddSong(CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].ID, gm);
|
||||
|
||||
//Open playlist
|
||||
OpenPlaylist(Playlists[htPlaylists(Playlist)].ActivePlaylistID);
|
||||
|
||||
//Add new playlist to select-slide
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].AddValue(CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].PlaylistName);
|
||||
|
||||
SetSelectSlidePlaylistToCurrentPlaylist();
|
||||
|
||||
}
|
||||
//Add song to loaded playlist
|
||||
else
|
||||
{
|
||||
//Check selected game-mode
|
||||
EGameMode gm;
|
||||
if (_AvailableGameModes.Count >= SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection)
|
||||
gm = _AvailableGameModes[SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Selection];
|
||||
else
|
||||
if (CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].IsDuet)
|
||||
gm = GameModes.EGameMode.TR_GAMEMODE_DUET;
|
||||
else
|
||||
gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL;
|
||||
CPlaylists.Playlists[Playlists[htPlaylists(Playlist)].ActivePlaylistID].AddSong(CSongs.VisibleSongs[SongMenus[htSongMenus(SongMenu)].GetSelectedSong()].ID, gm);
|
||||
Playlists[htPlaylists(Playlist)].UpdatePlaylist();
|
||||
Playlists[htPlaylists(Playlist)].ScrollToBottom();
|
||||
}
|
||||
ToggleSongOptions(ESongOptionsView.Song);
|
||||
}
|
||||
|
||||
private void SetSelectSlidePlaylistToCurrentPlaylist()
|
||||
{
|
||||
SelectSlides[htSelectSlides(SelectSlideOptionsPlaylistAdd)].Selection = Playlists[htPlaylists(Playlist)].ActivePlaylistID + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -169,6 +169,7 @@
|
||||
<Compile Include="Base\CGame.cs" />
|
||||
<Compile Include="Base\CLanguage.cs" />
|
||||
<Compile Include="Base\CLog.cs" />
|
||||
<Compile Include="Base\CPlaylists.cs" />
|
||||
<Compile Include="Base\CProfiles.cs" />
|
||||
<Compile Include="Base\CUtility.cs" />
|
||||
<Compile Include="Base\CSettings.cs" />
|
||||
@@ -188,6 +189,7 @@
|
||||
<Compile Include="Lib\Draw\COpenGL.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Lib\Playlist\CPlaylistFile.cs" />
|
||||
<Compile Include="Lib\Song\CNotes.cs" />
|
||||
<Compile Include="Lib\Song\CSong.cs" />
|
||||
<Compile Include="Lib\Sound\CDirectSoundRecord.cs" />
|
||||
@@ -213,6 +215,8 @@
|
||||
<Compile Include="Menu\CLyric.cs" />
|
||||
<Compile Include="Menu\CMenu.cs" />
|
||||
<Compile Include="Menu\CInteraction.cs" />
|
||||
<Compile Include="Menu\CObjectInteractions.cs" />
|
||||
<Compile Include="Menu\CPlaylist.cs" />
|
||||
<Compile Include="Menu\CSelectSlide.cs" />
|
||||
<Compile Include="Menu\CStatic.cs" />
|
||||
<Compile Include="Menu\CText.cs" />
|
||||
|
||||