diff --git a/Output/Languages/Deutsch.xml b/Output/Languages/Deutsch.xml index 845b01ae..8fe726bf 100644 --- a/Output/Languages/Deutsch.xml +++ b/Output/Languages/Deutsch.xml @@ -122,6 +122,11 @@ Lied singen Zur Playlist hinzufügen Schließen + Zufälligen Song wählen + Alle Songs singen + Alle sichtbaren Song singen + Playlist öffnen + Neue Playlist Lied-Optionen Suche: Ohne Sprache @@ -135,11 +140,13 @@ Pause Lied beenden Fortfahren + Lied überspringen Auswertung Bewertung Punkte Schwierigkeit + Gesamtpunktzahl Highscore diff --git a/Output/Languages/English.xml b/Output/Languages/English.xml index 1639ea9d..10b2e4fa 100644 --- a/Output/Languages/English.xml +++ b/Output/Languages/English.xml @@ -122,6 +122,11 @@ Sing Add to playlist Close + Select a random song + Sing all songs + Sing all visible songs + Open playlist + New Playlist Song Options Search: No Language @@ -135,11 +140,13 @@ Pause Stop singing Continue + Skip this song Scores Rating Points Difficulty + Overall score Highscore diff --git a/Output/Languages/French.xml b/Output/Languages/French.xml index f60e82a3..6da3296d 100644 --- a/Output/Languages/French.xml +++ b/Output/Languages/French.xml @@ -117,6 +117,7 @@ Rechercher: Pas de Langue Pas d'Année + TODO: New Playlist Pas de Genre Pas d'Edition Toutes les chansons diff --git a/Output/Languages/Spanish.xml b/Output/Languages/Spanish.xml index 483e30a3..2c4a8456 100644 --- a/Output/Languages/Spanish.xml +++ b/Output/Languages/Spanish.xml @@ -116,6 +116,7 @@ Selección de Canciones Buscar: Sin Idioma + TODO: New Playlist Sin Año Sin Género Sin Edición diff --git a/Output/Playlists/Test.xml b/Output/Playlists/Test.xml deleted file mode 100644 index 8e5b1b98..00000000 --- a/Output/Playlists/Test.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Test - - - - 2raumwohnung - 36 grad - TR_GAMEMODE_NORMAL - - - Aura Dione - Geronimo - TR_GAMEMODE_SHORTSONG - - - Die Toten Hosen - Tage wie diese - TR_GAMEMODE_MEDLEY - - - \ No newline at end of file diff --git a/Output/Readme.txt b/Output/Readme.txt index 38fc134a..1ec5c587 100644 --- a/Output/Readme.txt +++ b/Output/Readme.txt @@ -109,7 +109,8 @@ Vocaluxe.exe -ConfigFile MyConfig.xml -ScoreFile C:\Vocaluxe\Highscores\MyHighsc Songscreen [CTRL] + [R] to select a random song [F3] to open/close the song search menu -[A] to sing all songs from a category +[A] to sing all songs +[SHIFT] + [A] to sing all songs from a category ================================= diff --git a/Output/Themes/Ambient/Close.png b/Output/Themes/Ambient/Close.png new file mode 100644 index 00000000..b8b8a994 Binary files /dev/null and b/Output/Themes/Ambient/Close.png differ diff --git a/Output/Themes/Ambient/Delete.png b/Output/Themes/Ambient/Delete.png new file mode 100644 index 00000000..46a686ad Binary files /dev/null and b/Output/Themes/Ambient/Delete.png differ diff --git a/Output/Themes/Ambient/Save.png b/Output/Themes/Ambient/Save.png new file mode 100644 index 00000000..1afc3113 Binary files /dev/null and b/Output/Themes/Ambient/Save.png differ diff --git a/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml b/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml index c8330637..bc07248e 100644 --- a/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml +++ b/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml @@ -58,7 +58,7 @@ Outline - + @@ -103,7 +103,7 @@ Normal - + @@ -152,7 +152,7 @@ Normal - + @@ -201,7 +201,7 @@ Normal - + @@ -250,7 +250,7 @@ Normal - + @@ -299,7 +299,7 @@ Normal - + @@ -348,7 +348,7 @@ Normal - + @@ -397,7 +397,7 @@ Normal - + @@ -446,7 +446,7 @@ Normal - + diff --git a/Output/Themes/Ambient/Screens/ScreenHighscore.xml b/Output/Themes/Ambient/Screens/ScreenHighscore.xml index caf13c13..b036b823 100644 --- a/Output/Themes/Ambient/Screens/ScreenHighscore.xml +++ b/Output/Themes/Ambient/Screens/ScreenHighscore.xml @@ -68,7 +68,7 @@ Outline - + TR_SCREENHIGHSCORE_HIGHSCORE @@ -97,7 +97,7 @@ Outline - + @@ -126,7 +126,7 @@ Outline - + @@ -155,7 +155,7 @@ Outline - + @@ -184,7 +184,7 @@ Outline - + @@ -213,7 +213,7 @@ Outline - + @@ -242,7 +242,7 @@ Outline - + @@ -271,7 +271,7 @@ Outline - + @@ -300,7 +300,7 @@ Outline - + @@ -329,7 +329,7 @@ Outline - + @@ -358,7 +358,7 @@ Outline - + @@ -387,7 +387,7 @@ Outline - + @@ -416,7 +416,7 @@ Outline - + @@ -445,7 +445,7 @@ Outline - + @@ -474,7 +474,7 @@ Outline - + @@ -503,7 +503,7 @@ Outline - + @@ -532,7 +532,7 @@ Outline - + @@ -561,7 +561,7 @@ Outline - + @@ -590,7 +590,7 @@ Outline - + @@ -619,7 +619,7 @@ Outline - + @@ -648,7 +648,7 @@ Outline - + @@ -677,7 +677,7 @@ Outline - + @@ -706,7 +706,7 @@ Outline - + @@ -735,7 +735,7 @@ Outline - + @@ -764,7 +764,7 @@ Outline - + @@ -793,7 +793,7 @@ Outline - + @@ -822,7 +822,7 @@ Outline - + @@ -851,7 +851,7 @@ Outline - + @@ -880,7 +880,7 @@ Outline - + @@ -909,7 +909,7 @@ Outline - + @@ -938,7 +938,7 @@ Outline - + @@ -967,7 +967,7 @@ Outline - + @@ -996,7 +996,7 @@ Outline - + @@ -1025,7 +1025,7 @@ Outline - + @@ -1054,7 +1054,7 @@ Outline - + @@ -1083,7 +1083,7 @@ Outline - + @@ -1112,7 +1112,7 @@ Outline - + @@ -1141,7 +1141,7 @@ Outline - + @@ -1170,7 +1170,7 @@ Outline - + @@ -1199,7 +1199,7 @@ Outline - + @@ -1228,7 +1228,7 @@ Outline - + @@ -1257,7 +1257,7 @@ Outline - + @@ -1286,7 +1286,7 @@ Outline - + diff --git a/Output/Themes/Ambient/Screens/ScreenLoad.xml b/Output/Themes/Ambient/Screens/ScreenLoad.xml index a4030b21..6f78787d 100644 --- a/Output/Themes/Ambient/Screens/ScreenLoad.xml +++ b/Output/Themes/Ambient/Screens/ScreenLoad.xml @@ -52,7 +52,7 @@ Outline - + TR_PROGRAM_NAME @@ -81,7 +81,7 @@ Outline - + TR_SCREENLOAD_LOADING @@ -110,7 +110,7 @@ Outline - + diff --git a/Output/Themes/Ambient/Screens/ScreenMain.xml b/Output/Themes/Ambient/Screens/ScreenMain.xml index 6c195ea0..71116b93 100644 --- a/Output/Themes/Ambient/Screens/ScreenMain.xml +++ b/Output/Themes/Ambient/Screens/ScreenMain.xml @@ -68,7 +68,7 @@ Outline - + TR_SCREENMAIN_BUTTON_SING @@ -125,7 +125,7 @@ Outline - + TR_SCREENMAIN_BUTTON_OPTIONS @@ -182,7 +182,7 @@ Outline - + TR_SCREENMAIN_BUTTON_PROFILES @@ -239,7 +239,7 @@ Outline - + TR_BUTTON_EXIT diff --git a/Output/Themes/Ambient/Screens/ScreenNames.xml b/Output/Themes/Ambient/Screens/ScreenNames.xml index c1ac532c..86d907e3 100644 --- a/Output/Themes/Ambient/Screens/ScreenNames.xml +++ b/Output/Themes/Ambient/Screens/ScreenNames.xml @@ -1,7 +1,7 @@  - 2 + 3 Video @@ -276,7 +276,7 @@ Outline - + TR_SCREENNAMES_MENU @@ -306,7 +306,7 @@ Outline - + @@ -336,7 +336,7 @@ Outline - + @@ -365,7 +365,7 @@ Outline - + @@ -394,7 +394,7 @@ Outline - + @@ -423,7 +423,7 @@ Outline - + @@ -452,7 +452,7 @@ Outline - + @@ -481,7 +481,7 @@ Outline - + @@ -510,7 +510,7 @@ Outline - + @@ -555,7 +555,7 @@ Outline - + TR_BUTTON_BACK @@ -612,7 +612,7 @@ Outline - + TR_BUTTON_START @@ -695,6 +695,396 @@ 6 + + + Invisible + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + 41 + 105 + -4,00 + 88 + 20 + + 20 + 105 + -4,01 + 20 + 20 + + 20 + 105 + -4,01 + 20 + 20 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20,00 + + 86,00 + + Outline + + Bold + + 1 + + + + Invisible + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + 41 + 260 + -4,00 + 88 + 20 + + 20 + 260 + -4,01 + 20 + 20 + + 20 + 260 + -4,01 + 20 + 20 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20,00 + + 86,00 + + Outline + + Bold + + 1 + + + + Invisible + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + 41 + 415 + -4,00 + 88 + 20 + + 20 + 415 + -4,01 + 20 + 20 + + 20 + 415 + -4,01 + 20 + 20 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20,00 + + 86,00 + + Outline + + Bold + + 1 + + + + Invisible + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + 1152 + 105 + -4,00 + 88 + 20 + + 1240 + 105 + -4,01 + 20 + 20 + + 1240 + 105 + -4,01 + 20 + 20 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20,00 + + 86,00 + + Outline + + Bold + + 1 + + + + Invisible + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + 1152 + 260 + -4,00 + 88 + 20 + + 1240 + 260 + -4,01 + 20 + 20 + + 1240 + 260 + -4,01 + 20 + 20 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20,00 + + 86,00 + + Outline + + Bold + + 1 + + + + Invisible + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + SelectSlideArrowLeft + + SelectSlideArrowRight + + Button + + 1152 + 415 + -4,00 + 88 + 20 + + 1240 + 415 + -4,01 + 20 + 20 + + 1240 + 415 + -4,01 + 20 + 20 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20,00 + + 86,00 + + Outline + + Bold + + 1 + 172 @@ -738,5 +1128,167 @@ + + + Invisible + + 21 + 152 + -4,00 + 108 + 60 + + 8 + + 2,00 + + + + TR_CONFIG_OFF + + + Player1Dim2 + + + Player1Dim2 + + + + + + + Invisible + + 21 + 307 + -4,00 + 108 + 60 + + 8 + + 2,00 + + + + TR_CONFIG_OFF + + + Player2Dim2 + + + Player2Dim2 + + + + + + + Invisible + + 21 + 467 + -4,00 + 108 + 60 + + 8 + + 2,00 + + + + TR_CONFIG_OFF + + + Player3Dim2 + + + Player3Dim2 + + + + + + + Invisible + + 1153 + 152 + -4,00 + 108 + 60 + + 8 + + 2,00 + + + + TR_CONFIG_OFF + + + Player4Dim2 + + + Player4Dim2 + + + + + + + Invisible + + 1153 + 307 + -4,00 + 108 + 60 + + 8 + + 2,00 + + + + TR_CONFIG_OFF + + + Player5Dim2 + + + Player5Dim2 + + + + + + + Invisible + + 1153 + 467 + -4,00 + 108 + 60 + + 8 + + 2,00 + + + + TR_CONFIG_OFF + + + Player6Dim2 + + + Player6Dim2 + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenOptions.xml b/Output/Themes/Ambient/Screens/ScreenOptions.xml index 5ce06914..808f1d29 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptions.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptions.xml @@ -52,7 +52,7 @@ Outline - + TR_SCREENO_OPTIONS @@ -97,7 +97,7 @@ Outline - + TR_SCREENO_BUTTON_GAME @@ -154,7 +154,7 @@ Outline - + TR_SCRENNO_BUTTON_SOUND @@ -211,7 +211,7 @@ Outline - + TR_SCREENO_BUTTON_RECORD @@ -268,7 +268,7 @@ Outline - + TR_SCREENO_BUTTON_VIDEO @@ -325,7 +325,7 @@ Outline - + TR_SCREENO_BUTTON_LYRICS @@ -382,7 +382,7 @@ Outline - + TR_SCREENO_BUTTON_THEME diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml b/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml index 28e4b3d2..bdd2f750 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml @@ -148,7 +148,7 @@ Outline - + TR_SCREENOGAME_OPTIONS @@ -177,7 +177,7 @@ Outline - + TR_SCREENOGAME_LANGUAGE @@ -206,7 +206,7 @@ Outline - + TR_SCREENOGAME_DEBUGLEVEL @@ -235,7 +235,7 @@ Outline - + TR_SCREENOGAME_SONGMENU @@ -264,7 +264,7 @@ Outline - + TR_SCREENOGAME_SONGSORTING @@ -293,7 +293,7 @@ Outline - + TR_SCREENOGAME_TABS @@ -322,7 +322,7 @@ Outline - + TR_SCREENOGAME_TIMERMODE @@ -367,7 +367,7 @@ Outline - + TR_BUTTON_BACK diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml b/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml index 521fd578..d544a49f 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml @@ -52,7 +52,7 @@ Outline - + TR_SCREENOLYRICS_OPTIONS @@ -81,7 +81,7 @@ Outline - + TR_SCREENOLYRICS_STYLE @@ -110,7 +110,7 @@ Outline - + TR_SCREENOLYRICS_ONTOP @@ -155,7 +155,7 @@ Outline - + TR_BUTTON_BACK diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml b/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml index 1888fdc0..2100c33e 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml @@ -1,7 +1,7 @@  - 1 + 2 Video @@ -180,7 +180,7 @@ Outline - + TR_SCREENORECORD_OPTIONS @@ -209,7 +209,7 @@ Outline - + TR_SCREENORECORD_DEVICE @@ -238,7 +238,7 @@ Outline - + TR_SCREENORECORD_INPUT @@ -267,7 +267,7 @@ Outline - + TR_SCREENORECORD_CHANNEL_1 @@ -296,7 +296,7 @@ Outline - + TR_SCREENORECORD_CHANNEL_2 @@ -325,7 +325,7 @@ Outline - + TR_SCREENORECORD_MIC_DELAY @@ -355,7 +355,7 @@ Outline - + TR_SCREENORECORD_MIC_WARNING @@ -384,7 +384,7 @@ Outline - + @@ -413,7 +413,7 @@ Outline - + @@ -458,7 +458,7 @@ Outline - + TR_BUTTON_BACK @@ -515,7 +515,7 @@ Outline - + TR_SCREENORECORD_BUTTON_DELAYTEST @@ -858,5 +858,67 @@ 5 + + + Invisible + + 50 + 400 + -1,00 + 230 + 150 + + 10 + + 2,00 + + + + TR_CONFIG_OFF + + + ButtonColor + + + ButtonColor + + + + + 10 + 26 + + + + + Invisible + + 400 + 400 + -1,00 + 230 + 150 + + 10 + + 2,00 + + + + TR_CONFIG_OFF + + + ButtonColor + + + ButtonColor + + + + + 10 + 26 + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml index 597e24f4..3f23d55c 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml @@ -52,7 +52,7 @@ Outline - + TR_SCREENOSOUND_OPTIONS @@ -81,7 +81,7 @@ Outline - + TR_SCREENOSOUND_BACKGROUNDMUSIC @@ -110,7 +110,7 @@ Outline - + TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME @@ -139,7 +139,7 @@ Outline - + TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE @@ -184,7 +184,7 @@ Outline - + TR_BUTTON_BACK diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml b/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml index fbb7f91c..15c6492b 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml @@ -180,7 +180,7 @@ Outline - + TR_SCREENOTHEME_OPTIONS @@ -209,7 +209,7 @@ Outline - + TR_SCREENOTHEME_THEME @@ -238,7 +238,7 @@ Outline - + TR_SCREENOTHEME_SKIN @@ -267,7 +267,7 @@ Outline - + TR_SCREENOTHEME_COVERTHEME @@ -296,7 +296,7 @@ Outline - + TR_SCREENOTHEME_NOTELINES @@ -325,7 +325,7 @@ Outline - + TR_SCREENOTHEME_TONEHELPER @@ -354,7 +354,7 @@ Outline - + TR_SCREENOTHEME_TIMERLOOK @@ -383,7 +383,7 @@ Outline - + TR_SCREENOTHEME_FADEINFO @@ -412,7 +412,7 @@ Outline - + TR_SCREENOTHEME_COVERLOADING @@ -457,7 +457,7 @@ Outline - + TR_BUTTON_BACK diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml b/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml index 0bacb58b..74d6bfac 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml @@ -100,7 +100,7 @@ Outline - + TR_SCREENOVIDEO_OPTIONS @@ -129,7 +129,7 @@ Outline - + TR_SCREENOVIDEO_VIDEOBACKGROUNDS @@ -158,7 +158,7 @@ Outline - + TR_SCREENOVIDEO_VIDEOPREVIEW @@ -187,7 +187,7 @@ Outline - + TR_SCREENOVIDEO_VIDEOINSONGS @@ -216,7 +216,7 @@ Normal - + TR_SCREENO_VIDEO_VIDEOSTOBACKGROUND @@ -261,7 +261,7 @@ Outline - + TR_BUTTON_BACK diff --git a/Output/Themes/Ambient/Screens/ScreenProfiles.xml b/Output/Themes/Ambient/Screens/ScreenProfiles.xml index 128a373b..7bd59c6b 100644 --- a/Output/Themes/Ambient/Screens/ScreenProfiles.xml +++ b/Output/Themes/Ambient/Screens/ScreenProfiles.xml @@ -148,7 +148,7 @@ Outline - + TR_SCREENPROFILES_PROFILES @@ -177,7 +177,7 @@ Outline - + TR_SCREENPROFILES_PLAYERNAME @@ -206,7 +206,7 @@ Outline - + TR_SCREENPROFILES_GAMEDIFFICULTY @@ -235,7 +235,7 @@ Outline - + TR_SCREENPROFILES_AVATAR @@ -264,7 +264,7 @@ Outline - + TR_SCREENPROFILES_GUESTPROFILE @@ -293,7 +293,7 @@ Outline - + TR_SCREENPROFILES_ACTIVE @@ -338,7 +338,7 @@ Outline - + @@ -387,7 +387,7 @@ Outline - + TR_BUTTON_BACK @@ -444,7 +444,7 @@ Outline - + TR_BUTTON_SAVE @@ -501,7 +501,7 @@ Outline - + TR_SCREENPROFILES_BUTTON_NEW @@ -558,7 +558,7 @@ Outline - + TR_SCREENPROFILES_BUTTON_DELETE diff --git a/Output/Themes/Ambient/Screens/ScreenScore.xml b/Output/Themes/Ambient/Screens/ScreenScore.xml index cccaaae3..814efcfe 100644 --- a/Output/Themes/Ambient/Screens/ScreenScore.xml +++ b/Output/Themes/Ambient/Screens/ScreenScore.xml @@ -1226,7 +1226,7 @@ Outline - + TR_SCREENSCORE_SCORES @@ -1255,7 +1255,7 @@ Outline - + @@ -1284,7 +1284,7 @@ Outline - + @@ -1313,7 +1313,7 @@ Outline - + @@ -1342,7 +1342,7 @@ Outline - + @@ -1371,7 +1371,7 @@ Outline - + @@ -1400,7 +1400,7 @@ Outline - + @@ -1429,7 +1429,7 @@ Outline - + @@ -1458,7 +1458,7 @@ Outline - + @@ -1487,7 +1487,7 @@ Outline - + @@ -1516,7 +1516,7 @@ Outline - + @@ -1545,7 +1545,7 @@ Outline - + @@ -1574,7 +1574,7 @@ Outline - + @@ -1603,7 +1603,7 @@ Outline - + @@ -1632,7 +1632,7 @@ Outline - + @@ -1661,7 +1661,7 @@ Outline - + @@ -1690,7 +1690,7 @@ Outline - + @@ -1719,7 +1719,7 @@ Outline - + @@ -1748,7 +1748,7 @@ Outline - + @@ -1777,7 +1777,7 @@ Outline - + @@ -1806,7 +1806,7 @@ Outline - + @@ -1835,7 +1835,7 @@ Outline - + @@ -1864,7 +1864,7 @@ Outline - + @@ -1893,7 +1893,7 @@ Outline - + @@ -1922,7 +1922,7 @@ Outline - + @@ -1951,7 +1951,7 @@ Outline - + @@ -1980,7 +1980,7 @@ Outline - + @@ -2009,7 +2009,7 @@ Outline - + @@ -2039,7 +2039,7 @@ Outline - + @@ -2068,7 +2068,7 @@ Outline - + @@ -2097,7 +2097,7 @@ Outline - + @@ -2126,7 +2126,7 @@ Outline - + @@ -2156,7 +2156,7 @@ Outline - + @@ -2185,7 +2185,7 @@ Outline - + @@ -2214,7 +2214,7 @@ Outline - + @@ -2243,7 +2243,7 @@ Outline - + @@ -2273,7 +2273,7 @@ Outline - + @@ -2302,7 +2302,7 @@ Outline - + @@ -2331,7 +2331,7 @@ Outline - + @@ -2360,7 +2360,7 @@ Outline - + @@ -2390,7 +2390,7 @@ Outline - + @@ -2419,7 +2419,7 @@ Outline - + @@ -2449,7 +2449,7 @@ Outline - + @@ -2479,7 +2479,7 @@ Outline - + @@ -2509,7 +2509,7 @@ Outline - + @@ -2539,7 +2539,7 @@ Outline - + @@ -2569,7 +2569,7 @@ Outline - + @@ -2599,7 +2599,7 @@ Outline - + @@ -2629,7 +2629,7 @@ Outline - + @@ -2659,7 +2659,7 @@ Outline - + @@ -2689,7 +2689,7 @@ Outline - + @@ -2719,7 +2719,7 @@ Outline - + @@ -2749,7 +2749,7 @@ Outline - + @@ -2779,7 +2779,7 @@ Outline - + @@ -2809,7 +2809,7 @@ Outline - + @@ -2839,7 +2839,7 @@ Outline - + @@ -2869,7 +2869,7 @@ Outline - + @@ -2899,7 +2899,7 @@ Outline - + @@ -2929,7 +2929,7 @@ Outline - + @@ -2959,7 +2959,7 @@ Outline - + @@ -2989,7 +2989,7 @@ Outline - + @@ -3019,7 +3019,7 @@ Outline - + @@ -3049,7 +3049,7 @@ Outline - + @@ -3079,7 +3079,7 @@ Outline - + @@ -3109,7 +3109,7 @@ Outline - + @@ -3139,7 +3139,7 @@ Outline - + @@ -3169,7 +3169,7 @@ Outline - + @@ -3199,7 +3199,7 @@ Outline - + @@ -3229,7 +3229,7 @@ Outline - + @@ -3259,7 +3259,7 @@ Outline - + @@ -3289,7 +3289,7 @@ Outline - + @@ -3319,7 +3319,7 @@ Outline - + @@ -3349,7 +3349,7 @@ Outline - + @@ -3379,7 +3379,7 @@ Outline - + @@ -3409,7 +3409,7 @@ Outline - + @@ -3439,7 +3439,7 @@ Outline - + @@ -3469,7 +3469,7 @@ Outline - + @@ -3499,7 +3499,7 @@ Outline - + @@ -3529,7 +3529,7 @@ Outline - + @@ -3559,7 +3559,7 @@ Outline - + @@ -3589,7 +3589,7 @@ Outline - + @@ -3619,7 +3619,7 @@ Outline - + @@ -3649,7 +3649,7 @@ Outline - + @@ -3679,7 +3679,7 @@ Outline - + @@ -3709,7 +3709,7 @@ Outline - + @@ -3739,7 +3739,7 @@ Outline - + diff --git a/Output/Themes/Ambient/Screens/ScreenSing.xml b/Output/Themes/Ambient/Screens/ScreenSing.xml index 4d33b2f0..21d12061 100644 --- a/Output/Themes/Ambient/Screens/ScreenSing.xml +++ b/Output/Themes/Ambient/Screens/ScreenSing.xml @@ -1,7 +1,7 @@  - 4 + 5 None @@ -982,7 +982,7 @@ Normal - + @@ -1011,7 +1011,7 @@ Normal - + @@ -1040,12 +1040,70 @@ Normal - + TR_SCREENSING_PAUSE + + + 40 + 80 + + -1,00 + + 35 + + + + TextSColor + + + TextSColor + + Left + + Center + + + + Outline + + + + + + + + + 40 + 585 + + -1,00 + + 35 + + + + TextSColor + + + TextSColor + + Left + + Center + + + + Outline + + + + + + 1240 @@ -1069,7 +1127,7 @@ Normal - + @@ -1101,7 +1159,7 @@ Outline - + @@ -1130,7 +1188,7 @@ Normal - + @@ -1162,7 +1220,7 @@ Outline - + @@ -1191,7 +1249,7 @@ Normal - + @@ -1223,7 +1281,7 @@ Outline - + @@ -1252,7 +1310,7 @@ Normal - + @@ -1284,7 +1342,7 @@ Outline - + @@ -1313,7 +1371,7 @@ Normal - + @@ -1345,7 +1403,7 @@ Outline - + @@ -1374,7 +1432,7 @@ Normal - + @@ -1406,7 +1464,7 @@ Outline - + @@ -1435,7 +1493,7 @@ Normal - + @@ -1467,7 +1525,7 @@ Outline - + @@ -1496,7 +1554,7 @@ Normal - + @@ -1528,7 +1586,7 @@ Outline - + @@ -1557,7 +1615,7 @@ Normal - + @@ -1589,7 +1647,7 @@ Outline - + @@ -1618,7 +1676,7 @@ Normal - + @@ -1650,7 +1708,7 @@ Outline - + @@ -1679,7 +1737,7 @@ Normal - + @@ -1711,7 +1769,7 @@ Outline - + @@ -1740,7 +1798,7 @@ Normal - + @@ -1772,7 +1830,7 @@ Outline - + @@ -1801,7 +1859,7 @@ Normal - + @@ -1833,7 +1891,7 @@ Outline - + @@ -1862,7 +1920,7 @@ Normal - + @@ -1894,7 +1952,7 @@ Outline - + @@ -1923,7 +1981,7 @@ Normal - + @@ -1955,7 +2013,7 @@ Outline - + @@ -1984,7 +2042,7 @@ Normal - + @@ -2016,7 +2074,7 @@ Outline - + @@ -2045,7 +2103,7 @@ Normal - + @@ -2077,7 +2135,7 @@ Outline - + @@ -2106,7 +2164,7 @@ Normal - + @@ -2138,7 +2196,7 @@ Outline - + @@ -2167,7 +2225,7 @@ Normal - + @@ -2199,7 +2257,7 @@ Outline - + @@ -2228,7 +2286,7 @@ Normal - + @@ -2260,7 +2318,7 @@ Outline - + @@ -2289,7 +2347,7 @@ Normal - + @@ -2321,7 +2379,7 @@ Outline - + @@ -2333,7 +2391,7 @@ Button - 670 + 775 300 -2,11 150 @@ -2366,7 +2424,7 @@ Outline - + TR_SCREENSING_BUTTON_CANCEL @@ -2390,7 +2448,7 @@ Button - 460 + 355 300 -2,11 150 @@ -2423,7 +2481,7 @@ Outline - + TR_SCREENSING_BUTTON_CONTINUE @@ -2441,6 +2499,63 @@ 26 + + + Button + + Button + + 565 + 300 + -2,11 + 150 + 50 + + + ButtonColor + + + ButtonSColor + + + 75 + 10 + + 32 + + 142 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_SCREENSING_BUTTON_SKIP + + + + + + 10 + 26 + + + + + + 10 + 26 + + 637 diff --git a/Output/Themes/Ambient/Screens/ScreenSong.xml b/Output/Themes/Ambient/Screens/ScreenSong.xml index 4abd92ab..3d744951 100644 --- a/Output/Themes/Ambient/Screens/ScreenSong.xml +++ b/Output/Themes/Ambient/Screens/ScreenSong.xml @@ -33,25 +33,6 @@ 26 - - - SongMenuBG - - 40 - 40 - -2,10 - 360 - 360 - - - 1 - 1 - 1 - 1 - - - - Menu @@ -72,175 +53,25 @@ 26 - + - Button - - Button - + SongMenuBG + 40 - 90 - -2,11 + 40 + -2,10 360 - 40 - + 360 + - ButtonColor - - - ButtonSColor - - - 180 - 5 - - 30 - - 350 - - - ButtonTextColor - - - ButtonTextSColor - - Center - - - - Outline - - TR_SCREENSONG_BUTTON_SING - + 1,00 + 1,00 + 1,00 + 1,00 - - - - - - - Button - - Button - - 40 - 180 - -2,11 - 360 - 40 - - - ButtonColor - - - ButtonSColor - - - 180 - 5 - - 30 - - 350 - - - ButtonTextColor - - - ButtonTextSColor - - Center - - - - Outline - - TR_SCREENSONG_BUTTON_PLAYLIST - - - - - - - - - - - Button - - Button - - 40 - 225 - -2,11 - 360 - 40 - - - ButtonColor - - - ButtonSColor - - - 180 - 5 - - 30 - - 350 - - - ButtonTextColor - - - ButtonTextSColor - - Center - - - - Outline - - TR_SCREENSONG_BUTTON_CANCEL - - - - - - - - - - - 200 - 45 - - -2,11 - - 40 - - 350 - - - StaticColor - - - TextSColor - - Center - - - - Outline - - TR_SCREENSONG_SONGOPTIONS - - - - + 220 @@ -265,7 +96,7 @@ Outline - + @@ -299,7 +130,7 @@ Outline - + @@ -332,7 +163,7 @@ Outline - + TR_SCREENSONG_SEARCH @@ -361,12 +192,434 @@ Outline - + + + + 220 + 45 + + -2,11 + + 40 + + 350 + + + StaticColor + + + TextSColor + + Center + + Center + + + + Outline + + TR_SCREENSONG_SONGOPTIONS + + + + + + + Button + + Button + + 40 + 360 + -2,11 + 360 + 40 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_SCREENSONG_BUTTON_CANCEL + + + + + + + + + + + Button + + Button + + 40 + 235 + -2,11 + 360 + 40 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_SCREENSONG_BUTTON_PLAYLIST + + + + + + + + + + + Button + + Button + + 40 + 90 + -2,11 + 360 + 40 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_SCREENSONG_BUTTON_SING + + + + + + + + + + + Button + + Button + + 40 + 135 + -2,11 + 360 + 40 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_SCREENSONG_BUTTON_SINGALL + + + + + + + + + + + Button + + Button + + 40 + 180 + -2,11 + 360 + 40 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_SCREENSONG_BUTTON_SINGALLVISIBLE + + + + + + + + + + + Button + + Button + + 40 + 90 + -2,11 + 360 + 40 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_SCREENSONG_BUTTON_RANDOM + + + + + + + + + + + Button + + Button + + 40 + 275 + -2,11 + 360 + 40 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + TR_SCREENSONG_BUTTON_OPENPLAYLIST + + + + + + + + + + + Invisible + + Invisible + + 40 + 40 + -1,01 + 360 + 360 + + + Invisible + + + Invisible + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + + + + + + + + + Button @@ -422,16 +675,146 @@ TextSColor - 30 + 30,00 - 280 + 280,00 Outline Bold 1 - + + + + Button + + SelectSlideArrowLeft + + SelectSlideArrowRight + + SelectSlide + + SelectSlideArrowLeft + + SelectSlideArrowRight + + SelectSlide + + 40 + 190 + -2,11 + 360 + 40 + + 45 + 195 + -2,12 + 30 + 30 + + 365 + 195 + -2,12 + 30 + 30 + + + ButtonColor + + + ButtonSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 30,00 + + 280,00 + + Outline + + Bold + + 1 + + + + Button + + SelectSlideArrowLeft + + SelectSlideArrowRight + + SelectSlide + + SelectSlideArrowLeft + + SelectSlideArrowRight + + SelectSlide + + 40 + 230 + -2,11 + 360 + 40 + + 45 + 235 + -2,12 + 30 + 30 + + 365 + 235 + -2,12 + 30 + 30 + + + ButtonColor + + + ButtonSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 30,00 + + 280,00 + + Outline + + Bold + + 1 + CoverTile @@ -445,12 +828,6 @@ MedleyCalcIcon MedleyTagIcon - - 40 - 100 - -1,00 - 1200 - 530 1,00 @@ -463,21 +840,21 @@ 6 4 - - 4 - - 4 10,00 10,00 + + 4 + + 4 410 40 -1,00 830 550 - + 410 40 -1,00 @@ -507,7 +884,7 @@ Outline - + @@ -537,7 +914,7 @@ Outline - + @@ -567,7 +944,7 @@ Outline - + @@ -671,5 +1048,414 @@ + + + 970 + 80 + -0,90 + 295 + 460 + 50,00 + + CoverTile + + CoverTile + + + StaticColorAlpha + + + StaticColor + + + + + 54 + 4 + + -1,01 + + 24 + + 235 + + + StaticColor + + + TextSColor + + Left + + Top + + + + Outline + + + + + + + + + Menu + + 970 + 550 + -1,00 + 295 + 40 + + + StaticColor + + + + + + + Menu + + 970 + 40 + -1,00 + 295 + 40 + + + StaticColor + + + + + + + + + 4 + 2 + -1,00 + 46 + 46 + + + Visible + + + + + + + Button + + SelectSlideArrowLeft + + SelectSlideArrowRight + + SelectSlide + + SelectSlideArrowLeft + + SelectSlideArrowRight + + SelectSlide + + 54 + 28 + -1,01 + 235 + 24 + + 54 + 30 + -1,02 + 20 + 20 + + 235 + 30 + -1,02 + 20 + 20 + + + ButtonColor + + + ButtonSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 24,00 + + 230,00 + + Outline + + Bold + + 1 + + + + Invisible + + Invisible + + 975 + 45 + -1,01 + 220 + 30 + + + ButtonColor + + + ButtonSColor + + + 0 + 0 + + 30 + + 220 + + + ButtonTextColor + + + ButtonTextSColor + + Left + + Center + + + + Outline + + + + + + + + + + + + + CloseIcon + + CloseIcon + + 1215 + 42 + -1,01 + 35 + 35 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + + + + + + + + + + + + DeleteIcon + + DeleteIcon + + 1215 + 553 + -1,01 + 35 + 35 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + + + + + + + + + + + + SaveIcon + + SaveIcon + + 1175 + 553 + -1,01 + 35 + 35 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + + + + + + + + + + + + SingIcon + + SingIcon + + 975 + 553 + -1,01 + 35 + 35 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + + 30 + + 350 + + + ButtonTextColor + + + ButtonTextSColor + + Center + + Center + + + + Outline + + + + + + + + + + + diff --git a/Output/Themes/Ambient/Sing.png b/Output/Themes/Ambient/Sing.png new file mode 100644 index 00000000..c7daf961 Binary files /dev/null and b/Output/Themes/Ambient/Sing.png differ diff --git a/Output/Themes/Ambient/Skin Blue.xml b/Output/Themes/Ambient/Skin Blue.xml index 50a16aa8..64b055f6 100644 --- a/Output/Themes/Ambient/Skin Blue.xml +++ b/Output/Themes/Ambient/Skin Blue.xml @@ -117,7 +117,7 @@ 0,000 0,500 0,400 - + 0,000 0,000 @@ -130,6 +130,12 @@ 0,969 1,000 + + 0,675 + 0,890 + 0,969 + 0,500 + 0,675 0,890 @@ -166,6 +172,12 @@ 0,969 1,000 + + 0,675 + 0,890 + 0,969 + 0,500 + 0,675 0,890 @@ -251,11 +263,11 @@ 1,000 - 0,00 - 0,00 - 1,00 - 0,50 - + 0,000 + 0,000 + 1,000 + 0,500 + 0,800 0,950 @@ -309,12 +321,16 @@ MedleyTagIcon.png Invisible.png PlayerSelector.png - PreviousIcon.png - NextIcon.png - PlayIcon.png - PauseIcon.png - RepeatIcon.png - SongMenuBG.png + PreviousIcon.png + NextIcon.png + PlayIcon.png + PauseIcon.png + RepeatIcon.png + SongMenuBG.png + Close.png + Delete.png + Save.png + Sing.png [Blue]BG_Video.mp4 @@ -322,4 +338,4 @@ [Blue]IntroMid.mp4 [Blue]IntroOut.mp4 - + \ No newline at end of file diff --git a/Output/Themes/Ambient/Skin Green.xml b/Output/Themes/Ambient/Skin Green.xml index 7aefeb34..20c3ebe3 100644 --- a/Output/Themes/Ambient/Skin Green.xml +++ b/Output/Themes/Ambient/Skin Green.xml @@ -117,7 +117,7 @@ 0,000 0,500 0,400 - + 0,000 0,750 @@ -130,6 +130,12 @@ 0,674 1,000 + + 0,709 + 0,968 + 0,674 + 0,500 + 0,709 0,968 @@ -251,10 +257,10 @@ 1,000 - 0,00 - 1,00 - 0,00 - 0,50 + 0,000 + 1,000 + 0,000 + 0,500 0,800 @@ -309,12 +315,16 @@ MedleyTagIcon.png Invisible.png PlayerSelector.png - PreviousIcon.png - NextIcon.png - PlayIcon.png - PauseIcon.png - RepeatIcon.png - SongMenuBG.png + PreviousIcon.png + NextIcon.png + PlayIcon.png + PauseIcon.png + RepeatIcon.png + SongMenuBG.png + Close.png + Delete.png + Save.png + Sing.png [Green]BG_Video.mp4 @@ -322,4 +332,4 @@ [Green]IntroMid.mp4 [Green]IntroOut.mp4 - + \ No newline at end of file diff --git a/Output/Themes/Ambient/Skin Red.xml b/Output/Themes/Ambient/Skin Red.xml index d7f5ecf2..3a187e67 100644 --- a/Output/Themes/Ambient/Skin Red.xml +++ b/Output/Themes/Ambient/Skin Red.xml @@ -117,7 +117,7 @@ 0,000 0,500 0,400 - + 0,750 0,000 @@ -130,6 +130,12 @@ 0,674 1,000 + + 0,968 + 0,674 + 0,674 + 0,500 + 0,968 0,674 @@ -251,11 +257,11 @@ 1,000 - 1,00 - 0,00 - 0,00 - 0,50 - + 1,000 + 0,000 + 0,000 + 0,500 + 1,000 0,800 @@ -309,12 +315,16 @@ MedleyTagIcon.png Invisible.png PlayerSelector.png - PreviousIcon.png - NextIcon.png - PlayIcon.png - PauseIcon.png - RepeatIcon.png - SongMenuBG.png + PreviousIcon.png + NextIcon.png + PlayIcon.png + PauseIcon.png + RepeatIcon.png + SongMenuBG.png + Close.png + Delete.png + Save.png + Sing.png [Red]BG_Video.mp4 @@ -322,4 +332,4 @@ [Red]IntroMid.mp4 [Red]IntroOut.mp4 - + \ No newline at end of file diff --git a/Output/Themes/Ambient/Skin Yellow.xml b/Output/Themes/Ambient/Skin Yellow.xml index d7366abc..9735075b 100644 --- a/Output/Themes/Ambient/Skin Yellow.xml +++ b/Output/Themes/Ambient/Skin Yellow.xml @@ -117,7 +117,7 @@ 0,000 0,500 0,400 - + 0,750 0,750 @@ -130,6 +130,12 @@ 0,674 1,000 + + 0,968 + 0,956 + 0,674 + 0,500 + 0,968 0,956 @@ -251,11 +257,11 @@ 1,000 - 1,00 - 1,00 - 0,00 - 0,50 - + 1,000 + 1,000 + 0,000 + 0,500 + 0,949 1,000 @@ -309,12 +315,16 @@ MedleyTagIcon.png Invisible.png PlayerSelector.png - PreviousIcon.png - NextIcon.png - PlayIcon.png - PauseIcon.png - RepeatIcon.png - SongMenuBG.png + PreviousIcon.png + NextIcon.png + PlayIcon.png + PauseIcon.png + RepeatIcon.png + SongMenuBG.png + Close.png + Delete.png + Save.png + Sing.png [Yellow]BG_Video.mp4 @@ -322,4 +332,4 @@ [Yellow]IntroMid.mp4 [Yellow]IntroOut.mp4 - + \ No newline at end of file diff --git a/Output/Themes/Changelog/Changelog_ScreenNames.txt b/Output/Themes/Changelog/Changelog_ScreenNames.txt index 47d04016..221c9331 100644 --- a/Output/Themes/Changelog/Changelog_ScreenNames.txt +++ b/Output/Themes/Changelog/Changelog_ScreenNames.txt @@ -1,5 +1,11 @@ SceenNames +++++++++++ +Version 3: + + (One Equalizer for each player): Equalizer shows input from assigned mic for this player. + (One SelectSlide for each player) + ++++++++++ Version 2: diff --git a/Output/Themes/Changelog/Changelog_ScreenOptionsRecord.txt b/Output/Themes/Changelog/Changelog_ScreenOptionsRecord.txt new file mode 100644 index 00000000..89d9465c --- /dev/null +++ b/Output/Themes/Changelog/Changelog_ScreenOptionsRecord.txt @@ -0,0 +1,9 @@ +ScreenOptionsRecord + +++++++++++ +Version 2: + +Add: + and . +This is a new theme-element. Check ScreenOptionsRecord.xml for style-possibilities. +++++++++++ \ No newline at end of file diff --git a/Output/Themes/Changelog/Changelog_ScreenSing.txt b/Output/Themes/Changelog/Changelog_ScreenSing.txt index 22c5fa99..9027a30c 100644 --- a/Output/Themes/Changelog/Changelog_ScreenSing.txt +++ b/Output/Themes/Changelog/Changelog_ScreenSing.txt @@ -1,5 +1,17 @@ ScreenSing ++++++++++ +Version 5 + +Add: + and (only showed when sining duet) + +++++++++++ +Version 5: + +Add: + + ++++++++++ Version 4: Added Elements for 6-player-singing! diff --git a/Output/Themes/Changelog/Changelog_ScreenSong.txt b/Output/Themes/Changelog/Changelog_ScreenSong.txt index 1303abb5..c1402b34 100644 --- a/Output/Themes/Changelog/Changelog_ScreenSong.txt +++ b/Output/Themes/Changelog/Changelog_ScreenSong.txt @@ -1,5 +1,16 @@ ScreenSong +++++++++++ +Version 3: + +Add: + + +, , , , , , , +, , +and + as a new Screen-Element. For details, look at ScreenSong.xml + ++++++++++ Version 2: diff --git a/Vocaluxe/Base/CConfig.cs b/Vocaluxe/Base/CConfig.cs index 4589654e..60a30d7d 100644 --- a/Vocaluxe/Base/CConfig.cs +++ b/Vocaluxe/Base/CConfig.cs @@ -933,6 +933,11 @@ namespace Vocaluxe.Base CSettings.sFileHighscoreDB = value; } break; + + case "playlistfolder": + CSettings.CreateFolder(value); + CSettings.sFolderPlaylists = value; + break; } } } diff --git a/Vocaluxe/Base/CDraw.cs b/Vocaluxe/Base/CDraw.cs index d1743b0a..e468162e 100644 --- a/Vocaluxe/Base/CDraw.cs +++ b/Vocaluxe/Base/CDraw.cs @@ -117,6 +117,11 @@ namespace Vocaluxe.Base _Draw.DrawColor(color, rect); } + public static void DrawColorReflection(SColorF color, SRectF rect, float space, float height) + { + _Draw.DrawColorReflection(color, rect, space, height); + } + public static void ClearScreen() { _Draw.ClearScreen(); diff --git a/Vocaluxe/Base/CFont.cs b/Vocaluxe/Base/CFont.cs index 97fcd8a4..0e13f8e2 100644 --- a/Vocaluxe/Base/CFont.cs +++ b/Vocaluxe/Base/CFont.cs @@ -803,10 +803,10 @@ namespace Vocaluxe.Base writer.WriteElementString("Folder", _Fonts[Index].Folder); writer.WriteElementString("Outline", _Fonts[Index].Outline.ToString("#0.00")); - writer.WriteElementString("ColorR", _Fonts[Index].OutlineColor.R.ToString("#0.00")); - writer.WriteElementString("ColorG", _Fonts[Index].OutlineColor.G.ToString("#0.00")); - writer.WriteElementString("ColorB", _Fonts[Index].OutlineColor.B.ToString("#0.00")); - writer.WriteElementString("ColorA", _Fonts[Index].OutlineColor.A.ToString("#0.00")); + writer.WriteElementString("OutlineColorR", _Fonts[Index].OutlineColor.R.ToString("#0.00")); + writer.WriteElementString("OutlineColorG", _Fonts[Index].OutlineColor.G.ToString("#0.00")); + writer.WriteElementString("OutlineColorB", _Fonts[Index].OutlineColor.B.ToString("#0.00")); + writer.WriteElementString("OutlineColorA", _Fonts[Index].OutlineColor.A.ToString("#0.00")); writer.WriteElementString("FileNormal", _Fonts[Index].FileNormal); writer.WriteElementString("FileBold", _Fonts[Index].FileBold); diff --git a/Vocaluxe/Base/CGame.cs b/Vocaluxe/Base/CGame.cs index 53f1b1c3..a6323536 100644 --- a/Vocaluxe/Base/CGame.cs +++ b/Vocaluxe/Base/CGame.cs @@ -180,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(); @@ -190,6 +195,11 @@ namespace Vocaluxe.Base return _GameMode.GetPoints(); } + public static int NumRounds + { + get { return _GameMode.GetNumSongs(); } + } + public static int NumPlayer { get { return _NumPlayer; } diff --git a/Vocaluxe/Base/CPlaylists.cs b/Vocaluxe/Base/CPlaylists.cs index a720107a..c9babd16 100644 --- a/Vocaluxe/Base/CPlaylists.cs +++ b/Vocaluxe/Base/CPlaylists.cs @@ -13,14 +13,27 @@ namespace Vocaluxe.Base static class CPlaylists { - private static List _Playlists; + private static List _Playlists; private static CHelper Helper = new CHelper(); - public static CPlaylist[] Playlists + public static CPlaylistFile[] Playlists { get { return _Playlists.ToArray(); } } + public static string[] PlaylistNames + { + get + { + List names = new List(); + for (int i = 0; i < _Playlists.Count; i++) + { + names.Add(_Playlists[i].PlaylistName); + } + return names.ToArray(); + } + } + public static int NumPlaylists { get { return _Playlists.Count; } @@ -33,13 +46,14 @@ namespace Vocaluxe.Base public static void LoadPlaylists() { - _Playlists = new List(); + _Playlists = new List(); List files = new List(); files.AddRange(Helper.ListFiles(CSettings.sFolderPlaylists, "*.xml", true, true)); foreach (string file in files) { - CPlaylist playlist = new CPlaylist(file); + CPlaylistFile playlist = new CPlaylistFile(file); + _Playlists.Add(playlist); } SortPlaylistsByName(); @@ -52,7 +66,7 @@ namespace Vocaluxe.Base _Playlists.Sort(CompareByPlaylistName); } - private static int CompareByPlaylistName(CPlaylist a, CPlaylist b) + private static int CompareByPlaylistName(CPlaylistFile a, CPlaylistFile b) { return String.Compare(a.PlaylistName, b.PlaylistName); } @@ -75,6 +89,21 @@ namespace Vocaluxe.Base } } + 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 } } diff --git a/Vocaluxe/Base/CSettings.cs b/Vocaluxe/Base/CSettings.cs index 0d844070..5fe0fb8b 100644 --- a/Vocaluxe/Base/CSettings.cs +++ b/Vocaluxe/Base/CSettings.cs @@ -94,7 +94,7 @@ namespace Vocaluxe.Base public const string sFolderLanguages = "Languages"; public const string sFolderScreenshots = "Screenshots"; public const string sFolderBackgroundMusic = "BackgroundMusic"; - public const string sFolderPlaylists = "Playlists"; + 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; @@ -185,6 +185,7 @@ namespace Vocaluxe.Base Folders.Add(sFolderScreenshots); Folders.Add(sFolderBackgroundMusic); Folders.Add(sFolderSounds); + Folders.Add(sFolderPlaylists); foreach (string folder in Folders) { @@ -193,5 +194,11 @@ namespace Vocaluxe.Base Directory.CreateDirectory(path); } } + + public static void CreateFolder(string path) + { + if (!Directory.Exists(path)) + Directory.CreateDirectory(path); + } } } diff --git a/Vocaluxe/Base/CSound.cs b/Vocaluxe/Base/CSound.cs index 85112fd3..986476e9 100644 --- a/Vocaluxe/Base/CSound.cs +++ b/Vocaluxe/Base/CSound.cs @@ -315,6 +315,10 @@ namespace Vocaluxe.Base public CBuffer() { _ToneWeigth = new float[_NumHalfTones]; + for (int i = 0; i < _ToneWeigth.Length; i++) + { + _ToneWeigth[i] = 0.99f; + } _Stream = new MemoryStream(); _NewSamples = false; } diff --git a/Vocaluxe/GameModes/CGameMode.cs b/Vocaluxe/GameModes/CGameMode.cs index 6dfe5ca5..b58ca133 100644 --- a/Vocaluxe/GameModes/CGameMode.cs +++ b/Vocaluxe/GameModes/CGameMode.cs @@ -248,6 +248,7 @@ namespace Vocaluxe.GameModes if (_CurrentSong >= 0 && _CurrentSong < _SongQueque.Count) { CSong song = CSongs.GetSong(_SongQueque[_CurrentSong].SongID); + song = new CSong(song); switch (GetCurrentGameMode()) { @@ -283,12 +284,20 @@ namespace Vocaluxe.GameModes public virtual CSong GetSong(int Num) { - if (Num - 1 < _SongQueque.Count) + if (Num - 1 < _SongQueque.Count && Num - 1 > -1) return CSongs.GetSong(_SongQueque[Num - 1].SongID); 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; diff --git a/Vocaluxe/GameModes/IGameMode.cs b/Vocaluxe/GameModes/IGameMode.cs index 4d83391f..79a8fefc 100644 --- a/Vocaluxe/GameModes/IGameMode.cs +++ b/Vocaluxe/GameModes/IGameMode.cs @@ -38,5 +38,6 @@ namespace Vocaluxe.GameModes int GetNumSongs(); CSong GetSong(); CSong GetSong(int Num); + EGameMode GetGameMode(int Num); } } diff --git a/Vocaluxe/Lib/Draw/CDirect3D.cs b/Vocaluxe/Lib/Draw/CDirect3D.cs index 3141d237..492834c9 100644 --- a/Vocaluxe/Lib/Draw/CDirect3D.cs +++ b/Vocaluxe/Lib/Draw/CDirect3D.cs @@ -836,6 +836,19 @@ namespace Vocaluxe.Lib.Draw { DrawTexture(_BlankTexture, rect, color); } + + /// + /// Draws reflection of a colored rectangle + /// + /// The color in which the rectangle will be drawn in + /// The coordinates in a SRectF struct + /// The space between the texture and the reflection + /// The height of the reflection + public void DrawColorReflection(SColorF color, SRectF rect, float space, float height) + { + DrawTextureReflection(_BlankTexture, rect, color, rect, space, height); + } + #endregion Basic Draw Methods #region Textures #region adding diff --git a/Vocaluxe/Lib/Draw/CDrawWinForm.cs b/Vocaluxe/Lib/Draw/CDrawWinForm.cs index c94f0073..51cc0c4f 100644 --- a/Vocaluxe/Lib/Draw/CDrawWinForm.cs +++ b/Vocaluxe/Lib/Draw/CDrawWinForm.cs @@ -352,6 +352,11 @@ namespace Vocaluxe.Lib.Draw } + public void DrawColorReflection(SColorF color, SRectF rect, float space, float height) + { + + } + public STexture AddTexture(Bitmap bmp) { Bitmap bmp2 = new Bitmap(bmp); diff --git a/Vocaluxe/Lib/Draw/COpenGL.cs b/Vocaluxe/Lib/Draw/COpenGL.cs index 54ee1fcf..06a09e95 100644 --- a/Vocaluxe/Lib/Draw/COpenGL.cs +++ b/Vocaluxe/Lib/Draw/COpenGL.cs @@ -661,6 +661,59 @@ namespace Vocaluxe.Lib.Draw GL.Disable(EnableCap.Blend); } + public void DrawColorReflection(SColorF color, SRectF rect, float space, float height) + { + + if (rect.H < height) + height = rect.H; + + float rx1 = rect.X; + float rx2 = rect.X + rect.W; + float ry1 = rect.Y + rect.H + space; + float ry2 = rect.Y + rect.H + space + height; + + if (rx1 < rect.X) + rx1 = rect.X; + + if (rx2 > rect.X + rect.W) + rx2 = rect.X + rect.W; + + if (ry1 < rect.Y + space) + ry1 = rect.Y + space; + + if (ry2 > rect.Y + rect.H + space + height) + ry2 = rect.Y + rect.H + space + height; + + + GL.Enable(EnableCap.Blend); + + if (rect.Rotation != 0f) + { + GL.Translate(0.5f, 0.5f, 0); + GL.Rotate(-rect.Rotation, 0f, 0f, 1f); + GL.Translate(-0.5f, -0.5f, 0); + } + + GL.Begin(BeginMode.Quads); + + GL.Color4(color.R, color.G, color.B, color.A * CGraphics.GlobalAlpha); + GL.Vertex3(rx2, ry1, rect.Z + CGraphics.ZOffset); + + GL.Color4(color.R, color.G, color.B, 0f); + GL.Vertex3(rx2, ry2, rect.Z + CGraphics.ZOffset); + + GL.Color4(color.R, color.G, color.B, 0f); + GL.Vertex3(rx1, ry2, rect.Z + CGraphics.ZOffset); + + GL.Color4(color.R, color.G, color.B, color.A * CGraphics.GlobalAlpha); + GL.Vertex3(rx1, ry1, rect.Z + CGraphics.ZOffset); + + GL.End(); + + GL.Disable(EnableCap.Blend); + + } + #endregion Basic Draw Methods #region Textures diff --git a/Vocaluxe/Lib/Draw/IDraw.cs b/Vocaluxe/Lib/Draw/IDraw.cs index 2f8bbc82..9a7bf1d6 100644 --- a/Vocaluxe/Lib/Draw/IDraw.cs +++ b/Vocaluxe/Lib/Draw/IDraw.cs @@ -125,6 +125,7 @@ namespace Vocaluxe.Lib.Draw // Basic Draw Methods void DrawLine(int a, int r, int g, int b, int w, int x1, int y1, int x2, int y2); void DrawColor(SColorF color, SRectF rect); + void DrawColorReflection(SColorF color, SRectF rect, float space, float height); void ClearScreen(); STexture CopyScreen(); diff --git a/Vocaluxe/Lib/Playlist/CPlaylist.cs b/Vocaluxe/Lib/Playlist/CPlaylistFile.cs similarity index 72% rename from Vocaluxe/Lib/Playlist/CPlaylist.cs rename to Vocaluxe/Lib/Playlist/CPlaylistFile.cs index a87ee61a..0bef3b65 100644 --- a/Vocaluxe/Lib/Playlist/CPlaylist.cs +++ b/Vocaluxe/Lib/Playlist/CPlaylistFile.cs @@ -29,24 +29,26 @@ namespace Vocaluxe.Lib.Playlist } } - public class CPlaylist + public class CPlaylistFile { private static XmlWriterSettings _settings = new XmlWriterSettings(); private static CHelper Helper = new CHelper(); public string PlaylistName; public string PlaylistFile; - public List Songs; + public List Songs = new List(); - public CPlaylist() + public CPlaylistFile() { Init(); + PlaylistName = string.Empty; + PlaylistFile = string.Empty; } - public CPlaylist(string file) + public CPlaylistFile(string file) { Init(); - PlaylistName = file; + PlaylistFile = file; LoadPlaylist(); } @@ -58,29 +60,32 @@ namespace Vocaluxe.Lib.Playlist } - private void SavePlaylist() + public void SavePlaylist() { - string filename = string.Empty; - foreach (char chr in PlaylistName) + if (PlaylistFile == string.Empty) { - 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"))) + string filename = string.Empty; + foreach (char chr in PlaylistName) { - filename += i; + if (char.IsLetter(chr)) + filename += chr.ToString(); } - } - PlaylistFile = Path.Combine(CSettings.sFolderPlaylists, filename + ".xml"); + 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 @@ -107,7 +112,7 @@ namespace Vocaluxe.Lib.Playlist writer.WriteEndElement(); writer.WriteStartElement("Songs"); - for (i = 0; i < Songs.Count; i++) + for (int i = 0; i < Songs.Count; i++) { CSong song = CSongs.GetSong(Songs[i].SongID); if (song != null) @@ -202,5 +207,47 @@ namespace Vocaluxe.Lib.Playlist } } } + + 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 SongDown(int SongNr) + { + if (SongNr != 0) + { + Songs.Reverse(SongNr - 1, 2); + } + } + + public void SongUp(int SongNr) + { + if (SongNr + 1 < Songs.Count) + { + Songs.Reverse(SongNr, 2); + } + } } } diff --git a/Vocaluxe/Lib/Song/CNotes.cs b/Vocaluxe/Lib/Song/CNotes.cs index d38dc820..d6203ca0 100644 --- a/Vocaluxe/Lib/Song/CNotes.cs +++ b/Vocaluxe/Lib/Song/CNotes.cs @@ -6,7 +6,7 @@ using Vocaluxe.Base; namespace Vocaluxe.Lib.Song { - class CNotes + class CNotes { private List _Lines = new List(); @@ -549,6 +549,7 @@ namespace Vocaluxe.Lib.Song updateMinMaxBeat(note); } } + #endregion Methods } diff --git a/Vocaluxe/Lib/Song/CSong.cs b/Vocaluxe/Lib/Song/CSong.cs index 120efbf6..7485bc3d 100644 --- a/Vocaluxe/Lib/Song/CSong.cs +++ b/Vocaluxe/Lib/Song/CSong.cs @@ -7,6 +7,7 @@ using System.Text.RegularExpressions; using Vocaluxe.Base; using Vocaluxe.Lib.Draw; using Vocaluxe.Menu; +using Vocaluxe.GameModes; namespace Vocaluxe.Lib.Song { @@ -128,6 +129,9 @@ namespace Vocaluxe.Lib.Song public float Gap = 0f; public float VideoGap = 0f; + public string DuetPart1 = String.Empty; + public string DuetPart2 = String.Empty; + public List Comment = new List(); // Sorting @@ -148,6 +152,23 @@ namespace Vocaluxe.Lib.Song // Notes public CNotes Notes = new CNotes(); + public EGameMode[] AvailableGameModes + { + get + { + List gms = new List(); + 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() { } @@ -363,6 +384,18 @@ namespace Vocaluxe.Lib.Song this.ArtistSorting = Value; } break; + case "P1": + if (Value != String.Empty) + { + this.DuetPart1 = Value; + } + break; + case "P2": + if (Value != String.Empty) + { + this.DuetPart2 = Value; + } + break; case "MP3": if (File.Exists(Path.Combine(this.Folder, Value))) { @@ -545,12 +578,12 @@ namespace Vocaluxe.Lib.Song CheckFiles(); //Before saving this tags to .txt: Check, if ArtistSorting and Artist are equal, then don't save this tag. - if (this.ArtistSorting == "") + if (this.ArtistSorting == String.Empty) { this.ArtistSorting = this.Artist; } - if (this.TitleSorting == "") + if (this.TitleSorting == String.Empty) { this.TitleSorting = this.Title; } @@ -609,9 +642,10 @@ namespace Vocaluxe.Lib.Song FileLineNo++; if (TempC.CompareTo('P') == 0) { - char chr = (char)sr.Read(); - int.TryParse(chr.ToString(), out Param1); + char chr; + while ((chr = (char)sr.Read()) == ' '){ } + int.TryParse(chr.ToString(), out Param1); if (Param1 == 1) Player = 0; else if (Param1 == 2) @@ -696,7 +730,8 @@ namespace Vocaluxe.Lib.Song FindRefrain(); FindShortEnd(); _NotesLoaded = true; - + if(IsDuet) + CheckDuet(); return true; } @@ -763,6 +798,20 @@ namespace Vocaluxe.Lib.Song } } + private void CheckDuet() + { + if (DuetPart1 == String.Empty) + { + DuetPart1 = "Part 1"; + CLog.LogError("Warning: Can't find #P1-tag for duets in \"" + this.Artist + " - " + this.Title + "\"."); + } + if (DuetPart2 == String.Empty) + { + DuetPart2 = "Part 2"; + CLog.LogError("Warning: Can't find #P2-tag for duets in \"" + this.Artist + " - " + this.Title + "\"."); + } + } + private struct Series { public int start; @@ -962,5 +1011,10 @@ namespace Vocaluxe.Lib.Song ShortEnd = stop; } + + public object Clone() + { + return base.MemberwiseClone(); + } } } diff --git a/Vocaluxe/Lib/Sound/COpenALPlay.cs b/Vocaluxe/Lib/Sound/COpenALPlay.cs index 99215d7a..85e17cd4 100644 --- a/Vocaluxe/Lib/Sound/COpenALPlay.cs +++ b/Vocaluxe/Lib/Sound/COpenALPlay.cs @@ -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; } diff --git a/Vocaluxe/Menu/Animations/CAnimation.cs b/Vocaluxe/Menu/Animations/CAnimation.cs new file mode 100644 index 00000000..2d062033 --- /dev/null +++ b/Vocaluxe/Menu/Animations/CAnimation.cs @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Text; +using System.Xml; +using System.Xml.XPath; + +using Vocaluxe.Base; +using Vocaluxe.Lib.Draw; + +namespace Vocaluxe.Menu.Animations +{ + public class CAnimation:IAnimation + { + private IAnimation _Animation; + + public CAnimation(EAnimationType Type) + { + setAnimation(Type); + } + + public void Init() + { + _Animation.Init(); + } + + public bool LoadAnimation(string item, XPathNavigator navigator) + { + return _Animation.LoadAnimation(item, navigator); + } + + public bool SaveAnimation(XmlWriter writer) + { + return _Animation.SaveAnimation(writer); + } + + public void StartAnimation() + { + _Animation.StartAnimation(); + } + + public void StopAnimation() + { + _Animation.StopAnimation(); + } + + public void ResetAnimation() + { + _Animation.ResetAnimation(); + } + + public bool AnimationActive() + { + return _Animation.AnimationActive(); + } + + public void Update() + { + _Animation.Update(); + } + + public void setRect(SRectF rect) + { + _Animation.setRect(rect); + } + + public SRectF getRect() + { + return _Animation.getRect(); + } + + public void setColor(SColorF color) + { + _Animation.setColor(color); + } + + public SColorF getColor() + { + return _Animation.getColor(); + } + + public void setAnimation(EAnimationType Type) + { + switch (Type) + { + case EAnimationType.Resize: + _Animation = new CAnimationResize(); + break; + } + } + } +} diff --git a/Vocaluxe/Menu/Animations/CAnimationFramework.cs b/Vocaluxe/Menu/Animations/CAnimationFramework.cs new file mode 100644 index 00000000..3ac3d18c --- /dev/null +++ b/Vocaluxe/Menu/Animations/CAnimationFramework.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Text; +using System.Xml; +using System.Xml.XPath; + +using Vocaluxe.Base; +using Vocaluxe.Lib.Draw; + +namespace Vocaluxe.Menu.Animations +{ + public enum EAnimationType + { + Resize + } + + public enum EAnimationRepeat + { + None, + Reset, + Repeat, + RepeatWithReset + } + + public abstract class CAnimationFramework:IAnimation + { + public bool _AnimationLoaded; + + public EAnimationType Type; + public EAnimationRepeat Repeat; + public float Speed; + + public Stopwatch Timer = new Stopwatch(); + public bool ResetMode = false; + + public abstract void Init(); + + public virtual bool LoadAnimation(string item, XPathNavigator navigator) + { + _AnimationLoaded = true; + + _AnimationLoaded &= CHelper.TryGetFloatValueFromXML(item + "/Speed", navigator, ref Speed); + _AnimationLoaded &= CHelper.TryGetEnumValueFromXML(item + "/Repeat", navigator, ref Repeat); + + return _AnimationLoaded; + } + + public virtual bool SaveAnimation(XmlWriter writer) + { + return false; + } + + public virtual void StartAnimation() + { + Timer.Start(); + } + + public virtual void StopAnimation() + { + Timer.Stop(); + Timer.Reset(); + } + + public virtual void ResetAnimation() + { + ResetMode = !ResetMode; + } + + public virtual bool AnimationActive() + { + return Timer.IsRunning; + } + + public virtual void setRect(SRectF rect) + { + } + + public virtual SRectF getRect() + { + return new SRectF(); + } + + public virtual void setColor(SColorF color) + { + } + + public virtual SColorF getColor() + { + return new SColorF(); + } + + public abstract void Update(); + } +} diff --git a/Vocaluxe/Menu/Animations/CAnimationResize.cs b/Vocaluxe/Menu/Animations/CAnimationResize.cs new file mode 100644 index 00000000..ecc77feb --- /dev/null +++ b/Vocaluxe/Menu/Animations/CAnimationResize.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Text; +using System.Xml; +using System.Xml.XPath; + +using Vocaluxe.Base; +using Vocaluxe.Lib.Draw; + +namespace Vocaluxe.Menu.Animations +{ + public class CAnimationResize : CAnimationFramework + { + public SRectF FinalRect; + public SRectF CurrentRect; + public SRectF OriginalRect; + + public CAnimationResize() + { + } + + public override void Init() + { + Type = EAnimationType.Resize; + } + + public override bool LoadAnimation(string item, XPathNavigator navigator) + { + //Load normal animation-options + _AnimationLoaded &= base.LoadAnimation(item, navigator); + + //Load specific animation-options + _AnimationLoaded &= CHelper.TryGetFloatValueFromXML(item + "/X", navigator, ref FinalRect.X); + _AnimationLoaded &= CHelper.TryGetFloatValueFromXML(item + "/Y", navigator, ref FinalRect.Y); + _AnimationLoaded &= CHelper.TryGetFloatValueFromXML(item + "/W", navigator, ref FinalRect.W); + _AnimationLoaded &= CHelper.TryGetFloatValueFromXML(item + "/H", navigator, ref FinalRect.H); + + return _AnimationLoaded; + } + + public override void setRect(SRectF rect) + { + OriginalRect = rect; + } + + public override SRectF getRect() + { + return CurrentRect; + } + + public override void StartAnimation() + { + base.StartAnimation(); + + CurrentRect = OriginalRect; + } + + public override void Update() + { + //Update CurrentRect + if (!ResetMode) + { + CLog.LogError((CurrentRect.X + ((FinalRect.X - CurrentRect.X) / Speed * Timer.ElapsedMilliseconds)).ToString("#.#####")); + CurrentRect.X = CurrentRect.X + ((FinalRect.X - CurrentRect.X) / Speed * Timer.ElapsedMilliseconds); + CurrentRect.Y = CurrentRect.Y + ((FinalRect.Y - CurrentRect.Y) / Speed * Timer.ElapsedMilliseconds); + CurrentRect.H = CurrentRect.H + ((FinalRect.H - CurrentRect.H) / Speed * Timer.ElapsedMilliseconds); + CurrentRect.W = CurrentRect.W + ((FinalRect.W - CurrentRect.W) / Speed * Timer.ElapsedMilliseconds); + } + else + { + CurrentRect.X = CurrentRect.X + ((OriginalRect.X - CurrentRect.X) / Speed * Timer.ElapsedMilliseconds); + CurrentRect.Y = CurrentRect.Y + ((OriginalRect.Y - CurrentRect.Y) / Speed * Timer.ElapsedMilliseconds); + CurrentRect.H = CurrentRect.H + ((OriginalRect.H - CurrentRect.H) / Speed * Timer.ElapsedMilliseconds); + CurrentRect.W = CurrentRect.W + ((OriginalRect.W - CurrentRect.W) / Speed * Timer.ElapsedMilliseconds); + } + + if (CurrentRect.X == FinalRect.X && CurrentRect.Y == FinalRect.Y && CurrentRect.H == FinalRect.H && CurrentRect.W == FinalRect.W) + { + switch (Repeat) + { + case EAnimationRepeat.Repeat: + StopAnimation(); + CurrentRect = OriginalRect; + StartAnimation(); + break; + + case EAnimationRepeat.RepeatWithReset: + ResetAnimation(); + break; + + case EAnimationRepeat.Reset: + if (!ResetMode) + ResetAnimation(); + else + StopAnimation(); + break; + + case EAnimationRepeat.None: + StopAnimation(); + break; + } + } + } + } +} diff --git a/Vocaluxe/Menu/Animations/IAnimation.cs b/Vocaluxe/Menu/Animations/IAnimation.cs new file mode 100644 index 00000000..444181c7 --- /dev/null +++ b/Vocaluxe/Menu/Animations/IAnimation.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Text; +using System.Xml; +using System.Xml.XPath; + +using Vocaluxe.Base; +using Vocaluxe.Lib.Draw; + +namespace Vocaluxe.Menu.Animations +{ + interface IAnimation + { + void Init(); + bool LoadAnimation(string item, XPathNavigator navigator); + bool SaveAnimation(XmlWriter writer); + + void setRect(SRectF rect); + SRectF getRect(); + void setColor(SColorF color); + SColorF getColor(); + + void StartAnimation(); + void StopAnimation(); + void ResetAnimation(); + bool AnimationActive(); + void Update(); + } +} diff --git a/Vocaluxe/Menu/CBackground.cs b/Vocaluxe/Menu/CBackground.cs index cedc4eb5..1b6b0b83 100644 --- a/Vocaluxe/Menu/CBackground.cs +++ b/Vocaluxe/Menu/CBackground.cs @@ -38,6 +38,11 @@ namespace Vocaluxe.Menu public SColorF Color; + public string GetThemeName() + { + return _Theme.Name; + } + #region Constructors public CBackground() { diff --git a/Vocaluxe/Menu/CButton.cs b/Vocaluxe/Menu/CButton.cs index d4b5d231..b25c6482 100644 --- a/Vocaluxe/Menu/CButton.cs +++ b/Vocaluxe/Menu/CButton.cs @@ -30,7 +30,9 @@ namespace Vocaluxe.Menu public SColorF Color; public SColorF SColor; + public bool SelText; public CText Text; + public CText SText; public bool Reflection; public float ReflectionSpace; @@ -53,6 +55,11 @@ namespace Vocaluxe.Menu } public bool Visible; + public string GetThemeName() + { + return _Theme.Name; + } + public CButton() { _Theme = new SThemeButton(); @@ -60,7 +67,9 @@ namespace Vocaluxe.Menu Color = new SColorF(); SColor = new SColorF(); + SelText = false; Text = new CText(); + SText = new CText(); Selected = false; Visible = true; @@ -113,6 +122,13 @@ namespace Vocaluxe.Menu _ThemeLoaded &= Text.LoadTheme(item, "Text", navigator, SkinIndex, true); Text.Z = Rect.Z; + if (CHelper.ItemExistsInXML(item + "/SText", navigator)) + { + SelText = true; + _ThemeLoaded &= SText.LoadTheme(item, "SText", navigator, SkinIndex, true); + SText.Z = Rect.Z; + } + //Reflections if (CHelper.ItemExistsInXML(item + "/Reflection", navigator)) @@ -189,6 +205,8 @@ namespace Vocaluxe.Menu } Text.SaveTheme(writer); + if (SelText) + SText.SaveTheme(writer); writer.WriteComment(" If exists:"); writer.WriteComment(" : Reflection Space"); @@ -240,28 +258,42 @@ namespace Vocaluxe.Menu { texture = CTheme.GetSkinTexture(_Theme.TextureName); CDraw.DrawTexture(texture, Rect, Color); + Text.DrawRelative(Rect.X, Rect.Y); if (Reflection) { CDraw.DrawTextureReflection(texture, Rect, Color, Rect, ReflectionSpace, ReflectionHeight); + Text.DrawRelative(Rect.X, Rect.Y, ReflectionSpace, ReflectionHeight, Rect.H); } } - else + else if(!SelText) { texture = CTheme.GetSkinTexture(_Theme.STextureName); CDraw.DrawTexture(texture, Rect, SColor); + Text.DrawRelative(Rect.X, Rect.Y); if (Reflection) { CDraw.DrawTextureReflection(texture, Rect, SColor, Rect, ReflectionSpace, ReflectionHeight); + Text.DrawRelative(Rect.X, Rect.Y, ReflectionSpace, ReflectionHeight, Rect.H); } } - - Text.DrawRelative(Rect.X, Rect.Y); - if (Reflection) + else if(SelText) { - Text.DrawRelative(Rect.X, Rect.Y, ReflectionSpace, ReflectionHeight, Rect.H); + texture = CTheme.GetSkinTexture(_Theme.STextureName); + CDraw.DrawTexture(texture, Rect, SColor); + SText.DrawRelative(Rect.X, Rect.Y); + if (Reflection) + { + CDraw.DrawTextureReflection(texture, Rect, SColor, Rect, ReflectionSpace, ReflectionHeight); + SText.DrawRelative(Rect.X, Rect.Y, ReflectionSpace, ReflectionHeight, Rect.H); + } } } + public void ProcessMouseMove(int x, int y) + { + Selected = CHelper.IsInBounds(Rect, x, y); + } + public void UnloadTextures() { Text.UnloadTextures(); diff --git a/Vocaluxe/Menu/CEqualizer.cs b/Vocaluxe/Menu/CEqualizer.cs new file mode 100644 index 00000000..4b8c3997 --- /dev/null +++ b/Vocaluxe/Menu/CEqualizer.cs @@ -0,0 +1,310 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Text; +using System.Xml; +using System.Xml.XPath; + +using Vocaluxe.Base; +using Vocaluxe.Lib.Draw; + +namespace Vocaluxe.Menu +{ + enum EEqualizerStyle + { + Collums + } + + struct SThemeEqualizer + { + public string Name; + + public string ColorName; + public string MaxColorName; + public string TextureName; + + public int NumBars; + + public EEqualizerStyle Style; + public EOffOn DrawNegative; + } + + class CEqualizer : IMenuElement + { + private SThemeEqualizer _Theme; + private bool _ThemeLoaded; + + public SRectF Rect; + public SColorF Color; + public SColorF MaxColor; + public float Space; + + public bool Reflection; + public float ReflectionSpace; + public float ReflectionHeight; + + public bool Selected; + public bool Visible; + public bool ScreenHandles; + + public string GetThemeName() + { + return _Theme.Name; + } + + private float[] _Bars; + + public CEqualizer() + { + _Theme = new SThemeEqualizer(); + _ThemeLoaded = false; + + Rect = new SRectF(); + Color = new SColorF(); + MaxColor = new SColorF(); + + Selected = false; + Visible = true; + ScreenHandles = false; + + Reflection = false; + ReflectionSpace = 0f; + ReflectionHeight = 0f; + } + + public bool LoadTheme(string XmlPath, string ElementName, XPathNavigator navigator, int SkinIndex) + { + string item = XmlPath + "/" + ElementName; + _ThemeLoaded = true; + + _ThemeLoaded &= CHelper.GetValueFromXML(item + "/Skin", navigator, ref _Theme.TextureName, 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.TryGetIntValueFromXML(item + "/NumBars", navigator, ref _Theme.NumBars); + + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/Space", navigator, ref Space); + + _ThemeLoaded &= CHelper.TryGetEnumValueFromXML(item + "/Style", navigator, ref _Theme.Style); + + _ThemeLoaded &= CHelper.TryGetEnumValueFromXML(item + "/DrawNegative", navigator, ref _Theme.DrawNegative); + + if (CHelper.GetValueFromXML(item + "/Color", navigator, ref _Theme.ColorName, String.Empty)) + { + _ThemeLoaded &= CTheme.GetColor(_Theme.ColorName, SkinIndex, ref Color); + } + else + { + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/R", navigator, ref Color.R); + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/G", navigator, ref Color.G); + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/B", navigator, ref Color.B); + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/A", navigator, ref Color.A); + } + + if (CHelper.GetValueFromXML(item + "/MaxColor", navigator, ref _Theme.MaxColorName, String.Empty)) + { + _ThemeLoaded &= CTheme.GetColor(_Theme.ColorName, SkinIndex, ref Color); + } + else + { + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/MaxR", navigator, ref MaxColor.R); + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/MaxG", navigator, ref MaxColor.G); + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/MaxB", navigator, ref MaxColor.B); + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/MaxA", navigator, ref MaxColor.A); + } + + //Reflection + if (CHelper.ItemExistsInXML(item + "/Reflection", navigator)) + { + Reflection = true; + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/Reflection/Space", navigator, ref ReflectionSpace); + _ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/Reflection/Height", navigator, ref ReflectionHeight); + } + else + Reflection = false; + + if (_ThemeLoaded) + { + _Theme.Name = ElementName; + _Bars = new float[_Theme.NumBars]; + for (int i = 0; i < _Bars.Length; i++) + { + _Bars[i] = 0f; + } + LoadTextures(); + } + return _ThemeLoaded; + } + + public bool SaveTheme(XmlWriter writer) + { + if (_ThemeLoaded) + { + writer.WriteStartElement(_Theme.Name); + + writer.WriteComment(": Texture name"); + writer.WriteElementString("Skin", _Theme.TextureName); + + writer.WriteComment(", , , , : Equalizer 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(": Number of equalizer-elements."); + writer.WriteElementString("NumBars", _Theme.NumBars.ToString("#0")); + writer.WriteComment(": Space between equalizer-elements."); + writer.WriteElementString("Space", Space.ToString("#0.00")); + writer.WriteComment("