diff --git a/.gitignore b/.gitignore index d675d82b..bb7e9bd0 100644 --- a/.gitignore +++ b/.gitignore @@ -51,5 +51,7 @@ Thumbs.db /Installer/setup-SetupFiles /Installer/vocaluxe-*-setup.exe /Installer/Vocaluxe*.rar +/Installer/Prerequisites/GStreamer x64/gstreamer-1.0-x86_64-1.4.1.msi +/Installer/Prerequisites/GStreamer x86/gstreamer-1.0-x86-1.4.1.msi /WebserverInitalConfig/bin -/PhoneGap/ \ No newline at end of file +/PhoneGap/ diff --git a/Installer/setup.aip b/Installer/setup.aip index 853fa2ce..b0fe10be 100644 --- a/Installer/setup.aip +++ b/Installer/setup.aip @@ -78,8 +78,6 @@ - - @@ -87,7 +85,6 @@ - @@ -99,7 +96,6 @@ - @@ -112,7 +108,6 @@ - @@ -132,7 +127,6 @@ - @@ -166,6 +160,8 @@ + + @@ -227,8 +223,6 @@ - - @@ -238,458 +232,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -700,23 +244,17 @@ - - - - - - - + + + - + - - @@ -870,20 +408,11 @@ - + - - - - - - - - - - + @@ -917,6 +446,8 @@ + + @@ -1042,7 +573,7 @@ - + @@ -1069,7 +600,7 @@ - + @@ -1077,18 +608,6 @@ - - - - - - - - - - - - @@ -1115,458 +634,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -1594,7 +663,7 @@ - + @@ -1603,7 +672,7 @@ - + @@ -1663,13 +732,8 @@ - - - - - @@ -1732,9 +796,6 @@ - - - @@ -1742,11 +803,9 @@ - - @@ -1798,7 +857,6 @@ - @@ -1809,17 +867,13 @@ - - - - @@ -1836,7 +890,6 @@ - @@ -1871,7 +924,6 @@ - @@ -1891,10 +943,6 @@ - - - - @@ -1903,11 +951,9 @@ - - @@ -1957,17 +1003,13 @@ - - - - @@ -2007,12 +1049,14 @@ - - - - - - + + + + + + + + @@ -2021,7 +1065,9 @@ - + + + diff --git a/Output/Languages/English.xml b/Output/Languages/English.xml index 6554f2dc..6231e96b 100644 --- a/Output/Languages/English.xml +++ b/Output/Languages/English.xml @@ -93,6 +93,7 @@ Party Options Profiles + No profiles found! Party Mode Selection Party Mode Description @@ -211,8 +212,8 @@ Webcams Webcam-Resolution Screen adjustments - Press CTR + ALT + SHIFT + Arrows to adjust screen - CTR + ALT + SHIFT + 0 to reset + Press CTR + ALT (+ SHIFT) + Arrows|"+" to adjust screen + CTR + ALT + 0 to reset Top left Top right Bottom left diff --git a/Output/Languages/French.xml b/Output/Languages/French.xml index 149f908c..f42b5ac4 100644 --- a/Output/Languages/French.xml +++ b/Output/Languages/French.xml @@ -76,6 +76,7 @@ Musique personnelle et Musique de fond Pas de Musique personnelle Seulement la Musique personnelle + Seulement les chansons sélectionnées Tout Seulement noms et avatars Rien diff --git a/Output/Languages/German.xml b/Output/Languages/German.xml index 50ffef0a..751bf476 100644 --- a/Output/Languages/German.xml +++ b/Output/Languages/German.xml @@ -92,6 +92,7 @@ Party Optionen Profile + Keine Profile gefunden! Party-Modus Auswahl Party-Modus Beschreibung @@ -210,8 +211,8 @@ Webcams Webcam-Auflösung Anzeigeanpassungen - STRG + ALT + SHIFT + Pfeiltasten drücken um den Bildschirm anzupassen - STRG + ALT + SHIFT + 0 um die Anpassungen zurückzusetzen + STRG + ALT (+ SHIFT) + Pfeiltasten|"+" drücken um den Bildschirm anzupassen + STRG + ALT + 0 um die Anpassungen zurückzusetzen Oben links Oben rechts Unten links diff --git a/Output/Languages/Swedish.xml b/Output/Languages/Swedish.xml index 2b364a94..92c72192 100644 --- a/Output/Languages/Swedish.xml +++ b/Output/Languages/Swedish.xml @@ -76,6 +76,7 @@ Egen Musik och Bakgrundsmusik Ingen egen Musik Endast egen Musik + Endast vald låt Alla Endast namn och avatarer Ingenting diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml index 1623eba7..a05153de 100644 --- a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml +++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeConfig.xml @@ -1,458 +1,388 @@ - - + + + PartyScreenChallengeConfig 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + + + 640 48 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENCONFIG_TITLE - - - - - - + + + 75 105 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENCONFIG_NUMPLAYERS - - - - - - + + + 75 165 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENCONFIG_NUMMICS - - - - - - + + + 75 225 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENCONFIG_NUMROUNDS - - - - - - + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 100 - 0,00 - 700 - 50 - - 505 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 100 + 700 + 50 + 0 + + + 505 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 9 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 160 - 0,00 - 700 - 50 - - 505 - 165 - 0,00 - 40 - 40 - - 1170 - 165 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 160 + 700 + 50 + 0 + + + 505 + 165 + 40 + 40 + 0 + + + 1170 + 165 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 220 - 0,00 - 700 - 50 - - 505 - 225 - 0,00 - 40 - 40 - - 1170 - 225 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 220 + 700 + 50 + 0 + + + 505 + 225 + 40 + 40 + 0 + + + 1170 + 225 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 10 - - - + + + + + + + + + \ No newline at end of file diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml index 45a1eed7..61ef56e8 100644 --- a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml +++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeMain.xml @@ -1,985 +1,2791 @@ - - + + + PartyScreenChallengeMain 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + PopupBG - - 0 - 0 - -1,00 - 1280 - 720 - - - StaticColor - - - - - - + + StaticColor + + + 0 + 0 + 1280 + 720 + -1 + + + + Invisible - - 0 - 0 - 0,00 - 100 - 100 - - - StaticColor - - - - - - + + StaticColor + + + 0 + 0 + 100 + 100 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + 640 48 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENMAIN_TITLE - - - - - - - 640 - 515 - - 0,00 - - 27 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - TR_SCREENMAIN_NEXT_PLAYER - - - - - - - 640 - 520 - - 0,00 - - 44 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - TR_SCREENMAIN_FINISH - - - - - - - 640 - 575 - - 0,00 - - 31 - - 770 - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - - - - - - - + + + 40 102 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_POS - - - - - - + + + 50 102 - - 0,00 - + 0 27 - 130 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_PLAYERNAME - - - - - - + + + 260 102 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_NUMPLAYED - - - - - - + + + 340 102 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_WON - - - - - - + + + 490 102 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_SINGPOINTS - - - - - - + + + 590 102 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_GAMEPOINTS - - - - - - + + + 0 0 - - 0,00 - + 0 27 - 100 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - - 0 - 0 - - 0,00 - - 27 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - - - - - - - - 660 - 102 - - 0,00 - - 27 - - - - StaticColor - - - TextSColor - - Right - - Center - - - - Outline - - - - - - - - - 0 - 0 - - 0,00 - - 27 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - - - - - - - + + + 640 265 - - -1,01 - + -1.01 27 - 380 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENMAIN_POPUP_REALLYEXIT - - - - - - + + + + 660 + 102 + 0 + 27 + 0 + + StaticColor + + + TextSColor + + Right + Center + + Outline + + + + + 0 + 0 + 0 + 27 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + + + + + 0 + 0 + 0 + 27 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + + + + + 640 + 520 + 0 + 44 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + TR_SCREENMAIN_FINISH + + + + 640 + 575 + 0 + 31 + 770 + + StaticColor + + + TextSColor + + Center + Center + + Outline + + + + + 640 + 515 + 0 + 27 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + TR_SCREENMAIN_NEXT_PLAYER + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 1. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 2. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 3. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 4. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 5. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 6. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 7. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 8. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 9. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 10. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml index 1715fc94..d5a7e4b1 100644 --- a/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml +++ b/Output/PartyModes/Challenge/Screens/PartyScreenChallengeNames.xml @@ -1,607 +1,511 @@ - - + + + PartyScreenChallengeNames 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + + + 640 48 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENNAMES_TITLE - - - - - - + + + + + + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 40 - 100 - 0,00 - 1200 - 50 - - 45 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 40 + 100 + 1200 + 50 + 0 + + + 45 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlidePlayer - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlidePlayer - - 40 - 160 - 0,00 - 1200 - 150 - - 45 - 210 - 0,00 - 40 - 40 - - 1170 - 210 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - -5,00 - - 205,33 - + + 40 + 160 + 1200 + 150 + 0 + + + 45 + 210 + 40 + 40 + 0 + + + 1170 + 210 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + -5 + 205.33 Outline - Bold - 8 - - - - 42 - 327 - 0,00 - 1200 - 393 - + + + + + + + 42 + 327 + 1200 + 393 + 0 + CoverTile - - - 1,00 - 1,00 - 1,00 - 0,20 - + + + 1 + 1 + 1 + 0.2 + + PlayerSelector - - 100 100 - 10 2 - - 20,71 - 30,00 - + 20.71 + 30 - - 2,0 - - Outline - - TextColor - - - + 2 17 + Outline + + + TextColor + - - + + + + + + \ No newline at end of file diff --git a/Output/PartyModes/Challenge/Textures/Skin.xml b/Output/PartyModes/Challenge/Textures/Skin.xml index b2ea588c..9217b4e3 100644 --- a/Output/PartyModes/Challenge/Textures/Skin.xml +++ b/Output/PartyModes/Challenge/Textures/Skin.xml @@ -155,4 +155,4 @@ [Blue]BG_Video.mp4 - + \ No newline at end of file diff --git a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyConfig.xml b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyConfig.xml index 31c764e5..b189de6e 100644 --- a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyConfig.xml +++ b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyConfig.xml @@ -1,458 +1,388 @@ - - + + + PartyScreenChallengeMedleyConfig 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + + + 640 48 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENCONFIG_TITLE - - - - - - + + + 75 105 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENCONFIG_NUMPLAYERS - - - - - - + + + 75 165 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENCONFIG_NUMMICS - - - - - - + + + 75 225 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENCONFIG_NUMROUNDS - - - - - - + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 100 - 0,00 - 700 - 50 - - 505 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 100 + 700 + 50 + 0 + + + 505 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 9 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 160 - 0,00 - 700 - 50 - - 505 - 165 - 0,00 - 40 - 40 - - 1170 - 165 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 160 + 700 + 50 + 0 + + + 505 + 165 + 40 + 40 + 0 + + + 1170 + 165 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 220 - 0,00 - 700 - 50 - - 505 - 225 - 0,00 - 40 - 40 - - 1170 - 225 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 220 + 700 + 50 + 0 + + + 505 + 225 + 40 + 40 + 0 + + + 1170 + 225 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 10 - - - + + + + + + + + + \ No newline at end of file diff --git a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyMain.xml b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyMain.xml index ca6ca079..6b73bf10 100644 --- a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyMain.xml +++ b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyMain.xml @@ -1,985 +1,2791 @@ - - + + + PartyScreenChallengeMedleyMain 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + PopupBG - - 0 - 0 - -1,00 - 1280 - 720 - - - StaticColor - - - - - - + + StaticColor + + + 0 + 0 + 1280 + 720 + -1 + + + + Invisible - - 0 - 0 - 0,00 - 100 - 100 - - - StaticColor - - - - - - + + StaticColor + + + 0 + 0 + 100 + 100 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + 640 48 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENMAIN_TITLE - - - - - - - 640 - 515 - - 0,00 - - 27 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - TR_SCREENMAIN_NEXT_PLAYER - - - - - - - 640 - 520 - - 0,00 - - 44 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - TR_SCREENMAIN_FINISH - - - - - - - 640 - 575 - - 0,00 - - 31 - - 770 - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - - - - - - - + + + 40 102 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_POS - - - - - - + + + 50 102 - - 0,00 - + 0 27 - 130 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_PLAYERNAME - - - - - - + + + 260 102 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_NUMPLAYED - - - - - - + + + 340 102 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_WON - - - - - - + + + 490 102 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_SINGPOINTS - - - - - - + + + 590 102 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENMAIN_TABLE_GAMEPOINTS - - - - - - + + + 0 0 - - 0,00 - + 0 27 - 100 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - - 0 - 0 - - 0,00 - - 27 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - - - - - - - - 660 - 102 - - 0,00 - - 27 - - - - StaticColor - - - TextSColor - - Right - - Center - - - - Outline - - - - - - - - - 0 - 0 - - 0,00 - - 27 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - - - - - - - + + + 640 265 - - -1,01 - + -1.01 27 - 380 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENMAIN_POPUP_REALLYEXIT - - - - - - + + + + 660 + 102 + 0 + 27 + 0 + + StaticColor + + + TextSColor + + Right + Center + + Outline + + + + + 0 + 0 + 0 + 27 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + + + + + 0 + 0 + 0 + 27 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + + + + + 640 + 520 + 0 + 44 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + TR_SCREENMAIN_FINISH + + + + 640 + 575 + 0 + 31 + 770 + + StaticColor + + + TextSColor + + Center + Center + + Outline + + + + + 640 + 515 + 0 + 27 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + TR_SCREENMAIN_NEXT_PLAYER + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 1. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 2. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 3. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 4. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 5. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 6. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 7. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 8. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 9. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + 10. + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_PLAYERNAME + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_NUMPLAYED + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_WON + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_SINGPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + TR_SCREENMAIN_TABLE_GAMEPOINTS + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + 0 + 0 + 0 + 0 + 0 + + + Left + Top + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyNames.xml b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyNames.xml index e6236e97..1373bf23 100644 --- a/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyNames.xml +++ b/Output/PartyModes/ChallengeMedley/Screens/PartyScreenChallengeMedleyNames.xml @@ -1,607 +1,511 @@ - - + + + PartyScreenChallengeMedleyNames 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + + + 640 48 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENNAMES_TITLE - - - - - - + + + + + + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 40 - 100 - 0,00 - 1200 - 50 - - 45 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 40 + 100 + 1200 + 50 + 0 + + + 45 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlidePlayer - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlidePlayer - - 40 - 160 - 0,00 - 1200 - 150 - - 45 - 210 - 0,00 - 40 - 40 - - 1170 - 210 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - -5,00 - - 205,33 - + + 40 + 160 + 1200 + 150 + 0 + + + 45 + 210 + 40 + 40 + 0 + + + 1170 + 210 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + -5 + 205.33 Outline - Bold - 8 - - - - 42 - 327 - 0,00 - 1200 - 393 - + + + + + + + 42 + 327 + 1200 + 393 + 0 + CoverTile - - - 1,00 - 1,00 - 1,00 - 0,20 - + + + 1 + 1 + 1 + 0.2 + + PlayerSelector - - 100 100 - 10 2 - - 20,71 - 30,00 - + 20.71 + 30 - - 2,0 - - Outline - - TextColor - - - + 2 17 + Outline + + + TextColor + - - + + + + + + \ No newline at end of file diff --git a/Output/PartyModes/ChallengeMedley/Textures/Skin.xml b/Output/PartyModes/ChallengeMedley/Textures/Skin.xml index e89952f1..f73b7fbd 100644 --- a/Output/PartyModes/ChallengeMedley/Textures/Skin.xml +++ b/Output/PartyModes/ChallengeMedley/Textures/Skin.xml @@ -154,4 +154,4 @@ [Blue]BG_Video.mp4 - + \ No newline at end of file diff --git a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeConfig.xml b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeConfig.xml index ab0ac65f..fbcd05f5 100644 --- a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeConfig.xml +++ b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeConfig.xml @@ -1,588 +1,504 @@ - - + + + PartyScreenTicTacToeConfig 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + + + 640 48 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENCONFIG_TITLE - - - - - - + + + 75 105 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENCONFIG_NUMFIELDS - - - - - - + + + 75 165 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENCONFIG_SONGSOURCE - - - - - - + + + 75 285 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENCONFIG_GAMEMODE - - - - - - + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 100 - 0,00 - 700 - 50 - - 505 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 100 + 700 + 50 + 0 + + + 505 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 160 - 0,00 - 700 - 50 - - 505 - 165 - 0,00 - 40 - 40 - - 1170 - 165 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 160 + 700 + 50 + 0 + + + 505 + 165 + 40 + 40 + 0 + + + 1170 + 165 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 220 - 0,00 - 700 - 50 - - 505 - 225 - 0,00 - 40 - 40 - - 1170 - 225 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 220 + 700 + 50 + 0 + + + 505 + 225 + 40 + 40 + 0 + + + 1170 + 225 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 1 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 220 - 0,00 - 700 - 50 - - 505 - 225 - 0,00 - 40 - 40 - - 1170 - 225 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 220 + 700 + 50 + 0 + + + 505 + 225 + 40 + 40 + 0 + + + 1170 + 225 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 1 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 280 - 0,00 - 700 - 50 - - 505 - 285 - 0,00 - 40 - 40 - - 1170 - 285 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - 205,33 - + + 500 + 280 + 700 + 50 + 0 + + + 505 + 285 + 40 + 40 + 0 + + + 1170 + 285 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 1 - - - + + + + + + + + + \ No newline at end of file diff --git a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeMain.xml b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeMain.xml index 61e5e3a3..3dd79eae 100644 --- a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeMain.xml +++ b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeMain.xml @@ -1,844 +1,1386 @@ - - + + + PartyScreenTicTacToeMain 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + PopupBG - - 0 - 0 - -2,00 - 1280 - 720 - - - StaticColor - - - - - - + + StaticColor + + + 0 + 0 + 1280 + 720 + -2 + + + + PopupBG - - 10 - 200 - -1,00 - 100 - 100 - - - StaticColor - - - - - - + + StaticColor + + + 10 + 200 + 100 + 100 + -1 + + + + PopupBG - - 1170 - 200 - -1,00 - 100 - 100 - - - StaticColor - - - - - - + + StaticColor + + + 1170 + 200 + 100 + 100 + -1 + + + + + + 640 48 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENMAIN_TITLE - - - - - - - 160 - 150 - - 0,00 - - 35 - - - - Player1 - - - TextSColor - - Center - - Center - - - - Outline - - TR_SCREENMAIN_NEXT_PLAYER - - - - - - - 1120 - 150 - - 0,00 - - 35 - - - - Player2 - - - TextSColor - - Center - - Center - - - - Outline - - TR_SCREENMAIN_NEXT_PLAYER - - - - - - - 120 - 230 - - 0,00 - - 35 - - - - Player1 - - - TextSColor - - Left - - Center - - - - Outline - - - - - - - - - 1160 - 230 - - 0,00 - - 40 - - - - Player2 - - - TextSColor - - Right - - Center - - - - Outline - - - - - - - - - 640 - 90 - - 0,00 - - 35 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - - - - - - - - 640 - 90 - - 0,00 - - 35 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - - - - - - - + + + 640 265 - - -2,01 - + -2.01 27 - 380 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENMAIN_POPUP_REALLYEXIT - - - - - - - Random - - Random - - 10 - 320 - 0,00 - 100 - 100 - - - Player1Dim - - - Player1 - - - 50 - 25 - - 50 - - 50 - - - ButtonTextColor - - - ButtonTextSColor - - Center - - Center - - - - Outline - - - - - - - - - - - - - Random - - Random - - 1170 - 320 - 0,00 - 100 - 100 - - - Player2Dim - - - Player2 - - - 50 - 25 - - 50 - - 50 - - - ButtonTextColor - - - ButtonTextSColor - - Center - - Center - - - - Outline - - - - - - - - - - - - - RepeatIcon - - RepeatIcon - - 110 - 320 - 0,00 - 100 - 100 - - - Player1Dim - - - Player1 - - - 48 - 25 - - 50 - - 50 - - - ButtonTextColor - - - ButtonTextSColor - - Center - - Center - - - - Outline - - - - - - - - - - - - - RepeatIcon - - RepeatIcon - - 1070 - 320 - 0,00 - 100 - 100 - - - Player2Dim - - - Player2 - - - 48 - 25 - - 50 - - 50 - - - ButtonTextColor - - - ButtonTextSColor - - Center - - Center - - - - Outline - - - - - - - - - - - - + + + + 640 + 90 + 0 + 35 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + + + + + 640 + 90 + 0 + 35 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + + + + + 160 + 150 + 0 + 35 + 0 + + Player1 + + + TextSColor + + Center + Center + + Outline + TR_SCREENMAIN_NEXT_PLAYER + + + + 1120 + 150 + 0 + 35 + 0 + + Player2 + + + TextSColor + + Center + Center + + Outline + TR_SCREENMAIN_NEXT_PLAYER + + + + 120 + 230 + 0 + 35 + 0 + + Player1 + + + TextSColor + + Left + Center + + Outline + + + + + 1160 + 230 + 0 + 40 + 0 + + Player2 + + + TextSColor + + Right + Center + + Outline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeNames.xml b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeNames.xml index a968b115..f3f7d2f1 100644 --- a/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeNames.xml +++ b/Output/PartyModes/TicTacToe/Screens/PartyScreenTicTacToeNames.xml @@ -1,607 +1,511 @@ - - + + + PartyScreenTicTacToeNames 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + + + 640 48 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENNAMES_TITLE - - - - - - + + + + + + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 40 - 100 - 0,00 - 1100 - 50 - - 45 - 105 - 0,00 - 40 - 40 - - 1050 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 40 + 100 + 1100 + 50 + 0 + + + 45 + 105 + 40 + 40 + 0 + + + 1050 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlidePlayer - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlidePlayer - - 40 - 160 - 0,00 - 1100 - 150 - - 45 - 210 - 0,00 - 40 - 40 - - 1050 - 210 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - -5,00 - - 205,33 - + + 40 + 160 + 1100 + 150 + 0 + + + 45 + 210 + 40 + 40 + 0 + + + 1050 + 210 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + -5 + 205.33 Outline - Bold - 8 - - - - 42 - 327 - 0,00 - 1200 - 393 - + + + + + + + 42 + 327 + 1200 + 393 + 0 + CoverTile - - - 1,00 - 1,00 - 1,00 - 0,20 - + + + 1 + 1 + 1 + 0.2 + + PlayerSelector - - 100 100 - 10 2 - - 20,71 - 30,00 - + 20.71 + 30 - - 2,0 - - Outline - - TextColor - - - + 2 17 + Outline + + + TextColor + - - + + + + + + \ No newline at end of file diff --git a/Output/PartyModes/TicTacToe/Textures/Skin.xml b/Output/PartyModes/TicTacToe/Textures/Skin.xml index 9145b6bf..5979ac45 100644 --- a/Output/PartyModes/TicTacToe/Textures/Skin.xml +++ b/Output/PartyModes/TicTacToe/Textures/Skin.xml @@ -229,4 +229,4 @@ [Blue]BG_Video.mp4 - + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml b/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml index a1e0b31f..e8125613 100644 --- a/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml +++ b/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml @@ -1,460 +1,382 @@ - - - + + + + PopupScreenPlayerControl 1 - - + + + + Menu - - 49 - 0 - 0,00 - 1181 - 42 - - - StaticColor - - - - - - + + StaticColor + + + 49 + 0 + 1181 + 42 + 0 + + + + CoverBackground - - 55 - 2 - 0,00 - 38 - 38 - - - Visible - - - - - - + + Visible + + + 55 + 2 + 38 + 38 + 0 + + + + + + 410 8 - - 0,00 - + 0 27 - 769 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/PopupScreenServerQR.xml b/Output/Themes/Ambient/Screens/PopupScreenServerQR.xml index 6bf09478..441542da 100644 --- a/Output/Themes/Ambient/Screens/PopupScreenServerQR.xml +++ b/Output/Themes/Ambient/Screens/PopupScreenServerQR.xml @@ -1,315 +1,244 @@ - - - + + + + PopupScreenServerQR 1 - - + + + + SongMenuBG - - 0 - 0 - -1,99 - 1280 - 720 - - - 1,00 - 1,00 - 1,00 - 0,80 - - - - - - + + + 1 + 1 + 1 + 0.8 + + + + 0 + 0 + 1280 + 720 + -1.99 + + + + Menu - - 490 - 210 - -2,00 - 300 - 300 - - - Visible - - - - - - + + Visible + + + 490 + 210 + 300 + 300 + -2 + + + + Menu - - 25 - 25 - -2,00 - 200 - 200 - - - Visible - - - - - - + + Visible + + + 25 + 25 + 200 + 200 + -2 + + + + Menu - - 1055 - 25 - -2,00 - 200 - 200 - - - Visible - - - - - - + + Visible + + + 1055 + 25 + 200 + 200 + -2 + + + + Menu - - 25 - 495 - -2,00 - 200 - 200 - - - Visible - - - - - - + + Visible + + + 25 + 495 + 200 + 200 + -2 + + + + Menu - - 1055 - 495 - -2,00 - 200 - 200 - - - Visible - - - - - - - 640 - 515 - - -2,00 - - 35 - - 300 - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - - - - - - - - 640 - 265 - - -2,00 - - 45 - - 600 - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - TR_SCREENPSERVERQR_NOTRUNNING - - - - - - + + Visible + + + 1055 + 495 + 200 + 200 + -2 + + + + + + 640 180 - - -2,00 - + -2 35 - 300 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENPSERVERQR_ADDRESS - - - - - - + + + 125 230 - - -2,00 - + -2 27 - 200 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - Android - - - - - - + + + 1155 230 - - -2,00 - + -2 27 - 200 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - Symbian - - - - - - + + + 125 460 - - -2,00 - + -2 27 - 200 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - WebOS - - - - - - + + + 1155 460 - - -2,00 - + -2 27 - 200 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - Windows Phone - - - - - - + + + + 640 + 515 + -2 + 35 + 300 + + StaticColor + + + TextSColor + + Center + Center + + Outline + + + + + 640 + 265 + -2 + 45 + 600 + + StaticColor + + + TextSColor + + Center + Center + + Outline + TR_SCREENPSERVERQR_NOTRUNNING + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/PopupScreenVolumeControl.xml b/Output/Themes/Ambient/Screens/PopupScreenVolumeControl.xml index 80b47b72..cf00cb9c 100644 --- a/Output/Themes/Ambient/Screens/PopupScreenVolumeControl.xml +++ b/Output/Themes/Ambient/Screens/PopupScreenVolumeControl.xml @@ -1,121 +1,114 @@ - - - + + + + PopupScreenVolumeControl 1 - - + + + + Menu - - 1065 - 672 - -2,00 - 225 - 48 - - - StaticColor - - - - - - + + StaticColor + + + 1065 + 672 + 225 + 48 + -2 + + + + + + 1067 682 - - -2,00 - + -2 27 - 80 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPVOLUMECONTROL_VOLUME - - - - - - + + + + + + + + Invisible - Minus - Plus - Invisible - Minus - Plus - Invisible - - 1090 - 680 - -2,00 - 200 - 50 - - 1195 - 682 - -2,00 - 30 - 30 - - 1240 - 682 - -2,00 - 30 - 30 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - -15,00 - - -8,00 - - 500,00 - + + 1090 + 680 + 200 + 50 + -2 + + + 1195 + 682 + 30 + 30 + -2 + + + 1240 + 682 + 30 + 30 + -2 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + -15 + -8 + 500 Outline - Bold - 1 - - - \ No newline at end of file + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenHighscore.xml b/Output/Themes/Ambient/Screens/ScreenHighscore.xml index 2af500cc..cff7c62a 100644 --- a/Output/Themes/Ambient/Screens/ScreenHighscore.xml +++ b/Output/Themes/Ambient/Screens/ScreenHighscore.xml @@ -1,1486 +1,1038 @@ - - - + + + + ScreenHighscore 2 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + TextBG - - 50 - 90 - 0,00 - 1180 - 610 - - - Invisible - - - - - - + + Invisible + + + 50 + 90 + 1180 + 610 + 0 + + + + + + 60 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENHIGHSCORE_HIGHSCORE - - - - - - + + + 640 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1220 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 120 103 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 120 160 - - 0,00 - + 0 42 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 120 223 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 120 283 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 120 343 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 120 403 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 120 463 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 120 523 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 120 583 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 120 643 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 200 103 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 200 163 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 200 223 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 200 283 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 200 343 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 200 403 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 200 463 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 200 523 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 200 583 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 200 643 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 800 103 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 800 163 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 800 223 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 800 283 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 800 343 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 800 403 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 800 463 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 800 523 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 800 583 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 800 643 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1000 103 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1000 163 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1000 223 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1000 283 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1000 343 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1000 403 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1000 463 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1000 523 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1000 583 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1000 643 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + + + + + + + + + + + Star - - 80 - 100 - 1,00 - 1080 - 35 - - - StaticColor - + + 80 + 100 + 1080 + 35 + 1 + + + StaticColor + Star - - 25,00 - + 25 250 - - - + + Star - - 80 - 160 - 1,00 - 1080 - 35 - - - StaticColor - + + 80 + 160 + 1080 + 35 + 1 + + + StaticColor + Star - - 25,00 - + 25 250 - - - + + Star - - 80 - 220 - 1,00 - 1080 - 35 - - - StaticColor - + + 80 + 220 + 1080 + 35 + 1 + + + StaticColor + Star - - 25,00 - + 25 250 - - - + + Star - - 80 - 280 - 1,00 - 1080 - 35 - - - StaticColor - + + 80 + 280 + 1080 + 35 + 1 + + + StaticColor + Star - - 25,00 - + 25 250 - - - + + Star - - 80 - 340 - 1,00 - 1080 - 35 - - - StaticColor - + + 80 + 340 + 1080 + 35 + 1 + + + StaticColor + Star - - 25,00 - + 25 250 - - - + + Star - - 80 - 400 - 1,00 - 1080 - 35 - - - StaticColor - + + 80 + 400 + 1080 + 35 + 1 + + + StaticColor + Star - - 25,00 - + 25 250 - - - + + Star - - 80 - 460 - 1,00 - 1080 - 35 - - - StaticColor - + + 80 + 460 + 1080 + 35 + 1 + + + StaticColor + Star - - 25,00 - + 25 250 - - - + + Star - - 80 - 520 - 1,00 - 1080 - 35 - - - StaticColor - + + 80 + 520 + 1080 + 35 + 1 + + + StaticColor + Star - - 25,00 - + 25 250 - - - + + Star - - 80 - 580 - 1,00 - 1080 - 35 - - - StaticColor - + + 80 + 580 + 1080 + 35 + 1 + + + StaticColor + Star - - 25,00 - + 25 250 - - - + + Star - - 80 - 640 - 1,00 - 1080 - 35 - - - StaticColor - + + 80 + 640 + 1080 + 35 + 1 + + + StaticColor + Star - - 25,00 - + 25 250 - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenLoad.xml b/Output/Themes/Ambient/Screens/ScreenLoad.xml index 36041ea4..7d31a98a 100644 --- a/Output/Themes/Ambient/Screens/ScreenLoad.xml +++ b/Output/Themes/Ambient/Screens/ScreenLoad.xml @@ -1,120 +1,103 @@ - - - + + + + ScreenLoad 2 - - + + + Texture - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 50 - 644 - 0,00 - 1195 - 50 - - - Invisible - - - - - - + + Invisible + + + 50 + 644 + 1195 + 50 + 0 + + + + + + 60 655 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - Center - - Outline - TR_SCREENLOAD_LOADING - - - - - - - 640 - 305 - - 0,00 - - 101 - - - - StaticColor - - - TextSColor - - Center - - Center - - - - Outline - - TR_PROGRAM_NAME - - - - - - + + + 240 655 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - Center - - Outline - - - - - - - - + Gesamt: 168 Lieder (168 geladen) + + + + 640 + 305 + 0 + 101 + 0 + + StaticColor + + + TextSColor + + Center + Center + + Outline + TR_PROGRAM_NAME + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenMain.xml b/Output/Themes/Ambient/Screens/ScreenMain.xml index 0d256cd2..f1701971 100644 --- a/Output/Themes/Ambient/Screens/ScreenMain.xml +++ b/Output/Themes/Ambient/Screens/ScreenMain.xml @@ -1,318 +1,324 @@ - - - - 1 - - + + + + ScreenMain + 2 + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 49 - 32 - 0,00 - 1181 - 50 - - - Invisible - - - - - - + + Invisible + + + 49 + 32 + 1181 + 50 + 0 + + + + + TextBG + + StaticWarningColor + + + 150 + 610 + 355 + 30 + -1.9 + + + + + + + 10 + 690 + -1 + 15 + 0 + + TextWhite + + + TextWhite + + Left + Center + + Normal + Vocaluxe "Shining Heaven" v0.3.0 (x64) Beta (0083) + + + + 320 + 612 + -2 + 27 + 355 + + TextWarningColor + + + TextWarningColor + + Center + Center + + Outline + TR_SCREENMAIN_TEXT_NOPROFILES + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenNames.xml b/Output/Themes/Ambient/Screens/ScreenNames.xml index 5d17ebe2..d4767290 100644 --- a/Output/Themes/Ambient/Screens/ScreenNames.xml +++ b/Output/Themes/Ambient/Screens/ScreenNames.xml @@ -1,1308 +1,1075 @@ - - - + + + + ScreenNames 3 - - + + + Video - + - BG_Options - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + Invisible - - 20 - 105 - -3,00 - 108 - 108 - - - Visible - - - - - - + + Visible + + + 20 + 105 + 108 + 108 + -3 + + + + Invisible - - 20 - 260 - -3,00 - 108 - 108 - - - Visible - - - - - - + + Visible + + + 20 + 260 + 108 + 108 + -3 + + + + Invisible - - 20 - 415 - -3,00 - 108 - 108 - - - Visible - - - - - - + + Visible + + + 20 + 415 + 108 + 108 + -3 + + + + Invisible - - 1152 - 105 - -3,00 - 108 - 108 - - - Visible - - - - - - + + Visible + + + 1152 + 105 + 108 + 108 + -3 + + + + Invisible - - 1152 - 260 - -3,00 - 108 - 108 - - - Visible - - - - - - + + Visible + + + 1152 + 260 + 108 + 108 + -3 + + + + Invisible - - 1152 - 415 - -3,00 - 108 - 108 - - - Visible - - - - - - + + Visible + + + 1152 + 415 + 108 + 108 + -3 + + + + PlayerSelector - - 15 - 100 - -2,00 - 118 - 118 - - - Player1 - - - - - - + + Player1 + + + 15 + 100 + 118 + 118 + -2 + + + + PlayerSelector - - 15 - 255 - -2,00 - 118 - 118 - - - Player2 - - - - - - + + Player2 + + + 15 + 255 + 118 + 118 + -2 + + + + PlayerSelector - - 15 - 410 - -2,00 - 118 - 118 - - - Player3 - - - - - - + + Player3 + + + 15 + 410 + 118 + 118 + -2 + + + + PlayerSelector - - 1147 - 100 - -2,00 - 118 - 118 - - - Player4 - - - - - - + + Player4 + + + 1147 + 100 + 118 + 118 + -2 + + + + PlayerSelector - - 1147 - 255 - -2,00 - 118 - 118 - - - Player5 - - - - - - + + Player5 + + + 1147 + 255 + 118 + 118 + -2 + + + + PlayerSelector - - 1147 - 410 - -2,00 - 118 - 118 - - - Player6 - - - - - - + + Player6 + + + 1147 + 410 + 118 + 118 + -2 + + + + Invisible - - 145 - 663 - 0,00 - 990 - 50 - - - StaticWarningColor - - - - - - + + StaticWarningColor + + + 145 + 663 + 990 + 50 + 0 + + + + Invisible - - 145 - 715 - 0,00 - 990 - 50 - - - StaticWarningColor - - - - - - + + StaticWarningColor + + + 145 + 715 + 990 + 50 + 0 + + + + + + 640 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENNAMES_MENU - - - - - - + + + 640 617 - - 0,00 - + 0 27 - 970 - - - TextWarningColor - - - TextWarningColor - + + TextWarningColor + + + TextWarningColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 652 - - 0,00 - + 0 27 - 970 - - - TextWarningColor - - - TextWarningColor - + + TextWarningColor + + + TextWarningColor + Center - - Center - + Center - Outline - - - - - - - + + + 74 219 - - 0,00 - + 0 20 - - - - Player1 - - - TextSColor - + 0 + + Player1 + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 74 374 - - 0,00 - + 0 20 - - - - Player2 - - - TextSColor - + 0 + + Player2 + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 74 529 - - 0,00 - + 0 20 - - - - Player3 - - - TextSColor - + 0 + + Player3 + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1206 219 - - 0,00 - + 0 20 - - - - Player4 - - - TextSColor - + 0 + + Player4 + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1206 374 - - 0,00 - + 0 20 - - - - Player5 - - - TextSColor - + 0 + + Player5 + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1206 529 - - 0,00 - + 0 20 - - - - Player6 - - - TextSColor - + 0 + + Player6 + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlidePlayer - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlidePlayer - - 70 - 548 - 0,00 - 1140 - 45 - - 75 - 553 - 0,00 - 40 - 40 - - 1170 - 553 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 186,00 - + + 70 + 548 + 1140 + 45 + 0 + + + 75 + 553 + 40 + 40 + 0 + + + 1170 + 553 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 186 Outline - Bold - 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 - + + 41 + 105 + 88 + 20 + -4 + + + 20 + 105 + 20 + 20 + -4.01 + + + 20 + 105 + 20 + 20 + -4.01 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20 + 0 + 0 + 86 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 - + + 41 + 260 + 88 + 20 + -4 + + + 20 + 260 + 20 + 20 + -4.01 + + + 20 + 260 + 20 + 20 + -4.01 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20 + 0 + 0 + 86 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 - + + 41 + 415 + 88 + 20 + -4 + + + 20 + 415 + 20 + 20 + -4.01 + + + 20 + 415 + 20 + 20 + -4.01 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20 + 0 + 0 + 86 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 - + + 1152 + 105 + 88 + 20 + -4 + + + 1240 + 105 + 20 + 20 + -4.01 + + + 1240 + 105 + 20 + 20 + -4.01 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20 + 0 + 0 + 86 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 - + + 1152 + 260 + 88 + 20 + -4 + + + 1240 + 260 + 20 + 20 + -4.01 + + + 1240 + 260 + 20 + 20 + -4.01 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20 + 0 + 0 + 86 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 - + + 1152 + 415 + 88 + 20 + -4 + + + 1240 + 415 + 20 + 20 + -4.01 + + + 1240 + 415 + 20 + 20 + -4.01 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 20 + 0 + 0 + 86 Outline - Bold - 1 - - - - 172 - 127 - 0,00 - 945 - 393 - + + + + + + + 172 + 127 + 945 + 393 + 0 + CoverTile - - - 1,00 - 1,00 - 1,00 - 0,20 - + + + 1 + 1 + 1 + 0.2 + + PlayerSelector - - 100 100 - 8 3 - - 20,71 - 30,00 - + 20.71 + 30 - - 2,0 - - Outline - - TextColor - - - + 2 17 + Outline + + + TextColor + - - + + + Invisible - - 21 - 152 - -4,00 - 108 - 60 - + + 21 + 152 + 108 + 60 + -4 + 8 - - 2,00 - + 2 - TR_CONFIG_OFF - - - Player1Dim2 - - - Player1Dim2 - - - - - - + + Player1Dim2 + + + Player1Dim2 + + + + Invisible - - 21 - 307 - -4,00 - 108 - 60 - + + 21 + 307 + 108 + 60 + -4 + 8 - - 2,00 - + 2 - TR_CONFIG_OFF - - - Player2Dim2 - - - Player2Dim2 - - - - - - + + Player2Dim2 + + + Player2Dim2 + + + + Invisible - - 21 - 467 - -4,00 - 108 - 60 - + + 21 + 467 + 108 + 60 + -4 + 8 - - 2,00 - + 2 - TR_CONFIG_OFF - - - Player3Dim2 - - - Player3Dim2 - - - - - - + + Player3Dim2 + + + Player3Dim2 + + + + Invisible - - 1153 - 152 - -4,00 - 108 - 60 - + + 1153 + 152 + 108 + 60 + -4 + 8 - - 2,00 - + 2 - TR_CONFIG_OFF - - - Player4Dim2 - - - Player4Dim2 - - - - - - + + Player4Dim2 + + + Player4Dim2 + + + + Invisible - - 1153 - 307 - -4,00 - 108 - 60 - + + 1153 + 307 + 108 + 60 + -4 + 8 - - 2,00 - + 2 - TR_CONFIG_OFF - - - Player5Dim2 - - - Player5Dim2 - - - - - - + + Player5Dim2 + + + Player5Dim2 + + + + Invisible - - 1153 - 467 - -4,00 - 108 - 60 - + + 1153 + 467 + 108 + 60 + -4 + 8 - - 2,00 - + 2 - TR_CONFIG_OFF - - - Player6Dim2 - - - Player6Dim2 - - - - - - \ No newline at end of file + + 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 de798ca2..120be893 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptions.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptions.xml @@ -1,404 +1,336 @@ - - - + + + + ScreenOptions 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 50 - 32 - 0,00 - 1180 - 50 - - - Invisible - - - - - - + + Invisible + + + 50 + 32 + 1180 + 50 + 0 + + + + + + 60 43 - - 0,00 - + 0 27 - - - - Invisible - - - Invisible - + 0 + + Invisible + + + Invisible + Left - - Center - + Center - Outline - TR_SCREENO_OPTIONS - - - - - - + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml b/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml index 49c9551a..b3aebc79 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml @@ -1,848 +1,703 @@ - - - + + + + ScreenOptionsGame 2 - - + + + Video - + - BG_Options - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + Invisible - - 50 - 100 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 100 + 460 + 50 + 0 + + + + Invisible - - 50 - 160 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 160 + 460 + 50 + 0 + + + + Invisible - - 50 - 220 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 220 + 460 + 50 + 0 + + + + Invisible - - 50 - 280 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 280 + 460 + 50 + 0 + + + + Invisible - - 50 - 340 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 340 + 460 + 50 + 0 + + + + Invisible - - 50 - 400 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 400 + 460 + 50 + 0 + + + + + + 640 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENOGAME_OPTIONS - - - - - - + + + 75 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOGAME_LANGUAGE - - - - - - + + + 75 167 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOGAME_DEBUGLEVEL - - - - - - + + + 75 227 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOGAME_SONGMENU - - - - - - + + + 75 287 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOGAME_SONGSORTING - - - - - - + + + 75 347 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOGAME_TABS - - - - - - + + + 75 407 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOGAME_TIMERMODE - - - - - - + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 100 - 0,00 - 700 - 50 - - 505 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 100 + 700 + 50 + 0 + + + 505 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 160 - 0,00 - 700 - 50 - - 505 - 165 - 0,00 - 40 - 40 - - 1170 - 165 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 160 + 700 + 50 + 0 + + + 505 + 165 + 40 + 40 + 0 + + + 1170 + 165 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 220 - 0,00 - 700 - 50 - - 505 - 225 - 0,00 - 40 - 40 - - 1170 - 225 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 220 + 700 + 50 + 0 + + + 505 + 225 + 40 + 40 + 0 + + + 1170 + 225 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 280 - 0,00 - 700 - 50 - - 505 - 285 - 0,00 - 40 - 40 - - 1170 - 285 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 280 + 700 + 50 + 0 + + + 505 + 285 + 40 + 40 + 0 + + + 1170 + 285 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 340 - 0,00 - 700 - 50 - - 505 - 345 - 0,00 - 40 - 40 - - 1170 - 345 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 308,00 - + + 500 + 340 + 700 + 50 + 0 + + + 505 + 345 + 40 + 40 + 0 + + + 1170 + 345 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 308 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 400 - 0,00 - 700 - 50 - - 505 - 405 - 0,00 - 40 - 40 - - 1170 - 405 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 400 + 700 + 50 + 0 + + + 505 + 405 + 40 + 40 + 0 + + + 1170 + 405 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml b/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml index 2fa9d49b..4f80e6fc 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml @@ -1,311 +1,266 @@ - - - + + + + ScreenOptionsLyrics 2 - - + + + Video - + - BG_Options - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + + + 640 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENOLYRICS_OPTIONS - - - - - - + + + 75 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOLYRICS_STYLE - - - - - - + + + 75 167 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOLYRICS_POSITION - - - - - - + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 100 - 0,00 - 700 - 50 - - 505 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 100 + 700 + 50 + 0 + + + 505 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 4 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 160 - 0,00 - 700 - 50 - - 505 - 165 - 0,00 - 40 - 40 - - 1170 - 165 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 160 + 700 + 50 + 0 + + + 505 + 165 + 40 + 40 + 0 + + + 1170 + 165 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 2 - - - \ No newline at end of file + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml b/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml index 77c04934..9fc3c7fd 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml @@ -1,838 +1,683 @@ - - - + + + + ScreenOptionsRecord 4 - - + + + Video - + - BG_Options - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + Invisible - - 50 - 100 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 100 + 460 + 50 + 0 + + + + Invisible - - 50 - 160 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 160 + 460 + 50 + 0 + + + + Invisible - - 50 - 220 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 220 + 460 + 50 + 0 + + + + Invisible - - 50 - 280 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 280 + 460 + 50 + 0 + + + + Invisible - - 50 - 340 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 340 + 460 + 50 + 0 + + + + Invisible - - 145 - 530 - 0,00 - 990 - 50 - - - StaticWarningColor - - - - - - + + StaticWarningColor + + + 145 + 530 + 990 + 50 + 0 + + + + EnergyBeam - - 390 - 234 - 0,00 - 100 - 16 - - - Visible - - - - - - + + Visible + + + 390 + 234 + 100 + 16 + 0 + + + + EnergyBeam - - 390 - 296 - 0,00 - 100 - 16 - - - Visible - - - - - - + + Visible + + + 390 + 296 + 100 + 16 + 0 + + + + + + 640 55 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENORECORD_OPTIONS - - - - - - + + + 75 106 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENORECORD_DEVICE - - - - - - + + + 75 347 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENORECORD_MIC_DELAY - - - - - - - 75 - 227 - - 0,00 - - 27 - - - - StaticColor - - - TextSColor - - Left - - Center - - - - Outline - - TR_SCREENORECORD_CHANNEL_1 - - - - - - - 75 - 287 - - 0,00 - - 27 - - - - StaticColor - - - TextSColor - - Left - - Center - - - - Outline - - TR_SCREENORECORD_CHANNEL_2 - - - - - - + + + 640 537 - - 0,00 - + 0 27 - 970 - - - TextWarningColor - - - TextWarningColor - + + TextWarningColor + + + TextWarningColor + Center - - Center - + Center - Outline - TR_SCREENORECORD_MIC_WARNING - - - - - - + + + + 75 + 227 + 0 + 27 + 0 + + StaticColor + + + TextSColor + + Left + Center + + Outline + TR_SCREENORECORD_CHANNEL_1 + + + + 75 + 287 + 0 + 27 + 0 + + StaticColor + + + TextSColor + + Left + Center + + Outline + TR_SCREENORECORD_CHANNEL_2 + + + 330 227 - - -1,00 - + -1 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + 330 287 - - -1,00 - + -1 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - - - - - - - + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 100 - 0,00 - 700 - 50 - - 505 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 616,00 - + + 500 + 100 + 700 + 50 + 0 + + + 505 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 616 Outline - Bold - 1 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 220 - 0,00 - 700 - 50 - - 505 - 225 - 0,00 - 40 - 40 - - 1170 - 225 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 154,00 - + + 500 + 220 + 700 + 50 + 0 + + + 505 + 225 + 40 + 40 + 0 + + + 1170 + 225 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 154 Outline - Bold - 7 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 280 - 0,00 - 700 - 50 - - 505 - 285 - 0,00 - 40 - 40 - - 1170 - 285 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 154,00 - + + 500 + 280 + 700 + 50 + 0 + + + 505 + 285 + 40 + 40 + 0 + + + 1170 + 285 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 154 Outline - Bold - 7 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 340 - 0,00 - 700 - 50 - - 505 - 345 - 0,00 - 40 - 40 - - 1170 - 345 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 123,20 - + + 500 + 340 + 700 + 50 + 0 + + + 505 + 345 + 40 + 40 + 0 + + + 1170 + 345 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 123.2 Outline - Bold - 5 - - - + + + + + + Invisible - - 50 - 400 - -1,00 - 230 - 150 - + + 50 + 400 + 230 + 150 + -1 + 12 - - 2,00 - + 2 - TR_CONFIG_OFF - - - ButtonColor - - - ButtonTextColor - - - - - 10 + + ButtonColor + + + ButtonTextColor + + 26 + 10 - - - + + Invisible - - 400 - 400 - -1,00 - 230 - 150 - + + 400 + 400 + 230 + 150 + -1 + 12 - - 2,00 - + 2 - TR_CONFIG_OFF - - - ButtonColor - - - ButtonTextColor - - - - - 10 + + ButtonColor + + + ButtonTextColor + + 26 + 10 - - - + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml index 3472b1ab..5cb85711 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml @@ -1,599 +1,497 @@ - - - + + + + ScreenOptionsSound 3 - - + + + Video - + - BG_Options - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + + + 640 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENOSOUND_OPTIONS - - - - - - + + + 75 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOSOUND_BACKGROUNDMUSIC - - - - - - + + + 75 167 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME - - - - - - + + + 75 227 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE - - - - - - + + + 75 287 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOSOUND_PREVIEWMUSICVOLUME - - - - - - + + + 75 347 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOSOUND_GAMEMUSICVOLUME - - - - - - + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 100 - 0,00 - 700 - 50 - - 505 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 100 + 700 + 50 + 0 + + + 505 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 160 - 0,00 - 700 - 50 - - 505 - 165 - 0,00 - 40 - 40 - - 1170 - 165 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 160 + 700 + 50 + 0 + + + 505 + 165 + 40 + 40 + 0 + + + 1170 + 165 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 220 - 0,00 - 700 - 50 - - 505 - 225 - 0,00 - 40 - 40 - - 1170 - 225 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 500,00 - + + 500 + 220 + 700 + 50 + 0 + + + 505 + 225 + 40 + 40 + 0 + + + 1170 + 225 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 500 Outline - Bold - 1 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 280 - 0,00 - 700 - 50 - - 505 - 285 - 0,00 - 40 - 40 - - 1170 - 285 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 500,00 - + + 500 + 280 + 700 + 50 + 0 + + + 505 + 285 + 40 + 40 + 0 + + + 1170 + 285 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 500 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 340 - 0,00 - 700 - 50 - - 505 - 345 - 0,00 - 40 - 40 - - 1170 - 345 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 500,00 - + + 500 + 340 + 700 + 50 + 0 + + + 505 + 345 + 40 + 40 + 0 + + + 1170 + 345 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 500 Outline - Bold - 3 - - - \ No newline at end of file + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml b/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml index a66566e2..ef17078d 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml @@ -1,1015 +1,840 @@ - - - + + + + ScreenOptionsTheme 3 - - + + + Video - + - BG_Options - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + Invisible - - 50 - 100 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 100 + 460 + 50 + 0 + + + + Invisible - - 50 - 160 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 160 + 460 + 50 + 0 + + + + Invisible - - 50 - 220 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 220 + 460 + 50 + 0 + + + + Invisible - - 50 - 280 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 280 + 460 + 50 + 0 + + + + Invisible - - 50 - 340 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 340 + 460 + 50 + 0 + + + + Invisible - - 50 - 400 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 400 + 460 + 50 + 0 + + + + Invisible - - 50 - 460 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 460 + 460 + 50 + 0 + + + + Invisible - - 50 - 520 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 520 + 460 + 50 + 0 + + + + + + 640 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENOTHEME_OPTIONS - - - - - - + + + 75 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOTHEME_THEME - - - - - - + + + 75 167 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOTHEME_SKIN - - - - - - + + + 75 227 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOTHEME_COVERTHEME - - - - - - + + + 75 287 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOTHEME_NOTELINES - - - - - - + + + 75 347 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOTHEME_TONEHELPER - - - - - - + + + 75 407 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOTHEME_TIMERLOOK - - - - - - + + + 75 467 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOTHEME_FADEINFO - - - - - - + + + 75 527 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOTHEME_COVERLOADING - - - - - - + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 100 - 0,00 - 700 - 50 - - 505 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 616,00 - + + 500 + 100 + 700 + 50 + 0 + + + 505 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 616 Outline - Bold - 1 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 160 - 0,00 - 700 - 50 - - 505 - 165 - 0,00 - 40 - 40 - - 1170 - 165 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 616,00 - + + 500 + 160 + 700 + 50 + 0 + + + 505 + 165 + 40 + 40 + 0 + + + 1170 + 165 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 616 Outline - Bold - 1 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 220 - 0,00 - 700 - 50 - - 505 - 225 - 0,00 - 40 - 40 - - 1170 - 225 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 308,00 - + + 500 + 220 + 700 + 50 + 0 + + + 505 + 225 + 40 + 40 + 0 + + + 1170 + 225 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 308 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 280 - 0,00 - 700 - 50 - - 505 - 285 - 0,00 - 40 - 40 - - 1170 - 285 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 308,00 - + + 500 + 280 + 700 + 50 + 0 + + + 505 + 285 + 40 + 40 + 0 + + + 1170 + 285 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 308 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 340 - 0,00 - 700 - 50 - - 505 - 345 - 0,00 - 40 - 40 - - 1170 - 345 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 308,00 - + + 500 + 340 + 700 + 50 + 0 + + + 505 + 345 + 40 + 40 + 0 + + + 1170 + 345 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 308 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 400 - 0,00 - 700 - 50 - - 505 - 405 - 0,00 - 40 - 40 - - 1170 - 405 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 308,00 - + + 500 + 400 + 700 + 50 + 0 + + + 505 + 405 + 40 + 40 + 0 + + + 1170 + 405 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 308 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 460 - 0,00 - 700 - 50 - - 505 - 465 - 0,00 - 40 - 40 - - 1170 - 465 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 616,00 - + + 500 + 460 + 700 + 50 + 0 + + + 505 + 465 + 40 + 40 + 0 + + + 1170 + 465 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 616 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 520 - 0,00 - 700 - 50 - - 505 - 525 - 0,00 - 40 - 40 - - 1170 - 525 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 616,00 - + + 500 + 520 + 700 + 50 + 0 + + + 505 + 525 + 40 + 40 + 0 + + + 1170 + 525 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 616 Outline - Bold - 1 - - - \ No newline at end of file + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml b/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml index cabb55d9..889d2e5f 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml @@ -1,816 +1,675 @@ - - - + + + + ScreenOptionsVideo 5 - - + + + Video - + - BG_Options - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + Invisible - - 50 - 100 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 100 + 460 + 50 + 0 + + + + Invisible - - 50 - 160 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 160 + 460 + 50 + 0 + + + + Invisible - - 50 - 220 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 220 + 460 + 50 + 0 + + + + Invisible - - 550 - 460 - 0,00 - 320 - 240 - - - Visible - - - - - - + + Visible + + + 550 + 460 + 320 + 240 + 0 + + + + + + 640 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENOVIDEO_OPTIONS - - - - - - + + + 75 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOVIDEO_VIDEOBACKGROUNDS - - - - - - + + + 75 167 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOVIDEO_VIDEOPREVIEW - - - - - - + + + 75 227 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOVIDEO_VIDEOINSONGS - - - - - - + + + 75 287 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOVIDEO_VIDEOSTOBACKGROUND - - - - - - + + + 75 347 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOVIDEO_WEBCAMDEVICES - - - - - - + + + 75 407 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENOVIDEO_WEBCAMRESOLUTION - - - - - - + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 100 - 0,00 - 700 - 50 - - 505 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 100 + 700 + 50 + 0 + + + 505 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 160 - 0,00 - 700 - 50 - - 505 - 165 - 0,00 - 40 - 40 - - 1170 - 165 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 160 + 700 + 50 + 0 + + + 505 + 165 + 40 + 40 + 0 + + + 1170 + 165 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 220 - 0,00 - 700 - 50 - - 505 - 225 - 0,00 - 40 - 40 - - 1170 - 225 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 220 + 700 + 50 + 0 + + + 505 + 225 + 40 + 40 + 0 + + + 1170 + 225 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 280 - 0,00 - 700 - 50 - - 505 - 285 - 0,00 - 40 - 40 - - 1170 - 285 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 280 + 700 + 50 + 0 + + + 505 + 285 + 40 + 40 + 0 + + + 1170 + 285 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 340 - 0,00 - 700 - 50 - - 505 - 345 - 0,00 - 40 - 40 - - 1170 - 345 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 205,33 - + + 500 + 340 + 700 + 50 + 0 + + + 505 + 345 + 40 + 40 + 0 + + + 1170 + 345 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 205.33 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 400 - 0,00 - 700 - 50 - - 505 - 405 - 0,00 - 40 - 40 - - 1170 - 405 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 150,00 - + + 500 + 400 + 700 + 50 + 0 + + + 505 + 405 + 40 + 40 + 0 + + + 1170 + 405 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 150 Outline - Bold - 3 - - - + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsVideoAdjustments.xml b/Output/Themes/Ambient/Screens/ScreenOptionsVideoAdjustments.xml index e9ffb2eb..bbef2844 100644 --- a/Output/Themes/Ambient/Screens/ScreenOptionsVideoAdjustments.xml +++ b/Output/Themes/Ambient/Screens/ScreenOptionsVideoAdjustments.xml @@ -1,251 +1,196 @@ - - - + + + + ScreenOptionsVideoAdjustments 1 - - + + + Color - + - BG_Options - - - 1,00 - 1,00 - 1,00 - 1,00 - - - + + + 1 + 1 + 1 + 1 + + + + + + + 0 0 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Top - + Center - Outline - TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT - - - - - - + + + 1280 0 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Top - + Center - Outline - TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT - - - - - - + + + 0 693 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Bottom - + Center - Outline - TR_SCREENOVIDEOADJUSTMENTS_BOTTOMLEFT - - - - - - + + + 1280 693 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Bottom - + Center - Outline - TR_SCREENOVIDEOADJUSTMENTS_BOTTOMRIGHT - - - - - - + + + 640 320 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENOVIDEOADJUSTMENTS_NOTES - - - - - - + + + 640 360 - - 0,00 - + 0 35 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenParty.xml b/Output/Themes/Ambient/Screens/ScreenParty.xml index d725b993..eef66bfd 100644 --- a/Output/Themes/Ambient/Screens/ScreenParty.xml +++ b/Output/Themes/Ambient/Screens/ScreenParty.xml @@ -1,656 +1,481 @@ - - - + + + + ScreenParty 1 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + + + 640 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENPARTY_TITLE - - - - - - + + + 75 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPARTY_MODES - - - - - - + + + 75 167 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPARTY_DESCRIPTION - - - - - - + + + 75 227 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPARTY_TARGETAUDIENCE - - - - - - + + + 75 287 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPARTY_NUMTEAMS - - - - - - + + + 75 347 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPARTY_NUMPLAYERS - - - - - - + + + 75 407 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPARTY_AUTHOR - - - - - - + + + 75 467 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPARTY_VERSION - - - - - - + + + 850 167 - - 0,00 - + 0 27 - 600 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 850 227 - - 0,00 - + 0 27 - 600 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 850 287 - - 0,00 - + 0 27 - 600 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 850 347 - - 0,00 - + 0 27 - 600 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 850 407 - - 0,00 - + 0 27 - 600 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 850 467 - - 0,00 - + 0 27 - 600 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 850 527 - - 0,00 - + 0 27 - 600 - - - TextWarningColor - - - TextSColor - + + TextWarningColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENPARTY_ERROR - - - - - - + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 100 - 0,00 - 700 - 50 - - 505 - 105 - 0,00 - 40 - 40 - - 1170 - 105 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 600,00 - + + 500 + 100 + 700 + 50 + 0 + + + 505 + 105 + 40 + 40 + 0 + + + 1170 + 105 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 600 Outline - Bold - 1 - - - + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenProfiles.xml b/Output/Themes/Ambient/Screens/ScreenProfiles.xml index 1fb4ce6f..16d02be5 100644 --- a/Output/Themes/Ambient/Screens/ScreenProfiles.xml +++ b/Output/Themes/Ambient/Screens/ScreenProfiles.xml @@ -1,1127 +1,923 @@ - - - + + + + ScreenProfiles 3 - - + + + Video - + - BG_Options - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + Invisible - - 50 - 160 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 160 + 460 + 50 + 0 + + + + Invisible - - 50 - 220 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 220 + 460 + 50 + 0 + + + + Invisible - - 50 - 280 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 280 + 460 + 50 + 0 + + + + Invisible - - 50 - 340 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 340 + 460 + 50 + 0 + + + + Invisible - - 50 - 400 - 0,00 - 460 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 50 + 400 + 460 + 50 + 0 + + + + - - 85 - 110 - 0,00 - 160 - 160 - - - Visible - - - - - - + + Visible + + + 85 + 110 + 160 + 160 + 0 + + + + + + 640 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENPROFILES_PROFILES - - - - - - + + + 75 287 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPROFILES_PLAYERNAME - - - - - - + + + 75 347 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPROFILES_GAMEDIFFICULTY - - - - - - + + + 75 407 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPROFILES_AVATAR - - - - - - + + + 75 467 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPROFILES_USERROLE - - - - - - + + + 75 527 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENPROFILES_ACTIVE - - - - - - + + + + + + + + + + + + + + + + + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 160 - 0,00 - 710 - 50 - - 505 - 165 - 0,00 - 40 - 40 - - 1170 - 165 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 219,20 - + + 500 + 160 + 710 + 50 + 0 + + + 505 + 165 + 40 + 40 + 0 + + + 1170 + 165 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 219.2 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 340 - 0,00 - 710 - 50 - - 505 - 345 - 0,00 - 40 - 40 - - 1170 - 345 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 208,67 - + + 500 + 340 + 710 + 50 + 0 + + + 505 + 345 + 40 + 40 + 0 + + + 1170 + 345 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 208.67 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 400 - 0,00 - 710 - 50 - - 505 - 405 - 0,00 - 40 - 40 - - 1170 - 405 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 208,67 - + + 500 + 400 + 710 + 50 + 0 + + + 505 + 405 + 40 + 40 + 0 + + + 1170 + 405 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 208.67 Outline - Bold - 3 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 460 - 0,00 - 710 - 50 - - 505 - 465 - 0,00 - 40 - 40 - - 1170 - 465 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 313,00 - + + 500 + 460 + 710 + 50 + 0 + + + 505 + 465 + 40 + 40 + 0 + + + 1170 + 465 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 313 Outline - Bold - 2 - - - + + Invisible - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - SelectSlideArrowLeft - SelectSlideArrowRight - SelectSlide - - 500 - 520 - 0,00 - 710 - 50 - - 505 - 525 - 0,00 - 40 - 40 - - 1170 - 525 - 0,00 - 40 - 40 - - - SelectSlideColor - - - SelectSlideSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 27,00 - - - - 313,00 - + + 500 + 520 + 710 + 50 + 0 + + + 505 + 525 + 40 + 40 + 0 + + + 1170 + 525 + 40 + 40 + 0 + + + SelectSlideColor + + + SelectSlideSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 27 + 0 + 0 + 313 Outline - Bold - 2 - - - + + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenScore.xml b/Output/Themes/Ambient/Screens/ScreenScore.xml index a07f386c..5e80539f 100644 --- a/Output/Themes/Ambient/Screens/ScreenScore.xml +++ b/Output/Themes/Ambient/Screens/ScreenScore.xml @@ -1,3773 +1,2766 @@ - - - + + + + ScreenScore 3 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + Menu - - 40 - 40 - 0,00 - 1200 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 40 + 1200 + 50 + 0 + + + + TextBG - - 50 - 90 - 0,00 - 1180 - 610 - - - 0,00 - 0,00 - 0,00 - 0,00 - - - - - - + + + 0 + 0 + 0 + 0 + + + + 50 + 90 + 1180 + 610 + 0 + + + + PointsBarBG - - 560 - 180 - 0,00 - 160 - 220 - - - 0,00 - 0,00 - 1,00 - 0,75 - - - - - - + + + 0 + 0 + 1 + 0.75 + + + + 560 + 180 + 160 + 220 + 0 + + + + PointsBar - - 560 - 180 - 0,00 - 160 - 0 - - - Player1 - - - - - - + + Player1 + + + 560 + 180 + 160 + 0 + 0 + + + + - - 560 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 560 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 352 - 180 - 0,00 - 160 - 220 - - - 0,00 - 0,00 - 1,00 - 0,75 - - - - - - + + + 0 + 0 + 1 + 0.75 + + + + 352 + 180 + 160 + 220 + 0 + + + + PointsBar - - 352 - 180 - 0,00 - 160 - 0 - - - Player1 - - - - - - + + Player1 + + + 352 + 180 + 160 + 0 + 0 + + + + - - 352 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 352 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 768 - 180 - 0,00 - 160 - 220 - - - 1,00 - 0,00 - 0,00 - 0,75 - - - - - - + + + 1 + 0 + 0 + 0.75 + + + + 768 + 180 + 160 + 220 + 0 + + + + PointsBar - - 768 - 180 - 0,00 - 160 - 0 - - - Player2 - - - - - - + + Player2 + + + 768 + 180 + 160 + 0 + 0 + + + + - - 768 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 768 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 238 - 180 - 0,00 - 160 - 220 - - - 0,00 - 0,00 - 1,00 - 0,75 - - - - - - + + + 0 + 0 + 1 + 0.75 + + + + 238 + 180 + 160 + 220 + 0 + + + + PointsBar - - 238 - 180 - 0,00 - 160 - 0 - - - Player1 - - - - - - + + Player1 + + + 238 + 180 + 160 + 0 + 0 + + + + - - 238 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 238 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 560 - 180 - 0,00 - 160 - 220 - - - 1,00 - 0,00 - 0,00 - 0,75 - - - - - - + + + 1 + 0 + 0 + 0.75 + + + + 560 + 180 + 160 + 220 + 0 + + + + PointsBar - - 560 - 180 - 0,00 - 160 - 0 - - - Player2 - - - - - - + + Player2 + + + 560 + 180 + 160 + 0 + 0 + + + + - - 560 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 560 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 882 - 180 - 0,00 - 160 - 220 - - - 0,00 - 1,00 - 0,00 - 0,75 - - - - - - + + + 0 + 1 + 0 + 0.75 + + + + 882 + 180 + 160 + 220 + 0 + + + + PointsBar - - 882 - 180 - 0,00 - 160 - 0 - - - Player3 - - - - - - + + Player3 + + + 882 + 180 + 160 + 0 + 0 + + + + - - 882 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 882 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 190 - 180 - 0,00 - 160 - 220 - - - 0,00 - 0,00 - 1,00 - 0,75 - - - - - - + + + 0 + 0 + 1 + 0.75 + + + + 190 + 180 + 160 + 220 + 0 + + + + PointsBar - - 190 - 180 - 0,00 - 160 - 0 - - - Player1 - - - - - - + + Player1 + + + 190 + 180 + 160 + 0 + 0 + + + + - - 190 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 190 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 422 - 180 - 0,00 - 160 - 220 - - - 1,00 - 0,00 - 0,00 - 0,75 - - - - - - + + + 1 + 0 + 0 + 0.75 + + + + 422 + 180 + 160 + 220 + 0 + + + + PointsBar - - 422 - 180 - 0,00 - 160 - 0 - - - Player2 - - - - - - + + Player2 + + + 422 + 180 + 160 + 0 + 0 + + + + - - 422 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 422 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 654 - 180 - 0,00 - 160 - 220 - - - 0,00 - 1,00 - 0,00 - 0,75 - - - - - - + + + 0 + 1 + 0 + 0.75 + + + + 654 + 180 + 160 + 220 + 0 + + + + PointsBar - - 654 - 180 - 0,00 - 160 - 0 - - - Player3 - - - - - - + + Player3 + + + 654 + 180 + 160 + 0 + 0 + + + + - - 654 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 654 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 886 - 180 - 0,00 - 160 - 220 - - - 0,50 - 0,00 - 1,00 - 0,75 - - - - - - + + + 0.5 + 0 + 1 + 0.75 + + + + 886 + 180 + 160 + 220 + 0 + + + + PointsBar - - 886 - 180 - 0,00 - 160 - 0 - - - Player4 - - - - - - + + Player4 + + + 886 + 180 + 160 + 0 + 0 + + + + - - 886 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 886 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 144 - 180 - 0,00 - 160 - 220 - - - 0,00 - 0,00 - 1,00 - 0,75 - - - - - - + + + 0 + 0 + 1 + 0.75 + + + + 144 + 180 + 160 + 220 + 0 + + + + PointsBar - - 144 - 180 - 0,00 - 160 - 0 - - - Player1 - - - - - - + + Player1 + + + 144 + 180 + 160 + 0 + 0 + + + + - - 144 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 144 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 352 - 180 - 0,00 - 160 - 220 - - - 1,00 - 0,00 - 0,00 - 0,75 - - - - - - + + + 1 + 0 + 0 + 0.75 + + + + 352 + 180 + 160 + 220 + 0 + + + + PointsBar - - 352 - 180 - 0,00 - 160 - 0 - - - Player2 - - - - - - + + Player2 + + + 352 + 180 + 160 + 0 + 0 + + + + - - 352 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 352 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 560 - 180 - 0,00 - 160 - 220 - - - 0,00 - 1,00 - 0,00 - 0,75 - - - - - - + + + 0 + 1 + 0 + 0.75 + + + + 560 + 180 + 160 + 220 + 0 + + + + PointsBar - - 560 - 180 - 0,00 - 160 - 0 - - - Player3 - - - - - - + + Player3 + + + 560 + 180 + 160 + 0 + 0 + + + + - - 560 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 560 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 768 - 180 - 0,00 - 160 - 220 - - - 0,50 - 0,00 - 1,00 - 0,75 - - - - - - + + + 0.5 + 0 + 1 + 0.75 + + + + 768 + 180 + 160 + 220 + 0 + + + + PointsBar - - 768 - 180 - 0,00 - 160 - 0 - - - Player4 - - - - - - + + Player4 + + + 768 + 180 + 160 + 0 + 0 + + + + - - 768 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 768 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 976 - 180 - 0,00 - 160 - 220 - - - 1,00 - 0,80 - 0,00 - 0,75 - - - - - - + + + 1 + 0.8 + 0 + 0.75 + + + + 976 + 180 + 160 + 220 + 0 + + + + PointsBar - - 976 - 180 - 0,00 - 160 - 0 - - - Player5 - - - - - - + + Player5 + + + 976 + 180 + 160 + 0 + 0 + + + + - - 976 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 976 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 45 - 180 - 0,00 - 160 - 220 - - - 0,00 - 0,00 - 1,00 - 0,75 - - - - - - + + + 0 + 0 + 1 + 0.75 + + + + 45 + 180 + 160 + 220 + 0 + + + + PointsBar - - 45 - 180 - 0,00 - 160 - 0 - - - Player1 - - - - - - + + Player1 + + + 45 + 180 + 160 + 0 + 0 + + + + - - 45 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 45 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 253 - 180 - 0,00 - 160 - 220 - - - 1,00 - 0,00 - 0,00 - 0,75 - - - - - - + + + 1 + 0 + 0 + 0.75 + + + + 253 + 180 + 160 + 220 + 0 + + + + PointsBar - - 253 - 180 - 0,00 - 160 - 0 - - - Player2 - - - - - - + + Player2 + + + 253 + 180 + 160 + 0 + 0 + + + + - - 253 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 253 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 461 - 180 - 0,00 - 160 - 220 - - - 0,00 - 1,00 - 0,00 - 0,75 - - - - - - + + + 0 + 1 + 0 + 0.75 + + + + 461 + 180 + 160 + 220 + 0 + + + + PointsBar - - 461 - 180 - 0,00 - 160 - 0 - - - Player3 - - - - - - + + Player3 + + + 461 + 180 + 160 + 0 + 0 + + + + - - 461 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 461 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 669 - 180 - 0,00 - 160 - 220 - - - 0,50 - 0,00 - 1,00 - 0,75 - - - - - - + + + 0.5 + 0 + 1 + 0.75 + + + + 669 + 180 + 160 + 220 + 0 + + + + PointsBar - - 669 - 180 - 0,00 - 160 - 0 - - - Player4 - - - - - - + + Player4 + + + 669 + 180 + 160 + 0 + 0 + + + + - - 669 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 669 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 877 - 180 - 0,00 - 160 - 220 - - - 1,00 - 0,80 - 0,00 - 0,75 - - - - - - + + + 1 + 0.8 + 0 + 0.75 + + + + 877 + 180 + 160 + 220 + 0 + + + + PointsBar - - 877 - 180 - 0,00 - 160 - 0 - - - Player5 - - - - - - + + Player5 + + + 877 + 180 + 160 + 0 + 0 + + + + - - 877 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 877 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + PointsBarBG - - 1085 - 180 - 0,00 - 160 - 220 - - - 1,00 - 0,00 - 0,50 - 0,75 - - - - - - + + + 1 + 0 + 0.5 + 0.75 + + + + 1085 + 180 + 160 + 220 + 0 + + + + PointsBar - - 1085 - 180 - 0,00 - 160 - 0 - - - Player6 - - - - - - + + Player6 + + + 1085 + 180 + 160 + 0 + 0 + + + + - - 1085 - 410 - 0,00 - 160 - 160 - - - Visible - - - - - 15 + + Visible + + + 1085 + 410 + 160 + 160 + 0 + + 40 + 15 - - - + + + + 60 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENSCORE_SCORES - - - - - - + + + 640 50 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 630 - - 0,00 - + 0 44 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 142 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 670 - - 0,00 - + 0 28 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 432 630 - - 0,00 - + 0 44 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 432 142 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 432 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 432 670 - - 0,00 - + 0 28 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 848 630 - - 0,00 - + 0 44 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 848 142 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 848 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 858 670 - - 0,00 - + 0 28 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 318 630 - - 0,00 - + 0 44 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 318 142 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 318 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 318 670 - - 0,00 - + 0 28 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 630 - - 0,00 - + 0 44 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 142 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 670 - - 0,00 - + 0 28 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 962 630 - - 0,00 - + 0 44 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 962 142 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 962 107 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 962 670 - - 0,00 - + 0 28 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 270 630 - - 0,00 - + 0 44 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 270 142 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 270 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 270 670 - - 0,00 - + 0 28 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 502 630 - - 0,00 - + 0 44 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 502 142 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 502 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 502 670 - - 0,00 - + 0 28 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 734 630 - - 0,00 - + 0 44 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 734 142 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 734 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 734 670 - - 0,00 - + 0 28 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 966 630 - - 0,00 - + 0 44 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 966 142 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 966 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 966 670 - - 0,00 - + 0 28 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 224 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 224 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 224 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 224 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 432 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 432 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 432 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 432 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 640 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 848 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 848 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 848 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 848 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1056 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1056 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1056 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1056 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 125 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 125 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 125 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 125 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 333 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 333 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 333 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 333 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 541 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 541 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 541 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 541 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 749 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 749 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 749 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 749 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 957 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 957 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 957 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 957 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1165 630 - - 0,00 - + 0 44 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1165 142 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1165 107 - - 0,00 - + 0 27 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1165 670 - - 0,00 - + 0 28 - 160 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - - Int - + + + + + + + + + + + + + + 7 - - - Int - + + 4 - - - Int - + + 4 - - - - String - + Int + + Horizontal - - - \ No newline at end of file + String + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenSing.xml b/Output/Themes/Ambient/Screens/ScreenSing.xml index 22342fca..1eb6b73e 100644 --- a/Output/Themes/Ambient/Screens/ScreenSing.xml +++ b/Output/Themes/Ambient/Screens/ScreenSing.xml @@ -1,2803 +1,2364 @@ - - - + + + + ScreenSing 7 - - + + + None - + + + + Score - - 190 - 10 - -1,00 - 900 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 190 + 10 + 900 + 50 + -1 + + + + Lyrics - - 40 - 600 - -0,75 - 1200 - 90 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 600 + 1200 + 90 + -0.75 + + + + Lyrics - - 40 - 7 - -0,75 - 1200 - 93 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 7 + 1200 + 93 + -0.75 + + + + Lyrics - - 40 - 7 - -0,75 - 1200 - 93 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 7 + 1200 + 93 + -0.75 + + + + TimeBar - - 40 - 696 - -0,75 - 1200 - 21 - - - StaticColor - - - - - - + + StaticColor + + + 40 + 696 + 1200 + 21 + -0.75 + + + + TimeLine - - 44 - 702 - -1,00 - 1090 - 10 - - - StaticColor - - - - - - + + StaticColor + + + 44 + 702 + 1090 + 10 + -1 + + + + TimeLine - - 44 - 696 - -1,00 - 1090 - 9 - - - TimeBar - - - - - - + + TimeBar + + + 44 + 696 + 1090 + 9 + -1 + + + + TimeLine - - 44 - 696 - -1,00 - 1090 - 9 - - - TimeBarSentence - - - - - - + + TimeBarSentence + + + 44 + 696 + 1090 + 9 + -1 + + + + Pointer - - 44 - 702 - -1,25 - 2 - 10 - - - 0,00 - 0,00 - 0,00 - 1,00 - - - - - - + + + 0 + 0 + 0 + 1 + + + + 44 + 702 + 2 + 10 + -1.25 + + + + LyricHelper - - 40 - 600 - -1,00 - 45 - 45 - - - LyricHelper - - - - - - + + LyricHelper + + + 40 + 600 + 45 + 45 + -1 + + + + LyricHelper - - 40 - 12 - -1,00 - 45 - 45 - - - LyricHelper - - - - - - + + LyricHelper + + + 40 + 12 + 45 + 45 + -1 + + + + LyricHelper - - 40 - 12 - -1,00 - 45 - 45 - - - LyricHelper - - - - - - + + LyricHelper + + + 40 + 12 + 45 + 45 + -1 + + + + PauseBG - - 0 - 0 - -2,10 - 1280 - 720 - - - Visible - - - - - - + + Visible + + + 0 + 0 + 1280 + 720 + -2.1 + + + + Invisible - - 1150 - 350 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 350 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 360 - -0,75 - 190 - 190 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 360 + 190 + 190 + -0.75 + + + + Invisible - - 1150 - 150 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 150 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 160 - -0,75 - 165 - 165 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 160 + 165 + 165 + -0.75 + + + + Invisible - - 1150 - 350 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 350 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 360 - -0,75 - 165 - 165 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 360 + 165 + 165 + -0.75 + + + + Invisible - - 1150 - 10 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 10 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 111 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 111 + 140 + 140 + -0.75 + + + + Invisible - - 1150 - 210 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 210 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 274 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 274 + 140 + 140 + -0.75 + + + + Invisible - - 1150 - 410 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 410 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 442 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 442 + 140 + 140 + -0.75 + + + + Invisible - - 528 - 150 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 528 + 150 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 160 - -0,75 - 165 - 165 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 160 + 165 + 165 + -0.75 + + + + Invisible - - 528 - 350 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 528 + 350 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 360 - -0,75 - 165 - 165 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 360 + 165 + 165 + -0.75 + + + + Invisible - - 1150 - 150 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 150 + 100 + 50 + -0.75 + + + + Invisible - - 1103 - 160 - -0,75 - 165 - 165 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 1103 + 160 + 165 + 165 + -0.75 + + + + Invisible - - 1150 - 350 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 350 + 100 + 50 + -0.75 + + + + Invisible - - 1103 - 360 - -0,75 - 165 - 165 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 1103 + 360 + 165 + 165 + -0.75 + + + + Invisible - - 528 - 10 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 528 + 10 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 111 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 111 + 140 + 140 + -0.75 + + + + Invisible - - 528 - 210 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 528 + 210 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 274 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 274 + 140 + 140 + -0.75 + + + + Invisible - - 528 - 410 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 528 + 410 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 442 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 442 + 140 + 140 + -0.75 + + + + Invisible - - 1150 - 150 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 150 + 100 + 50 + -0.75 + + + + Invisible - - 1103 - 160 - -0,75 - 165 - 165 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 1103 + 160 + 165 + 165 + -0.75 + + + + Invisible - - 1150 - 350 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 350 + 100 + 50 + -0.75 + + + + Invisible - - 1103 - 360 - -0,75 - 165 - 165 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 1103 + 360 + 165 + 165 + -0.75 + + + + Invisible - - 528 - 10 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 528 + 10 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 111 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 111 + 140 + 140 + -0.75 + + + + Invisible - - 528 - 210 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 528 + 210 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 274 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 274 + 140 + 140 + -0.75 + + + + Invisible - - 528 - 410 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 528 + 410 + 100 + 50 + -0.75 + + + + Invisible - - 40 - 442 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 40 + 442 + 140 + 140 + -0.75 + + + + Invisible - - 1150 - 10 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 10 + 100 + 50 + -0.75 + + + + Invisible - - 1103 - 111 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 1103 + 111 + 140 + 140 + -0.75 + + + + Invisible - - 1150 - 210 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 210 + 100 + 50 + -0.75 + + + + Invisible - - 1103 - 274 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 1103 + 274 + 140 + 140 + -0.75 + + + + Invisible - - 1150 - 410 - -0,75 - 100 - 50 - - - StaticColor - - - - - - + + StaticColor + + + 1150 + 410 + 100 + 50 + -0.75 + + + + Invisible - - 1103 - 442 - -0,75 - 140 - 140 - - - 1,00 - 1,00 - 1,00 - 0,40 - - - - - - + + + 1 + 1 + 1 + 0.4 + + + + 1103 + 442 + 140 + 140 + -0.75 + + + + + + 640 20 - - -1,00 - + -1 27 - 880 - - - TextBlack - - - TextBlack - + + TextBlack + + + TextBlack + Center - - Center - + Center - Normal - - - - - - - + + + 1214 697 - - -1,00 - + -1 20 - - - - TextWhite - - - TextWhite - + 0 + + TextWhite + + + TextWhite + Right - - Center - + Center - Normal - - - - - - - + + + 640 170 - - -2,11 - + -2.11 90 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Center - - Center - + Center - Normal - TR_SCREENSING_PAUSE - - - - - - + + + 40 80 - - -1,00 - + -1 30 - - - - TextSColor - - - TextSColor - + 0 + + TextSColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 40 585 - - -1,00 - + -1 30 - - - - TextSColor - - - TextSColor - + 0 + + TextSColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 640 20 - - -1,00 - + -1 27 - - - - TextColor - - - TextSColor - + 0 + + TextColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 1240 355 - - -1,00 - + -1 198 - - - - Player1Dim2 - - - TextSColor - + 0 + + Player1Dim2 + + + TextSColor + Right - - Center - + Center - Normal - - - - - - - + + + 110 513 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - TextSColor - + 0 + + + 1 + 1 + 1 + 0.4 + + + + TextSColor + Center - - Center - + Center - Outline - - - - - - - + + + 1240 155 - - -1,00 - + -1 173 - - - - Player1Dim2 - - - Player1 - + 0 + + Player1Dim2 + + + Player1 + Right - - Center - + Center - Normal - - - - - - - + + + 110 288 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player1 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player1 + Center - - Center - + Center - Outline - - - - - - - + + + 1240 355 - - -1,00 - + -1 173 - - - - Player2Dim2 - - - Player2 - + 0 + + Player2Dim2 + + + Player2 + Right - - Center - + Center - Normal - - - - - - - + + + 110 488 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player2 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player2 + Center - - Center - + Center - Outline - - - - - - - + + + 1240 106 - - -1,00 - + -1 148 - - - - Player1Dim2 - - - Player1 - + 0 + + Player1Dim2 + + + Player1 + Right - - Center - + Center - Normal - - - - - - - + + + 110 219 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player1 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player1 + Center - - Center - + Center - Outline - - - - - - - + + + 1240 269 - - -1,00 - + -1 148 - - - - Player2Dim2 - - - Player2 - + 0 + + Player2Dim2 + + + Player2 + Right - - Center - + Center - Normal - - - - - - - + + + 110 382 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player2 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player2 + Center - - Center - + Center - Outline - - - - - - - + + + 1240 437 - - -1,00 - + -1 148 - - - - Player3Dim2 - - - Player3 - + 0 + + Player3Dim2 + + + Player3 + Right - - Center - + Center - Normal - - - - - - - + + + 110 550 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player3 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player3 + Center - - Center - + Center - Outline - - - - - - - + + + 324 155 - - -1,00 - + -1 173 - - - - Player1Dim2 - - - Player1 - + 0 + + Player1Dim2 + + + Player1 + Center - - Center - + Center - Normal - - - - - - - + + + 110 288 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player1 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player1 + Center - - Center - + Center - Outline - - - - - - - + + + 324 355 - - -1,00 - + -1 173 - - - - Player2Dim2 - - - Player2 - + 0 + + Player2Dim2 + + + Player2 + Center - - Center - + Center - Normal - - - - - - - + + + 110 488 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player2 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player2 + Center - - Center - + Center - Outline - - - - - - - + + + 967 155 - - -1,00 - + -1 173 - - - - Player3Dim2 - - - Player3 - + 0 + + Player3Dim2 + + + Player3 + Center - - Center - + Center - Normal - - - - - - - + + + 1173 288 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player3 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player3 + Center - - Center - + Center - Outline - - - - - - - + + + 967 355 - - -1,00 - + -1 173 - - - - Player4Dim2 - - - Player4 - + 0 + + Player4Dim2 + + + Player4 + Center - - Center - + Center - Normal - - - - - - - + + + 1173 488 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player4 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player4 + Center - - Center - + Center - Outline - - - - - - - + + + 324 106 - - -1,00 - + -1 148 - - - - Player1Dim2 - - - Player1 - + 0 + + Player1Dim2 + + + Player1 + Center - - Center - + Center - Normal - - - - - - - + + + 110 219 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player1 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player1 + Center - - Center - + Center - Outline - - - - - - - + + + 324 269 - - -1,00 - + -1 148 - - - - Player2Dim2 - - - Player2 - + 0 + + Player2Dim2 + + + Player2 + Center - - Center - + Center - Normal - - - - - - - + + + 110 382 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player2 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player2 + Center - - Center - + Center - Outline - - - - - - - + + + 324 437 - - -1,00 - + -1 148 - - - - Player3Dim2 - - - Player3 - + 0 + + Player3Dim2 + + + Player3 + Center - - Center - + Center - Normal - - - - - - - + + + 110 550 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player3 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player3 + Center - - Center - + Center - Outline - - - - - - - + + + 967 155 - - -1,00 - + -1 173 - - - - Player4Dim2 - - - Player4 - + 0 + + Player4Dim2 + + + Player4 + Center - - Center - + Center - Normal - - - - - - - + + + 1173 288 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player4 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player4 + Center - - Center - + Center - Outline - - - - - - - + + + 967 355 - - -1,00 - + -1 173 - - - - Player5Dim2 - - - Player5 - + 0 + + Player5Dim2 + + + Player5 + Center - - Center - + Center - Normal - - - - - - - + + + 1173 488 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player5 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player5 + Center - - Center - + Center - Outline - - - - - - - + + + 324 106 - - -1,00 - + -1 148 - - - - Player1Dim2 - - - Player1 - + 0 + + Player1Dim2 + + + Player1 + Center - - Center - + Center - Normal - - - - - - - + + + 110 219 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player1 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player1 + Center - - Center - + Center - Outline - - - - - - - + + + 324 269 - - -1,00 - + -1 148 - - - - Player2Dim2 - - - Player2 - + 0 + + Player2Dim2 + + + Player2 + Center - - Center - + Center - Normal - - - - - - - + + + 110 382 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player2 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player2 + Center - - Center - + Center - Outline - - - - - - - + + + 324 437 - - -1,00 - + -1 148 - - - - Player3Dim2 - - - Player3 - + 0 + + Player3Dim2 + + + Player3 + Center - - Center - + Center - Normal - - - - - - - + + + 110 550 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player3 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player3 + Center - - Center - + Center - Outline - - - - - - - + + + 967 106 - - -1,00 - + -1 148 - - - - Player4Dim2 - - - Player4 - + 0 + + Player4Dim2 + + + Player4 + Center - - Center - + Center - Normal - - - - - - - + + + 1173 219 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player4 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player4 + Center - - Center - + Center - Outline - - - - - - - + + + 967 269 - - -1,00 - + -1 148 - - - - Player5Dim2 - - - Player5 - + 0 + + Player5Dim2 + + + Player5 + Center - - Center - + Center - Normal - - - - - - - + + + 1173 382 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player5 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player5 + Center - - Center - + Center - Outline - - - - - - - + + + 967 437 - - -1,00 - + -1 148 - - - - Player6Dim2 - - - Player6 - + 0 + + Player6Dim2 + + + Player6 + Center - - Center - + Center - Normal - - - - - - - + + + 1173 550 - - -1,00 - + -1 28 - - - - 1,00 - 1,00 - 1,00 - 0,40 - - - Player6 - + 0 + + + 1 + 1 + 1 + 0.4 + + + + Player6 + Center - - Center - + Center - Outline - - - - - - - + + + + + + + + + + + + + 637 + 600 + 1200 + 42 + -1 + + + LyricMainColor + + + LyricHighlight + + + + + 637 + 642 + 1200 + 38 + -1 + + + LyricSubColor + + + LyricHighlight + + + + + 637 + 12 + 1200 + 42 + -1 + + + LyricMainColor + + + LyricHighlight + + + + + 637 + 54 + 1200 + 38 + -1 + + + LyricSubColor + + + LyricHighlight + + + + + 637 + 12 + 1200 + 42 + -1 + + + LyricMainColor + + + LyricHighlight + + + + + 637 + 54 + 1200 + 38 + -1 + + + LyricSubColor + + + LyricHighlight + + + + + + NoteLeft - NoteMiddle - NoteRight - NoteBackgroundLeft - NoteBackgroundMiddle - NoteBackgroundRight - Star - ToneHelper - - PerfectNoteStar - - - + PerfectNoteStar - 35 - 350 - -1,50 - 1210 - 200 - 35 - 150 - -1,50 - 1210 - 175 - 35 - 350 - -1,50 - 1210 - 175 - 35 - 105 - -1,50 - 1210 - 150 - 35 - 268 - -1,50 - 1210 - 150 - 35 - 436 - -1,50 - 1210 - 150 - 35 - 150 - -1,50 - 578 - 175 - 35 - 350 - -1,50 - 578 - 175 - 678 - 150 - -1,50 - 578 - 175 - 678 - 350 - -1,50 - 578 - 175 - 35 - 105 - -1,50 - 578 - 150 - 35 - 268 - -1,50 - 578 - 150 - 35 - 436 - -1,50 - 578 - 150 - 678 - 150 - -1,50 - 578 - 175 - 678 - 350 - -1,50 - 578 - 175 - 35 - 105 - -1,50 - 578 - 150 - 35 - 268 - -1,50 - 578 - 150 - 35 - 436 - -1,50 - 578 - 150 - 678 - 105 - -1,50 - 578 - 150 - 678 - 268 - -1,50 - 578 - 150 - 678 - 436 - -1,50 - 578 - 150 + + + 35 + 350 + 1210 + 200 + -1.5 + + + + + 35 + 150 + 1210 + 175 + -1.5 + + + + + 35 + 350 + 1210 + 175 + -1.5 + + + + + 35 + 105 + 1210 + 150 + -1.5 + + + + + 35 + 268 + 1210 + 150 + -1.5 + + + + + 35 + 436 + 1210 + 150 + -1.5 + + + + + 35 + 150 + 578 + 175 + -1.5 + + + + + 35 + 350 + 578 + 175 + -1.5 + + + + + 678 + 150 + 578 + 175 + -1.5 + + + + + 678 + 350 + 578 + 175 + -1.5 + + + + + 35 + 105 + 578 + 150 + -1.5 + + + + + 35 + 268 + 578 + 150 + -1.5 + + + + + 35 + 436 + 578 + 150 + -1.5 + + + + + 678 + 150 + 578 + 175 + -1.5 + + + + + 678 + 350 + 578 + 175 + -1.5 + + + + + 35 + 105 + 578 + 150 + -1.5 + + + + + 35 + 268 + 578 + 150 + -1.5 + + + + + 35 + 436 + 578 + 150 + -1.5 + + + + + 678 + 105 + 578 + 150 + -1.5 + + + + + 678 + 268 + 578 + 150 + -1.5 + + + + + 678 + 436 + 578 + 150 + -1.5 + + - - - \ No newline at end of file + + + + + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenSong.xml b/Output/Themes/Ambient/Screens/ScreenSong.xml index b23661d3..056977e5 100644 --- a/Output/Themes/Ambient/Screens/ScreenSong.xml +++ b/Output/Themes/Ambient/Screens/ScreenSong.xml @@ -1,2215 +1,1733 @@ - - - + + + + ScreenSong 5 - - + + + Video - + - BG_Default - - - BackgroundColor - - - + + BackgroundColor + + + + + SongMenu - - 40 - 600 - 0,00 - 1200 - 50 - - - StaticColor - - - - - 10 + + StaticColor + + + 40 + 600 + 1200 + 50 + 0 + + 26 + 10 - - - + + Menu - - 40 - 600 - 0,00 - 1200 - 50 - - - StaticColor - - - - - 10 + + StaticColor + + + 40 + 600 + 1200 + 50 + 0 + + 26 + 10 - - - + + SongMenuBG - - 40 - 40 - -2,10 - 360 - 360 - - - 1,00 - 1,00 - 1,00 - 1,00 - - - - - - + + + 1 + 1 + 1 + 1 + + + + 40 + 40 + 360 + 360 + -2.1 + + + + + + 1070 65 - - -2,11 - + -2.11 42 - 350 - - - Player1 - - - Player1 - + + Player1 + + + Player1 + Left - - Center - + Center - Outline - - - - - - - + + + 1070 135 - - -2,11 - + -2.11 42 - 350 - - - Player2 - - - Player2 - + + Player2 + + + Player2 + Left - - Center - + Center - Outline - - - - - - - + + + 1070 205 - - -2,11 - + -2.11 42 - 350 - - - Player3 - - - Player3 - + + Player3 + + + Player3 + Left - - Center - + Center - Outline - - - - - - - + + + 1070 275 - - -2,11 - + -2.11 42 - 350 - - - Player4 - - - Player4 - + + Player4 + + + Player4 + Left - - Center - + Center - Outline - - - - - - - + + + 1070 345 - - -2,11 - + -2.11 42 - 350 - - - Player5 - - - Player5 - + + Player5 + + + Player5 + Left - - Center - + Center - Outline - - - - - - - + + + 1070 415 - - -2,11 - + -2.11 42 - 350 - - - Player6 - - - Player6 - + + Player6 + + + Player6 + Left - - Center - + Center - Outline - - - - - - - + + + 220 612 - - 0,00 - + 0 27 - 340 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - 24 + 26 + 24 - - - + + 825 612 - - 0,00 - + 0 27 - 830 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - - - - - - 24 + 26 + 24 - - - + + 400 612 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Right - - Center - + Center - Outline - TR_SCREENSONG_SEARCH - - - - - - + + + 410 612 - - 0,00 - + 0 27 - - - - StaticColor - - - TextSColor - + 0 + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - - - - - - - + + + 220 47 - - -2,11 - + -2.11 34 - 350 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Center - Outline - TR_SCREENSONG_SONGOPTIONS - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + CoverTile - CoverBackground - DuetIcon - VideoIcon - MedleyCalcIcon - MedleyTagIcon - - - 1,00 - 1,00 - 1,00 - 0,20 - + + + 1 + 1 + 1 + 0.2 + + - 6 - 4 - - 10,00 - - 10,00 - 4 - 4 - - 410 - 40 - -1,00 - 830 - 550 - - 410 - 40 - -1,00 - 550 - 550 - - + 10 + 10 + + 410 + 40 + 830 + 550 + -1 + + + 410 + 40 + 550 + 550 + -1 + + 222 416 - - -1,01 - + -1.01 39 - 340 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Top - Outline - - - - + - - + 222 456 - - -1,01 - + -1.01 32 - 340 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Top - Outline - - - - + - - + 222 490 - - -1,01 - + -1.01 28 - 340 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Center - - Center - + Top - Outline - - - - + - - + CoverBackground - - 40 - 40 - -1,00 - 360 - 360 - - - Visible - - - + + Visible + + + 40 + 40 + 360 + 360 + -1 + + - - + CoverBackground - - 40 - 40 - -1,00 - 360 - 550 - - - StaticColor - - - + + StaticColor + + + 40 + 40 + 360 + 550 + -1 + + - - + DuetIcon - - 200 - 530 - -1,00 - 40 - 40 - - - StaticColor - - - + + StaticColor + + + 200 + 530 + 40 + 40 + -1 + + - - + VideoIcon - - 120 - 530 - -1,00 - 40 - 40 - - - StaticColor - - - + + StaticColor + + + 120 + 530 + 40 + 40 + -1 + + - - + MedleyCalcIcon - - 280 - 530 - -1,00 - 40 - 40 - - - StaticColor - - - + + StaticColor + + + 280 + 530 + 40 + 40 + -1 + + - - + MedleyTagIcon - - 280 - 530 - -1,00 - 40 - 40 - - - StaticColor - - - + + StaticColor + + + 280 + 530 + 40 + 40 + -1 + + - - - 970 - 80 - -0,90 - 295 - 460 - 50,00 - + + + + + Button + SelectSlideArrowLeft + SelectSlideArrowRight + SelectSlide + SelectSlideArrowLeft + SelectSlideArrowRight + SelectSlide + + 40 + 135 + 360 + 40 + -2.11 + + + 45 + 140 + 30 + 30 + -2.12 + + + 365 + 140 + 30 + 30 + -2.12 + + + ButtonColor + + + ButtonSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 25 + 0 + 0 + 280 + Outline + Bold + 1 + + + Button + SelectSlideArrowLeft + SelectSlideArrowRight + SelectSlide + SelectSlideArrowLeft + SelectSlideArrowRight + SelectSlide + + 40 + 190 + 360 + 40 + -2.11 + + + 45 + 195 + 30 + 30 + -2.12 + + + 365 + 195 + 30 + 30 + -2.12 + + + ButtonColor + + + ButtonSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 25 + 0 + 0 + 280 + Outline + Bold + 1 + + + Button + SelectSlideArrowLeft + SelectSlideArrowRight + SelectSlide + SelectSlideArrowLeft + SelectSlideArrowRight + SelectSlide + + 40 + 180 + 360 + 40 + -2.11 + + + 45 + 190 + 30 + 30 + -2.12 + + + 365 + 190 + 30 + 30 + -2.12 + + + ButtonColor + + + ButtonSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 25 + 0 + 0 + 280 + Outline + Bold + 1 + + + Button + SelectSlideArrowLeft + SelectSlideArrowRight + SelectSlide + SelectSlideArrowLeft + SelectSlideArrowRight + SelectSlide + + 40 + 90 + 360 + 40 + -2.11 + + + 45 + 100 + 30 + 30 + -2.12 + + + 365 + 100 + 30 + 30 + -2.12 + + + ButtonColor + + + ButtonSColor + + + SelectSlideHColor + + + ArrowColor + + + ArrowSColor + + + TextColor + + + TextSColor + + 25 + 0 + 0 + 280 + Outline + Bold + 3 + + + + + + + + + 970 + 80 + 295 + 460 + -0.9 + + 50 CoverTile - CoverTile - - - StaticColorAlpha - - - StaticColor - - - - + + StaticColorAlpha + + + StaticColor + + 54 5 - - -1,01 - + -1.01 22 - 235 - - - StaticColor - - - TextSColor - + + StaticColor + + + TextSColor + Left - - Center - + Center - Outline - TR_SCREENSONG_ARTIST_TITLE - - - - - - - Menu - - 970 - 550 - -1,00 - 295 - 40 - - - StaticColor - - - - - - - Menu - - 970 - 40 - -1,00 - 295 - 40 - - - StaticColor - - - - - - + + + - - 4 - 2 - -1,00 - 46 - 46 - - - Visible - - - + + Visible + + + 4 + 2 + 46 + 46 + -1 + + - - - Button - - SelectSlideArrowLeft - - SelectSlideArrowRight - - - - SelectSlideArrowLeft - - SelectSlideArrowRight - - - - 0 - 28 - -1,01 - 293 - 24 - - 54 - 30 - -1,02 - 20 - 20 - - 271 - 30 - -1,02 - 20 - 20 - - - ButtonColor - - - ButtonSColor - - - SelectSlideHColor - - - ArrowColor - - - ArrowSColor - - - TextColor - - - TextSColor - - 22,00 - - 25,00 - - - 230,00 - - Outline - - Bold - - 1 - - - + + Menu + + StaticColor + + + 970 + 40 + 295 + 40 + -1 + + + + + Menu + + StaticColor + + + 970 + 550 + 295 + 40 + -1 + + + + Invisible - Invisible - - 975 - 45 - -1,01 - 220 - 25 - - - ButtonColor - - - ButtonSColor - - + + 975 + 45 + 220 + 25 + -1.01 + + + ButtonColor + + + ButtonSColor + + 0 0 - + 0 25 - 220 - - - ButtonTextColor - - - ButtonTextSColor - + + ButtonTextColor + + + ButtonTextSColor + Left - - Center - + Center - Outline - + - - - - - - + false + + - - + CloseIcon - CloseIcon - - 1215 - 42 - -1,01 - 35 - 35 - - - ButtonColor - - - ButtonSColor - - + + 1215 + 42 + 35 + 35 + -1.01 + + + ButtonColor + + + ButtonSColor + + 180 7 - + 0 25 - 350 - - - ButtonTextColor - - - ButtonTextSColor - + + ButtonTextColor + + + ButtonTextSColor + Center - - Center - + Center - Outline - + - - - - - - + false + + - - - DeleteIcon - - DeleteIcon - - 1215 - 553 - -1,01 - 35 - 35 - - - ButtonColor - - - ButtonSColor - - - 180 - 5 - - 25 - - 350 - - - ButtonTextColor - - - ButtonTextSColor - - Center - - Center - - - - Outline - - - - - - - - - - - - + SaveIcon - SaveIcon - - 1175 - 553 - -1,01 - 35 - 35 - - - ButtonColor - - - ButtonSColor - - + + 1175 + 553 + 35 + 35 + -1.01 + + + ButtonColor + + + ButtonSColor + + 180 5 - + 0 25 - 350 - - - ButtonTextColor - - - ButtonTextSColor - + + ButtonTextColor + + + ButtonTextSColor + Center - - Center - + Center - Outline - + - - - - - - + false + + - - - SingIcon - - SingIcon - - 975 - 553 - -1,01 - 35 - 35 - - - ButtonColor - - - ButtonSColor - - + + DeleteIcon + DeleteIcon + + 1215 + 553 + 35 + 35 + -1.01 + + + ButtonColor + + + ButtonSColor + + 180 5 - + 0 25 - 350 - - - ButtonTextColor - - - ButtonTextSColor - + + ButtonTextColor + + + ButtonTextSColor + Center - - Center - + Center - Outline - + - - - - - - + false + + + + + SingIcon + SingIcon + + 975 + 553 + 35 + 35 + -1.01 + + + ButtonColor + + + ButtonSColor + + + 180 + 5 + 0 + 25 + 350 + + ButtonTextColor + + + ButtonTextSColor + + Center + Center + + Outline + + + + false + + + + + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + 0 + Normal + 0 + - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/Output/Themes/Ambient/Screens/ScreenTest.xml b/Output/Themes/Ambient/Screens/ScreenTest.xml index 2137eab8..1f3ecc85 100644 --- a/Output/Themes/Ambient/Screens/ScreenTest.xml +++ b/Output/Themes/Ambient/Screens/ScreenTest.xml @@ -1,17 +1,23 @@  - - + + + ScreenTest 1 - - - Video - - - - BG_Default - - - BackgroundColor - - - \ No newline at end of file + + + + None + + + + diff --git a/Output/Themes/Ambient/Skin Blue.xml b/Output/Themes/Ambient/Skin Blue.xml index 34cff336..bba00650 100644 --- a/Output/Themes/Ambient/Skin Blue.xml +++ b/Output/Themes/Ambient/Skin Blue.xml @@ -140,7 +140,7 @@ 0,675 0,890 0,969 - 1,000 + 0,600 0,675 @@ -227,9 +227,9 @@ 1,000 - 0,000 - 0,000 - 0,000 + 1,000 + 1,000 + 1,000 1,000 diff --git a/Output/Themes/Ambient/Skin Green.xml b/Output/Themes/Ambient/Skin Green.xml index 868a0b0f..5b1b4d5f 100644 --- a/Output/Themes/Ambient/Skin Green.xml +++ b/Output/Themes/Ambient/Skin Green.xml @@ -140,7 +140,7 @@ 0,709 0,968 0,674 - 1,000 + 0,600 0,709 @@ -221,9 +221,9 @@ 1,000 - 0,000 - 0,000 - 0,000 + 1,000 + 1,000 + 1,000 1,000 diff --git a/Output/Themes/Ambient/Skin Red.xml b/Output/Themes/Ambient/Skin Red.xml index a0929c67..50f1eecc 100644 --- a/Output/Themes/Ambient/Skin Red.xml +++ b/Output/Themes/Ambient/Skin Red.xml @@ -140,7 +140,7 @@ 0,968 0,674 0,674 - 1,000 + 0,600 0,968 @@ -221,9 +221,9 @@ 1,000 - 0,000 - 0,000 - 0,000 + 1,000 + 1,000 + 1,000 1,000 diff --git a/Output/Themes/Ambient/Skin Yellow.xml b/Output/Themes/Ambient/Skin Yellow.xml index 141050a2..9dd57a3b 100644 --- a/Output/Themes/Ambient/Skin Yellow.xml +++ b/Output/Themes/Ambient/Skin Yellow.xml @@ -140,7 +140,7 @@ 0,968 0,956 0,674 - 1,000 + 0,600 0,968 @@ -221,9 +221,9 @@ 1,000 - 0,000 - 0,000 - 0,000 + 1,000 + 1,000 + 1,000 1,000 diff --git a/Output/Themes/Changelog/Changelog_ScreenMain.txt b/Output/Themes/Changelog/Changelog_ScreenMain.txt new file mode 100644 index 00000000..b3eb3bb7 --- /dev/null +++ b/Output/Themes/Changelog/Changelog_ScreenMain.txt @@ -0,0 +1,10 @@ +SceenMain + +++++++++++ +Version 2: + +Add: + + + + diff --git a/Output/glib-sharp.dll b/Output/glib-sharp.dll index 2c5c288e..a4e18a6f 100644 Binary files a/Output/glib-sharp.dll and b/Output/glib-sharp.dll differ diff --git a/Output/gstreamer-sharp.dll b/Output/gstreamer-sharp.dll index 02c667ac..42183595 100644 Binary files a/Output/gstreamer-sharp.dll and b/Output/gstreamer-sharp.dll differ diff --git a/Output/x64/gstreamer/libFLAC-8.dll b/Output/x64/gstreamer/libFLAC-8.dll deleted file mode 100644 index a1a1c256..00000000 Binary files a/Output/x64/gstreamer/libFLAC-8.dll and /dev/null differ diff --git a/Output/x64/gstreamer/liba52-0.dll b/Output/x64/gstreamer/liba52-0.dll deleted file mode 100644 index 6dfdbb94..00000000 Binary files a/Output/x64/gstreamer/liba52-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libass-4.dll b/Output/x64/gstreamer/libass-4.dll deleted file mode 100644 index b3cc88b0..00000000 Binary files a/Output/x64/gstreamer/libass-4.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libbz2.dll b/Output/x64/gstreamer/libbz2.dll deleted file mode 100644 index ee820481..00000000 Binary files a/Output/x64/gstreamer/libbz2.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libcairo-2.dll b/Output/x64/gstreamer/libcairo-2.dll deleted file mode 100644 index 87965c8e..00000000 Binary files a/Output/x64/gstreamer/libcairo-2.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libcairo-gobject-2.dll b/Output/x64/gstreamer/libcairo-gobject-2.dll deleted file mode 100644 index e9aae569..00000000 Binary files a/Output/x64/gstreamer/libcairo-gobject-2.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libcairo-script-interpreter-2.dll b/Output/x64/gstreamer/libcairo-script-interpreter-2.dll deleted file mode 100644 index 8ddf3911..00000000 Binary files a/Output/x64/gstreamer/libcairo-script-interpreter-2.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libcharset-1.dll b/Output/x64/gstreamer/libcharset-1.dll deleted file mode 100644 index af20e572..00000000 Binary files a/Output/x64/gstreamer/libcharset-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libdca-0.dll b/Output/x64/gstreamer/libdca-0.dll deleted file mode 100644 index f3077d4c..00000000 Binary files a/Output/x64/gstreamer/libdca-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libdv-4.dll b/Output/x64/gstreamer/libdv-4.dll deleted file mode 100644 index de42c8eb..00000000 Binary files a/Output/x64/gstreamer/libdv-4.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libdvdnav-4.dll b/Output/x64/gstreamer/libdvdnav-4.dll deleted file mode 100644 index 78d701c0..00000000 Binary files a/Output/x64/gstreamer/libdvdnav-4.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libdvdnavmini-4.dll b/Output/x64/gstreamer/libdvdnavmini-4.dll deleted file mode 100644 index d94459aa..00000000 Binary files a/Output/x64/gstreamer/libdvdnavmini-4.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libdvdread-4.dll b/Output/x64/gstreamer/libdvdread-4.dll deleted file mode 100644 index dd80070f..00000000 Binary files a/Output/x64/gstreamer/libdvdread-4.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libexpat-1.dll b/Output/x64/gstreamer/libexpat-1.dll deleted file mode 100644 index 7b425c4d..00000000 Binary files a/Output/x64/gstreamer/libexpat-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libfaad-2.dll b/Output/x64/gstreamer/libfaad-2.dll deleted file mode 100644 index ac9a9fc5..00000000 Binary files a/Output/x64/gstreamer/libfaad-2.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libffi-6.dll b/Output/x64/gstreamer/libffi-6.dll deleted file mode 100644 index 207ef431..00000000 Binary files a/Output/x64/gstreamer/libffi-6.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libfontconfig-1.dll b/Output/x64/gstreamer/libfontconfig-1.dll deleted file mode 100644 index 7230751d..00000000 Binary files a/Output/x64/gstreamer/libfontconfig-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libfreetype-6.dll b/Output/x64/gstreamer/libfreetype-6.dll deleted file mode 100644 index c2c2e4f9..00000000 Binary files a/Output/x64/gstreamer/libfreetype-6.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libfribidi-0.dll b/Output/x64/gstreamer/libfribidi-0.dll deleted file mode 100644 index e484d1b5..00000000 Binary files a/Output/x64/gstreamer/libfribidi-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgcc_s_sjlj-1.dll b/Output/x64/gstreamer/libgcc_s_sjlj-1.dll deleted file mode 100644 index c03ac645..00000000 Binary files a/Output/x64/gstreamer/libgcc_s_sjlj-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgdk_pixbuf-2.0-0.dll b/Output/x64/gstreamer/libgdk_pixbuf-2.0-0.dll deleted file mode 100644 index 5120d9df..00000000 Binary files a/Output/x64/gstreamer/libgdk_pixbuf-2.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgio-2.0-0.dll b/Output/x64/gstreamer/libgio-2.0-0.dll deleted file mode 100644 index 8e0b6729..00000000 Binary files a/Output/x64/gstreamer/libgio-2.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgiognutls.dll b/Output/x64/gstreamer/libgiognutls.dll deleted file mode 100644 index e9a13da7..00000000 Binary files a/Output/x64/gstreamer/libgiognutls.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libglib-2.0-0.dll b/Output/x64/gstreamer/libglib-2.0-0.dll deleted file mode 100644 index b3e095c8..00000000 Binary files a/Output/x64/gstreamer/libglib-2.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgmodule-2.0-0.dll b/Output/x64/gstreamer/libgmodule-2.0-0.dll deleted file mode 100644 index 8b0889c2..00000000 Binary files a/Output/x64/gstreamer/libgmodule-2.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgnutls-28.dll b/Output/x64/gstreamer/libgnutls-28.dll deleted file mode 100644 index 7bc8d264..00000000 Binary files a/Output/x64/gstreamer/libgnutls-28.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgnutls-openssl-27.dll b/Output/x64/gstreamer/libgnutls-openssl-27.dll deleted file mode 100644 index 0f1f8444..00000000 Binary files a/Output/x64/gstreamer/libgnutls-openssl-27.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgnutlsxx-28.dll b/Output/x64/gstreamer/libgnutlsxx-28.dll deleted file mode 100644 index 3b661f06..00000000 Binary files a/Output/x64/gstreamer/libgnutlsxx-28.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgobject-2.0-0.dll b/Output/x64/gstreamer/libgobject-2.0-0.dll deleted file mode 100644 index 6adac242..00000000 Binary files a/Output/x64/gstreamer/libgobject-2.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgomp-1.dll b/Output/x64/gstreamer/libgomp-1.dll deleted file mode 100644 index bfdef6d9..00000000 Binary files a/Output/x64/gstreamer/libgomp-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgsta52dec.dll b/Output/x64/gstreamer/libgsta52dec.dll deleted file mode 100644 index bbf77d25..00000000 Binary files a/Output/x64/gstreamer/libgsta52dec.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstadder.dll b/Output/x64/gstreamer/libgstadder.dll deleted file mode 100644 index fe87b9ea..00000000 Binary files a/Output/x64/gstreamer/libgstadder.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstadpcmdec.dll b/Output/x64/gstreamer/libgstadpcmdec.dll deleted file mode 100644 index ed1e8670..00000000 Binary files a/Output/x64/gstreamer/libgstadpcmdec.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstadpcmenc.dll b/Output/x64/gstreamer/libgstadpcmenc.dll deleted file mode 100644 index 763c14bc..00000000 Binary files a/Output/x64/gstreamer/libgstadpcmenc.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstalaw.dll b/Output/x64/gstreamer/libgstalaw.dll deleted file mode 100644 index b906db09..00000000 Binary files a/Output/x64/gstreamer/libgstalaw.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstalpha.dll b/Output/x64/gstreamer/libgstalpha.dll deleted file mode 100644 index c9da4e42..00000000 Binary files a/Output/x64/gstreamer/libgstalpha.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstalphacolor.dll b/Output/x64/gstreamer/libgstalphacolor.dll deleted file mode 100644 index 827b5485..00000000 Binary files a/Output/x64/gstreamer/libgstalphacolor.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstamrnb.dll b/Output/x64/gstreamer/libgstamrnb.dll deleted file mode 100644 index cf179595..00000000 Binary files a/Output/x64/gstreamer/libgstamrnb.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstamrwbdec.dll b/Output/x64/gstreamer/libgstamrwbdec.dll deleted file mode 100644 index 199030f8..00000000 Binary files a/Output/x64/gstreamer/libgstamrwbdec.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstapetag.dll b/Output/x64/gstreamer/libgstapetag.dll deleted file mode 100644 index f3c3c7ab..00000000 Binary files a/Output/x64/gstreamer/libgstapetag.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstapp-1.0-0.dll b/Output/x64/gstreamer/libgstapp-1.0-0.dll deleted file mode 100644 index 3888aef7..00000000 Binary files a/Output/x64/gstreamer/libgstapp-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstapp.dll b/Output/x64/gstreamer/libgstapp.dll deleted file mode 100644 index ceee5341..00000000 Binary files a/Output/x64/gstreamer/libgstapp.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstasf.dll b/Output/x64/gstreamer/libgstasf.dll deleted file mode 100644 index 18a6d28f..00000000 Binary files a/Output/x64/gstreamer/libgstasf.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstasfmux.dll b/Output/x64/gstreamer/libgstasfmux.dll deleted file mode 100644 index 28428ad8..00000000 Binary files a/Output/x64/gstreamer/libgstasfmux.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstassrender.dll b/Output/x64/gstreamer/libgstassrender.dll deleted file mode 100644 index f6788bb1..00000000 Binary files a/Output/x64/gstreamer/libgstassrender.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstaudio-1.0-0.dll b/Output/x64/gstreamer/libgstaudio-1.0-0.dll deleted file mode 100644 index 24f14d8c..00000000 Binary files a/Output/x64/gstreamer/libgstaudio-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstaudioconvert.dll b/Output/x64/gstreamer/libgstaudioconvert.dll deleted file mode 100644 index ae4eb2cc..00000000 Binary files a/Output/x64/gstreamer/libgstaudioconvert.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstaudiofx.dll b/Output/x64/gstreamer/libgstaudiofx.dll deleted file mode 100644 index 0feadf81..00000000 Binary files a/Output/x64/gstreamer/libgstaudiofx.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstaudioparsers.dll b/Output/x64/gstreamer/libgstaudioparsers.dll deleted file mode 100644 index 01f0e4df..00000000 Binary files a/Output/x64/gstreamer/libgstaudioparsers.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstaudiorate.dll b/Output/x64/gstreamer/libgstaudiorate.dll deleted file mode 100644 index f39f6e93..00000000 Binary files a/Output/x64/gstreamer/libgstaudiorate.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstaudioresample.dll b/Output/x64/gstreamer/libgstaudioresample.dll deleted file mode 100644 index 304c7c9b..00000000 Binary files a/Output/x64/gstreamer/libgstaudioresample.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstaudiotestsrc.dll b/Output/x64/gstreamer/libgstaudiotestsrc.dll deleted file mode 100644 index df012974..00000000 Binary files a/Output/x64/gstreamer/libgstaudiotestsrc.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstaudiovisualizers.dll b/Output/x64/gstreamer/libgstaudiovisualizers.dll deleted file mode 100644 index fe0e4b17..00000000 Binary files a/Output/x64/gstreamer/libgstaudiovisualizers.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstauparse.dll b/Output/x64/gstreamer/libgstauparse.dll deleted file mode 100644 index 521252a7..00000000 Binary files a/Output/x64/gstreamer/libgstauparse.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstautoconvert.dll b/Output/x64/gstreamer/libgstautoconvert.dll deleted file mode 100644 index 345816ab..00000000 Binary files a/Output/x64/gstreamer/libgstautoconvert.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstautodetect.dll b/Output/x64/gstreamer/libgstautodetect.dll deleted file mode 100644 index c36c6bdf..00000000 Binary files a/Output/x64/gstreamer/libgstautodetect.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstavi.dll b/Output/x64/gstreamer/libgstavi.dll deleted file mode 100644 index 110cd16d..00000000 Binary files a/Output/x64/gstreamer/libgstavi.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstbase-1.0-0.dll b/Output/x64/gstreamer/libgstbase-1.0-0.dll deleted file mode 100644 index 61c901b2..00000000 Binary files a/Output/x64/gstreamer/libgstbase-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstbasecamerabinsrc-1.0-0.dll b/Output/x64/gstreamer/libgstbasecamerabinsrc-1.0-0.dll deleted file mode 100644 index 98613355..00000000 Binary files a/Output/x64/gstreamer/libgstbasecamerabinsrc-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstbayer.dll b/Output/x64/gstreamer/libgstbayer.dll deleted file mode 100644 index 2b974151..00000000 Binary files a/Output/x64/gstreamer/libgstbayer.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstcairo.dll b/Output/x64/gstreamer/libgstcairo.dll deleted file mode 100644 index 7ae8c9f5..00000000 Binary files a/Output/x64/gstreamer/libgstcairo.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstcamerabin2.dll b/Output/x64/gstreamer/libgstcamerabin2.dll deleted file mode 100644 index 81f288ae..00000000 Binary files a/Output/x64/gstreamer/libgstcamerabin2.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstcodecparsers-1.0-0.dll b/Output/x64/gstreamer/libgstcodecparsers-1.0-0.dll deleted file mode 100644 index 93717faa..00000000 Binary files a/Output/x64/gstreamer/libgstcodecparsers-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstcoloreffects.dll b/Output/x64/gstreamer/libgstcoloreffects.dll deleted file mode 100644 index da9fdf91..00000000 Binary files a/Output/x64/gstreamer/libgstcoloreffects.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstcontroller-1.0-0.dll b/Output/x64/gstreamer/libgstcontroller-1.0-0.dll deleted file mode 100644 index 9f378cde..00000000 Binary files a/Output/x64/gstreamer/libgstcontroller-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstcoreelements.dll b/Output/x64/gstreamer/libgstcoreelements.dll deleted file mode 100644 index 53071c00..00000000 Binary files a/Output/x64/gstreamer/libgstcoreelements.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstcutter.dll b/Output/x64/gstreamer/libgstcutter.dll deleted file mode 100644 index 3284d684..00000000 Binary files a/Output/x64/gstreamer/libgstcutter.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstd3dvideosink.dll b/Output/x64/gstreamer/libgstd3dvideosink.dll deleted file mode 100644 index a256c1b2..00000000 Binary files a/Output/x64/gstreamer/libgstd3dvideosink.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdataurisrc.dll b/Output/x64/gstreamer/libgstdataurisrc.dll deleted file mode 100644 index 23f7cc17..00000000 Binary files a/Output/x64/gstreamer/libgstdataurisrc.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdebug.dll b/Output/x64/gstreamer/libgstdebug.dll deleted file mode 100644 index 5e57d929..00000000 Binary files a/Output/x64/gstreamer/libgstdebug.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdeinterlace.dll b/Output/x64/gstreamer/libgstdeinterlace.dll deleted file mode 100644 index 632dcd3d..00000000 Binary files a/Output/x64/gstreamer/libgstdeinterlace.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdirectsoundsink.dll b/Output/x64/gstreamer/libgstdirectsoundsink.dll deleted file mode 100644 index e88592ea..00000000 Binary files a/Output/x64/gstreamer/libgstdirectsoundsink.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdtmf.dll b/Output/x64/gstreamer/libgstdtmf.dll deleted file mode 100644 index 90842df1..00000000 Binary files a/Output/x64/gstreamer/libgstdtmf.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdtsdec.dll b/Output/x64/gstreamer/libgstdtsdec.dll deleted file mode 100644 index 2ab34a34..00000000 Binary files a/Output/x64/gstreamer/libgstdtsdec.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdv.dll b/Output/x64/gstreamer/libgstdv.dll deleted file mode 100644 index 79b387cd..00000000 Binary files a/Output/x64/gstreamer/libgstdv.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdvbsuboverlay.dll b/Output/x64/gstreamer/libgstdvbsuboverlay.dll deleted file mode 100644 index af9aab8a..00000000 Binary files a/Output/x64/gstreamer/libgstdvbsuboverlay.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdvdlpcmdec.dll b/Output/x64/gstreamer/libgstdvdlpcmdec.dll deleted file mode 100644 index 91957e78..00000000 Binary files a/Output/x64/gstreamer/libgstdvdlpcmdec.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdvdread.dll b/Output/x64/gstreamer/libgstdvdread.dll deleted file mode 100644 index 4bf8d797..00000000 Binary files a/Output/x64/gstreamer/libgstdvdread.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstdvdspu.dll b/Output/x64/gstreamer/libgstdvdspu.dll deleted file mode 100644 index 0efa6a49..00000000 Binary files a/Output/x64/gstreamer/libgstdvdspu.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgsteffectv.dll b/Output/x64/gstreamer/libgsteffectv.dll deleted file mode 100644 index 9163d2ad..00000000 Binary files a/Output/x64/gstreamer/libgsteffectv.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstencodebin.dll b/Output/x64/gstreamer/libgstencodebin.dll deleted file mode 100644 index 14aa774c..00000000 Binary files a/Output/x64/gstreamer/libgstencodebin.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstequalizer.dll b/Output/x64/gstreamer/libgstequalizer.dll deleted file mode 100644 index 38248417..00000000 Binary files a/Output/x64/gstreamer/libgstequalizer.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstfaad.dll b/Output/x64/gstreamer/libgstfaad.dll deleted file mode 100644 index a397019f..00000000 Binary files a/Output/x64/gstreamer/libgstfaad.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstfft-1.0-0.dll b/Output/x64/gstreamer/libgstfft-1.0-0.dll deleted file mode 100644 index 81c46e71..00000000 Binary files a/Output/x64/gstreamer/libgstfft-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstfieldanalysis.dll b/Output/x64/gstreamer/libgstfieldanalysis.dll deleted file mode 100644 index 9b0c7e3d..00000000 Binary files a/Output/x64/gstreamer/libgstfieldanalysis.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstflac.dll b/Output/x64/gstreamer/libgstflac.dll deleted file mode 100644 index 5a841071..00000000 Binary files a/Output/x64/gstreamer/libgstflac.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstflv.dll b/Output/x64/gstreamer/libgstflv.dll deleted file mode 100644 index 91b04163..00000000 Binary files a/Output/x64/gstreamer/libgstflv.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstflxdec.dll b/Output/x64/gstreamer/libgstflxdec.dll deleted file mode 100644 index a530e638..00000000 Binary files a/Output/x64/gstreamer/libgstflxdec.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstfragmented.dll b/Output/x64/gstreamer/libgstfragmented.dll deleted file mode 100644 index 8dbbf084..00000000 Binary files a/Output/x64/gstreamer/libgstfragmented.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstfrei0r.dll b/Output/x64/gstreamer/libgstfrei0r.dll deleted file mode 100644 index b5bd952a..00000000 Binary files a/Output/x64/gstreamer/libgstfrei0r.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstgaudieffects.dll b/Output/x64/gstreamer/libgstgaudieffects.dll deleted file mode 100644 index 88281c51..00000000 Binary files a/Output/x64/gstreamer/libgstgaudieffects.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstgdkpixbuf.dll b/Output/x64/gstreamer/libgstgdkpixbuf.dll deleted file mode 100644 index 93e946b7..00000000 Binary files a/Output/x64/gstreamer/libgstgdkpixbuf.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstgeometrictransform.dll b/Output/x64/gstreamer/libgstgeometrictransform.dll deleted file mode 100644 index d96a28cf..00000000 Binary files a/Output/x64/gstreamer/libgstgeometrictransform.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstgio.dll b/Output/x64/gstreamer/libgstgio.dll deleted file mode 100644 index 6d46d1f6..00000000 Binary files a/Output/x64/gstreamer/libgstgio.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstgoom.dll b/Output/x64/gstreamer/libgstgoom.dll deleted file mode 100644 index 12a2fae1..00000000 Binary files a/Output/x64/gstreamer/libgstgoom.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstgoom2k1.dll b/Output/x64/gstreamer/libgstgoom2k1.dll deleted file mode 100644 index 81402b5b..00000000 Binary files a/Output/x64/gstreamer/libgstgoom2k1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgsticydemux.dll b/Output/x64/gstreamer/libgsticydemux.dll deleted file mode 100644 index ec9f5da3..00000000 Binary files a/Output/x64/gstreamer/libgsticydemux.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstid3demux.dll b/Output/x64/gstreamer/libgstid3demux.dll deleted file mode 100644 index 03dfb3c8..00000000 Binary files a/Output/x64/gstreamer/libgstid3demux.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstid3tag.dll b/Output/x64/gstreamer/libgstid3tag.dll deleted file mode 100644 index 87ee51fa..00000000 Binary files a/Output/x64/gstreamer/libgstid3tag.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstimagefreeze.dll b/Output/x64/gstreamer/libgstimagefreeze.dll deleted file mode 100644 index 7a7c77c2..00000000 Binary files a/Output/x64/gstreamer/libgstimagefreeze.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstinterlace.dll b/Output/x64/gstreamer/libgstinterlace.dll deleted file mode 100644 index 023692d9..00000000 Binary files a/Output/x64/gstreamer/libgstinterlace.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstinterleave.dll b/Output/x64/gstreamer/libgstinterleave.dll deleted file mode 100644 index 0a2fcfda..00000000 Binary files a/Output/x64/gstreamer/libgstinterleave.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstisomp4.dll b/Output/x64/gstreamer/libgstisomp4.dll deleted file mode 100644 index 2bb6f4f2..00000000 Binary files a/Output/x64/gstreamer/libgstisomp4.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstjpeg.dll b/Output/x64/gstreamer/libgstjpeg.dll deleted file mode 100644 index 5efccb76..00000000 Binary files a/Output/x64/gstreamer/libgstjpeg.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstjpegformat.dll b/Output/x64/gstreamer/libgstjpegformat.dll deleted file mode 100644 index 16aa28ce..00000000 Binary files a/Output/x64/gstreamer/libgstjpegformat.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstlevel.dll b/Output/x64/gstreamer/libgstlevel.dll deleted file mode 100644 index 9e5845bc..00000000 Binary files a/Output/x64/gstreamer/libgstlevel.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstlibav.dll b/Output/x64/gstreamer/libgstlibav.dll deleted file mode 100644 index 14fb7fcb..00000000 Binary files a/Output/x64/gstreamer/libgstlibav.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstlibvisual.dll b/Output/x64/gstreamer/libgstlibvisual.dll deleted file mode 100644 index 7e69637b..00000000 Binary files a/Output/x64/gstreamer/libgstlibvisual.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstliveadder.dll b/Output/x64/gstreamer/libgstliveadder.dll deleted file mode 100644 index f813831c..00000000 Binary files a/Output/x64/gstreamer/libgstliveadder.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmad.dll b/Output/x64/gstreamer/libgstmad.dll deleted file mode 100644 index 34347486..00000000 Binary files a/Output/x64/gstreamer/libgstmad.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmatroska.dll b/Output/x64/gstreamer/libgstmatroska.dll deleted file mode 100644 index cdadba86..00000000 Binary files a/Output/x64/gstreamer/libgstmatroska.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmms.dll b/Output/x64/gstreamer/libgstmms.dll deleted file mode 100644 index 0e664a4a..00000000 Binary files a/Output/x64/gstreamer/libgstmms.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmpeg2dec.dll b/Output/x64/gstreamer/libgstmpeg2dec.dll deleted file mode 100644 index 8c594f28..00000000 Binary files a/Output/x64/gstreamer/libgstmpeg2dec.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmpegpsdemux.dll b/Output/x64/gstreamer/libgstmpegpsdemux.dll deleted file mode 100644 index 528d3145..00000000 Binary files a/Output/x64/gstreamer/libgstmpegpsdemux.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmpegpsmux.dll b/Output/x64/gstreamer/libgstmpegpsmux.dll deleted file mode 100644 index 28660251..00000000 Binary files a/Output/x64/gstreamer/libgstmpegpsmux.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmpegtsdemux.dll b/Output/x64/gstreamer/libgstmpegtsdemux.dll deleted file mode 100644 index 3815e96f..00000000 Binary files a/Output/x64/gstreamer/libgstmpegtsdemux.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmpegtsmux.dll b/Output/x64/gstreamer/libgstmpegtsmux.dll deleted file mode 100644 index e90cab54..00000000 Binary files a/Output/x64/gstreamer/libgstmpegtsmux.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmulaw.dll b/Output/x64/gstreamer/libgstmulaw.dll deleted file mode 100644 index f77d2a0f..00000000 Binary files a/Output/x64/gstreamer/libgstmulaw.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmultifile.dll b/Output/x64/gstreamer/libgstmultifile.dll deleted file mode 100644 index a5c667e3..00000000 Binary files a/Output/x64/gstreamer/libgstmultifile.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstmultipart.dll b/Output/x64/gstreamer/libgstmultipart.dll deleted file mode 100644 index 1a07d138..00000000 Binary files a/Output/x64/gstreamer/libgstmultipart.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstnet-1.0-0.dll b/Output/x64/gstreamer/libgstnet-1.0-0.dll deleted file mode 100644 index 00a0b717..00000000 Binary files a/Output/x64/gstreamer/libgstnet-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstogg.dll b/Output/x64/gstreamer/libgstogg.dll deleted file mode 100644 index 6d67444d..00000000 Binary files a/Output/x64/gstreamer/libgstogg.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstopus.dll b/Output/x64/gstreamer/libgstopus.dll deleted file mode 100644 index 46419c5e..00000000 Binary files a/Output/x64/gstreamer/libgstopus.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstpango.dll b/Output/x64/gstreamer/libgstpango.dll deleted file mode 100644 index f0d64403..00000000 Binary files a/Output/x64/gstreamer/libgstpango.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstpbutils-1.0-0.dll b/Output/x64/gstreamer/libgstpbutils-1.0-0.dll deleted file mode 100644 index c795b0b4..00000000 Binary files a/Output/x64/gstreamer/libgstpbutils-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstpcapparse.dll b/Output/x64/gstreamer/libgstpcapparse.dll deleted file mode 100644 index fe8325e8..00000000 Binary files a/Output/x64/gstreamer/libgstpcapparse.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstphotography-1.0-0.dll b/Output/x64/gstreamer/libgstphotography-1.0-0.dll deleted file mode 100644 index 2a8d90cf..00000000 Binary files a/Output/x64/gstreamer/libgstphotography-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstplayback.dll b/Output/x64/gstreamer/libgstplayback.dll deleted file mode 100644 index 1468ee4a..00000000 Binary files a/Output/x64/gstreamer/libgstplayback.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstpng.dll b/Output/x64/gstreamer/libgstpng.dll deleted file mode 100644 index 879b75cf..00000000 Binary files a/Output/x64/gstreamer/libgstpng.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstpnm.dll b/Output/x64/gstreamer/libgstpnm.dll deleted file mode 100644 index 6190b5f4..00000000 Binary files a/Output/x64/gstreamer/libgstpnm.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstrawparse.dll b/Output/x64/gstreamer/libgstrawparse.dll deleted file mode 100644 index b88704a5..00000000 Binary files a/Output/x64/gstreamer/libgstrawparse.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstreamer-1.0-0.dll b/Output/x64/gstreamer/libgstreamer-1.0-0.dll deleted file mode 100644 index 41d966df..00000000 Binary files a/Output/x64/gstreamer/libgstreamer-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstreamersharpglue-1.0.0.dll b/Output/x64/gstreamer/libgstreamersharpglue-1.0.0.dll deleted file mode 100644 index 4215d2ea..00000000 Binary files a/Output/x64/gstreamer/libgstreamersharpglue-1.0.0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstremovesilence.dll b/Output/x64/gstreamer/libgstremovesilence.dll deleted file mode 100644 index 8ce09432..00000000 Binary files a/Output/x64/gstreamer/libgstremovesilence.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstreplaygain.dll b/Output/x64/gstreamer/libgstreplaygain.dll deleted file mode 100644 index a23e781d..00000000 Binary files a/Output/x64/gstreamer/libgstreplaygain.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstresindvd.dll b/Output/x64/gstreamer/libgstresindvd.dll deleted file mode 100644 index 93165f46..00000000 Binary files a/Output/x64/gstreamer/libgstresindvd.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstriff-1.0-0.dll b/Output/x64/gstreamer/libgstriff-1.0-0.dll deleted file mode 100644 index f84c4d32..00000000 Binary files a/Output/x64/gstreamer/libgstriff-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstrmdemux.dll b/Output/x64/gstreamer/libgstrmdemux.dll deleted file mode 100644 index d96fbf96..00000000 Binary files a/Output/x64/gstreamer/libgstrmdemux.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstrtp-1.0-0.dll b/Output/x64/gstreamer/libgstrtp-1.0-0.dll deleted file mode 100644 index 671314bd..00000000 Binary files a/Output/x64/gstreamer/libgstrtp-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstrtp.dll b/Output/x64/gstreamer/libgstrtp.dll deleted file mode 100644 index 956c06a6..00000000 Binary files a/Output/x64/gstreamer/libgstrtp.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstrtpmanager.dll b/Output/x64/gstreamer/libgstrtpmanager.dll deleted file mode 100644 index 368bfad3..00000000 Binary files a/Output/x64/gstreamer/libgstrtpmanager.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstrtsp-1.0-0.dll b/Output/x64/gstreamer/libgstrtsp-1.0-0.dll deleted file mode 100644 index aa6e0113..00000000 Binary files a/Output/x64/gstreamer/libgstrtsp-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstrtsp.dll b/Output/x64/gstreamer/libgstrtsp.dll deleted file mode 100644 index ffe21d20..00000000 Binary files a/Output/x64/gstreamer/libgstrtsp.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstscaletempoplugin.dll b/Output/x64/gstreamer/libgstscaletempoplugin.dll deleted file mode 100644 index d6666bf6..00000000 Binary files a/Output/x64/gstreamer/libgstscaletempoplugin.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstschro.dll b/Output/x64/gstreamer/libgstschro.dll deleted file mode 100644 index f2df296e..00000000 Binary files a/Output/x64/gstreamer/libgstschro.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstsdp-1.0-0.dll b/Output/x64/gstreamer/libgstsdp-1.0-0.dll deleted file mode 100644 index e626b4ea..00000000 Binary files a/Output/x64/gstreamer/libgstsdp-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstsdpelem.dll b/Output/x64/gstreamer/libgstsdpelem.dll deleted file mode 100644 index 7a76eba2..00000000 Binary files a/Output/x64/gstreamer/libgstsdpelem.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstsegmentclip.dll b/Output/x64/gstreamer/libgstsegmentclip.dll deleted file mode 100644 index 65a59e2b..00000000 Binary files a/Output/x64/gstreamer/libgstsegmentclip.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstshapewipe.dll b/Output/x64/gstreamer/libgstshapewipe.dll deleted file mode 100644 index 90936372..00000000 Binary files a/Output/x64/gstreamer/libgstshapewipe.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstsiren.dll b/Output/x64/gstreamer/libgstsiren.dll deleted file mode 100644 index 4cdce371..00000000 Binary files a/Output/x64/gstreamer/libgstsiren.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstsmooth.dll b/Output/x64/gstreamer/libgstsmooth.dll deleted file mode 100644 index ef4948b8..00000000 Binary files a/Output/x64/gstreamer/libgstsmooth.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstsmpte.dll b/Output/x64/gstreamer/libgstsmpte.dll deleted file mode 100644 index a5dca248..00000000 Binary files a/Output/x64/gstreamer/libgstsmpte.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstsouphttpsrc.dll b/Output/x64/gstreamer/libgstsouphttpsrc.dll deleted file mode 100644 index c0201bfd..00000000 Binary files a/Output/x64/gstreamer/libgstsouphttpsrc.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstspectrum.dll b/Output/x64/gstreamer/libgstspectrum.dll deleted file mode 100644 index 4fa8ca1b..00000000 Binary files a/Output/x64/gstreamer/libgstspectrum.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstspeed.dll b/Output/x64/gstreamer/libgstspeed.dll deleted file mode 100644 index 211bdb13..00000000 Binary files a/Output/x64/gstreamer/libgstspeed.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstspeex.dll b/Output/x64/gstreamer/libgstspeex.dll deleted file mode 100644 index 43bedb83..00000000 Binary files a/Output/x64/gstreamer/libgstspeex.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstsubenc.dll b/Output/x64/gstreamer/libgstsubenc.dll deleted file mode 100644 index 579ae262..00000000 Binary files a/Output/x64/gstreamer/libgstsubenc.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstsubparse.dll b/Output/x64/gstreamer/libgstsubparse.dll deleted file mode 100644 index 76cf5e71..00000000 Binary files a/Output/x64/gstreamer/libgstsubparse.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgsttag-1.0-0.dll b/Output/x64/gstreamer/libgsttag-1.0-0.dll deleted file mode 100644 index 7ce3bf6e..00000000 Binary files a/Output/x64/gstreamer/libgsttag-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgsttaglib.dll b/Output/x64/gstreamer/libgsttaglib.dll deleted file mode 100644 index 9e21c5e7..00000000 Binary files a/Output/x64/gstreamer/libgsttaglib.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgsttcp.dll b/Output/x64/gstreamer/libgsttcp.dll deleted file mode 100644 index 55c1080a..00000000 Binary files a/Output/x64/gstreamer/libgsttcp.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgsttheora.dll b/Output/x64/gstreamer/libgsttheora.dll deleted file mode 100644 index 3f3e7164..00000000 Binary files a/Output/x64/gstreamer/libgsttheora.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgsttypefindfunctions.dll b/Output/x64/gstreamer/libgsttypefindfunctions.dll deleted file mode 100644 index 927329dc..00000000 Binary files a/Output/x64/gstreamer/libgsttypefindfunctions.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstudp.dll b/Output/x64/gstreamer/libgstudp.dll deleted file mode 100644 index c87365eb..00000000 Binary files a/Output/x64/gstreamer/libgstudp.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvideo-1.0-0.dll b/Output/x64/gstreamer/libgstvideo-1.0-0.dll deleted file mode 100644 index 4ef9ebf5..00000000 Binary files a/Output/x64/gstreamer/libgstvideo-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvideobox.dll b/Output/x64/gstreamer/libgstvideobox.dll deleted file mode 100644 index d3595eb5..00000000 Binary files a/Output/x64/gstreamer/libgstvideobox.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvideoconvert.dll b/Output/x64/gstreamer/libgstvideoconvert.dll deleted file mode 100644 index 2608d3e2..00000000 Binary files a/Output/x64/gstreamer/libgstvideoconvert.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvideocrop.dll b/Output/x64/gstreamer/libgstvideocrop.dll deleted file mode 100644 index 0534e404..00000000 Binary files a/Output/x64/gstreamer/libgstvideocrop.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvideofilter.dll b/Output/x64/gstreamer/libgstvideofilter.dll deleted file mode 100644 index b8e1bf6f..00000000 Binary files a/Output/x64/gstreamer/libgstvideofilter.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvideomixer.dll b/Output/x64/gstreamer/libgstvideomixer.dll deleted file mode 100644 index 94c88e5a..00000000 Binary files a/Output/x64/gstreamer/libgstvideomixer.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvideoparsersbad.dll b/Output/x64/gstreamer/libgstvideoparsersbad.dll deleted file mode 100644 index 8ff7eb69..00000000 Binary files a/Output/x64/gstreamer/libgstvideoparsersbad.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvideorate.dll b/Output/x64/gstreamer/libgstvideorate.dll deleted file mode 100644 index bb2d18a6..00000000 Binary files a/Output/x64/gstreamer/libgstvideorate.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvideoscale.dll b/Output/x64/gstreamer/libgstvideoscale.dll deleted file mode 100644 index c6f33fbb..00000000 Binary files a/Output/x64/gstreamer/libgstvideoscale.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvideotestsrc.dll b/Output/x64/gstreamer/libgstvideotestsrc.dll deleted file mode 100644 index 6cf64eb8..00000000 Binary files a/Output/x64/gstreamer/libgstvideotestsrc.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvolume.dll b/Output/x64/gstreamer/libgstvolume.dll deleted file mode 100644 index 3aae8f8a..00000000 Binary files a/Output/x64/gstreamer/libgstvolume.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvorbis.dll b/Output/x64/gstreamer/libgstvorbis.dll deleted file mode 100644 index 2bff4c72..00000000 Binary files a/Output/x64/gstreamer/libgstvorbis.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstvpx.dll b/Output/x64/gstreamer/libgstvpx.dll deleted file mode 100644 index 33f4d1db..00000000 Binary files a/Output/x64/gstreamer/libgstvpx.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstwavenc.dll b/Output/x64/gstreamer/libgstwavenc.dll deleted file mode 100644 index 5395f473..00000000 Binary files a/Output/x64/gstreamer/libgstwavenc.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstwavpack.dll b/Output/x64/gstreamer/libgstwavpack.dll deleted file mode 100644 index ed6e6d07..00000000 Binary files a/Output/x64/gstreamer/libgstwavpack.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstwavparse.dll b/Output/x64/gstreamer/libgstwavparse.dll deleted file mode 100644 index 04eb79b1..00000000 Binary files a/Output/x64/gstreamer/libgstwavparse.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstx264.dll b/Output/x64/gstreamer/libgstx264.dll deleted file mode 100644 index c90b1f99..00000000 Binary files a/Output/x64/gstreamer/libgstx264.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgstxingmux.dll b/Output/x64/gstreamer/libgstxingmux.dll deleted file mode 100644 index ca135b1e..00000000 Binary files a/Output/x64/gstreamer/libgstxingmux.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgsty4mdec.dll b/Output/x64/gstreamer/libgsty4mdec.dll deleted file mode 100644 index 496e64bd..00000000 Binary files a/Output/x64/gstreamer/libgsty4mdec.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgsty4menc.dll b/Output/x64/gstreamer/libgsty4menc.dll deleted file mode 100644 index 6a4de10c..00000000 Binary files a/Output/x64/gstreamer/libgsty4menc.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libgthread-2.0-0.dll b/Output/x64/gstreamer/libgthread-2.0-0.dll deleted file mode 100644 index b148937b..00000000 Binary files a/Output/x64/gstreamer/libgthread-2.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libhogweed-2-2.dll b/Output/x64/gstreamer/libhogweed-2-2.dll deleted file mode 100644 index f99fe527..00000000 Binary files a/Output/x64/gstreamer/libhogweed-2-2.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libiconv-2.dll b/Output/x64/gstreamer/libiconv-2.dll deleted file mode 100644 index 525b96ee..00000000 Binary files a/Output/x64/gstreamer/libiconv-2.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libintl-8.dll b/Output/x64/gstreamer/libintl-8.dll deleted file mode 100644 index c4f8427c..00000000 Binary files a/Output/x64/gstreamer/libintl-8.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libjpeg-8.dll b/Output/x64/gstreamer/libjpeg-8.dll deleted file mode 100644 index 545f9efc..00000000 Binary files a/Output/x64/gstreamer/libjpeg-8.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libkate-1.dll b/Output/x64/gstreamer/libkate-1.dll deleted file mode 100644 index c53dd128..00000000 Binary files a/Output/x64/gstreamer/libkate-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libmms-0.dll b/Output/x64/gstreamer/libmms-0.dll deleted file mode 100644 index d510509f..00000000 Binary files a/Output/x64/gstreamer/libmms-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libmpeg2-0.dll b/Output/x64/gstreamer/libmpeg2-0.dll deleted file mode 100644 index 1d2b87a8..00000000 Binary files a/Output/x64/gstreamer/libmpeg2-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libmpeg2convert-0.dll b/Output/x64/gstreamer/libmpeg2convert-0.dll deleted file mode 100644 index f212e850..00000000 Binary files a/Output/x64/gstreamer/libmpeg2convert-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libnettle-4-4.dll b/Output/x64/gstreamer/libnettle-4-4.dll deleted file mode 100644 index e991bad2..00000000 Binary files a/Output/x64/gstreamer/libnettle-4-4.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libogg-0.dll b/Output/x64/gstreamer/libogg-0.dll deleted file mode 100644 index f247f6c6..00000000 Binary files a/Output/x64/gstreamer/libogg-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/liboggkate-1.dll b/Output/x64/gstreamer/liboggkate-1.dll deleted file mode 100644 index 562c6586..00000000 Binary files a/Output/x64/gstreamer/liboggkate-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libopencore-amrnb-0.dll b/Output/x64/gstreamer/libopencore-amrnb-0.dll deleted file mode 100644 index 408b4365..00000000 Binary files a/Output/x64/gstreamer/libopencore-amrnb-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libopencore-amrwb-0.dll b/Output/x64/gstreamer/libopencore-amrwb-0.dll deleted file mode 100644 index 99f59d7d..00000000 Binary files a/Output/x64/gstreamer/libopencore-amrwb-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libopus-0.dll b/Output/x64/gstreamer/libopus-0.dll deleted file mode 100644 index 95237c43..00000000 Binary files a/Output/x64/gstreamer/libopus-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/liborc-0.4-0.dll b/Output/x64/gstreamer/liborc-0.4-0.dll deleted file mode 100644 index 78e956b9..00000000 Binary files a/Output/x64/gstreamer/liborc-0.4-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/liborc-test-0.4-0.dll b/Output/x64/gstreamer/liborc-test-0.4-0.dll deleted file mode 100644 index ca7a35d3..00000000 Binary files a/Output/x64/gstreamer/liborc-test-0.4-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libpango-1.0-0.dll b/Output/x64/gstreamer/libpango-1.0-0.dll deleted file mode 100644 index 5284e414..00000000 Binary files a/Output/x64/gstreamer/libpango-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libpangocairo-1.0-0.dll b/Output/x64/gstreamer/libpangocairo-1.0-0.dll deleted file mode 100644 index 47e96ff3..00000000 Binary files a/Output/x64/gstreamer/libpangocairo-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libpangoft2-1.0-0.dll b/Output/x64/gstreamer/libpangoft2-1.0-0.dll deleted file mode 100644 index b6c1a482..00000000 Binary files a/Output/x64/gstreamer/libpangoft2-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libpangowin32-1.0-0.dll b/Output/x64/gstreamer/libpangowin32-1.0-0.dll deleted file mode 100644 index 8fd59964..00000000 Binary files a/Output/x64/gstreamer/libpangowin32-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libpixman-1-0.dll b/Output/x64/gstreamer/libpixman-1-0.dll deleted file mode 100644 index 77861e8c..00000000 Binary files a/Output/x64/gstreamer/libpixman-1-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libpng15-15.dll b/Output/x64/gstreamer/libpng15-15.dll deleted file mode 100644 index 365c1092..00000000 Binary files a/Output/x64/gstreamer/libpng15-15.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libschroedinger-1.0-0.dll b/Output/x64/gstreamer/libschroedinger-1.0-0.dll deleted file mode 100644 index cde8841e..00000000 Binary files a/Output/x64/gstreamer/libschroedinger-1.0-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libsoup-2.4-1.dll b/Output/x64/gstreamer/libsoup-2.4-1.dll deleted file mode 100644 index 49ff8507..00000000 Binary files a/Output/x64/gstreamer/libsoup-2.4-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libspeex-1.dll b/Output/x64/gstreamer/libspeex-1.dll deleted file mode 100644 index c566a3d2..00000000 Binary files a/Output/x64/gstreamer/libspeex-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libspeexdsp-1.dll b/Output/x64/gstreamer/libspeexdsp-1.dll deleted file mode 100644 index f129899a..00000000 Binary files a/Output/x64/gstreamer/libspeexdsp-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libstdc++-6.dll b/Output/x64/gstreamer/libstdc++-6.dll deleted file mode 100644 index f21f9d04..00000000 Binary files a/Output/x64/gstreamer/libstdc++-6.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libtag.dll b/Output/x64/gstreamer/libtag.dll deleted file mode 100644 index 51e98425..00000000 Binary files a/Output/x64/gstreamer/libtag.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libtag_c.dll b/Output/x64/gstreamer/libtag_c.dll deleted file mode 100644 index 91edaab8..00000000 Binary files a/Output/x64/gstreamer/libtag_c.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libtasn1-3.dll b/Output/x64/gstreamer/libtasn1-3.dll deleted file mode 100644 index 9d5e7c98..00000000 Binary files a/Output/x64/gstreamer/libtasn1-3.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libtheora-0.dll b/Output/x64/gstreamer/libtheora-0.dll deleted file mode 100644 index 9444654c..00000000 Binary files a/Output/x64/gstreamer/libtheora-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libtheoradec-1.dll b/Output/x64/gstreamer/libtheoradec-1.dll deleted file mode 100644 index 5695322d..00000000 Binary files a/Output/x64/gstreamer/libtheoradec-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libtheoraenc-1.dll b/Output/x64/gstreamer/libtheoraenc-1.dll deleted file mode 100644 index 97f6d413..00000000 Binary files a/Output/x64/gstreamer/libtheoraenc-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libtiff-5.dll b/Output/x64/gstreamer/libtiff-5.dll deleted file mode 100644 index 2946cbbf..00000000 Binary files a/Output/x64/gstreamer/libtiff-5.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libvisual-0.4-0.dll b/Output/x64/gstreamer/libvisual-0.4-0.dll deleted file mode 100644 index 41380ba0..00000000 Binary files a/Output/x64/gstreamer/libvisual-0.4-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libvorbis-0.dll b/Output/x64/gstreamer/libvorbis-0.dll deleted file mode 100644 index 16ed64eb..00000000 Binary files a/Output/x64/gstreamer/libvorbis-0.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libvorbisenc-2.dll b/Output/x64/gstreamer/libvorbisenc-2.dll deleted file mode 100644 index 74076909..00000000 Binary files a/Output/x64/gstreamer/libvorbisenc-2.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libvorbisfile-3.dll b/Output/x64/gstreamer/libvorbisfile-3.dll deleted file mode 100644 index f72cc6b7..00000000 Binary files a/Output/x64/gstreamer/libvorbisfile-3.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libwavpack-1.dll b/Output/x64/gstreamer/libwavpack-1.dll deleted file mode 100644 index eda6f846..00000000 Binary files a/Output/x64/gstreamer/libwavpack-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libwinpthread-1.dll b/Output/x64/gstreamer/libwinpthread-1.dll deleted file mode 100644 index e517c82d..00000000 Binary files a/Output/x64/gstreamer/libwinpthread-1.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libx264-125.dll b/Output/x64/gstreamer/libx264-125.dll deleted file mode 100644 index 661089e3..00000000 Binary files a/Output/x64/gstreamer/libx264-125.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libxml2-2.dll b/Output/x64/gstreamer/libxml2-2.dll deleted file mode 100644 index 6cea9673..00000000 Binary files a/Output/x64/gstreamer/libxml2-2.dll and /dev/null differ diff --git a/Output/x64/gstreamer/libz.dll b/Output/x64/gstreamer/libz.dll deleted file mode 100644 index 5daeaade..00000000 Binary files a/Output/x64/gstreamer/libz.dll and /dev/null differ diff --git a/Output/x64/libgstreamersharpglue-1.0.0.dll b/Output/x64/libgstreamersharpglue-1.0.0.dll new file mode 100644 index 00000000..22022133 Binary files /dev/null and b/Output/x64/libgstreamersharpglue-1.0.0.dll differ diff --git a/Output/x86/gstreamer/libFLAC-8.dll b/Output/x86/gstreamer/libFLAC-8.dll deleted file mode 100644 index f18d03ba..00000000 Binary files a/Output/x86/gstreamer/libFLAC-8.dll and /dev/null differ diff --git a/Output/x86/gstreamer/liba52-0.dll b/Output/x86/gstreamer/liba52-0.dll deleted file mode 100644 index 0ca827a8..00000000 Binary files a/Output/x86/gstreamer/liba52-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libass-4.dll b/Output/x86/gstreamer/libass-4.dll deleted file mode 100644 index 652e351c..00000000 Binary files a/Output/x86/gstreamer/libass-4.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libbz2.dll b/Output/x86/gstreamer/libbz2.dll deleted file mode 100644 index bc4906bf..00000000 Binary files a/Output/x86/gstreamer/libbz2.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libcairo-2.dll b/Output/x86/gstreamer/libcairo-2.dll deleted file mode 100644 index 41d46bab..00000000 Binary files a/Output/x86/gstreamer/libcairo-2.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libcairo-gobject-2.dll b/Output/x86/gstreamer/libcairo-gobject-2.dll deleted file mode 100644 index 254ad744..00000000 Binary files a/Output/x86/gstreamer/libcairo-gobject-2.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libcairo-script-interpreter-2.dll b/Output/x86/gstreamer/libcairo-script-interpreter-2.dll deleted file mode 100644 index cb94ab63..00000000 Binary files a/Output/x86/gstreamer/libcairo-script-interpreter-2.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libcharset-1.dll b/Output/x86/gstreamer/libcharset-1.dll deleted file mode 100644 index adf7ff56..00000000 Binary files a/Output/x86/gstreamer/libcharset-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libdca-0.dll b/Output/x86/gstreamer/libdca-0.dll deleted file mode 100644 index 810ec4ad..00000000 Binary files a/Output/x86/gstreamer/libdca-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libdv-4.dll b/Output/x86/gstreamer/libdv-4.dll deleted file mode 100644 index f4550758..00000000 Binary files a/Output/x86/gstreamer/libdv-4.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libdvdnav-4.dll b/Output/x86/gstreamer/libdvdnav-4.dll deleted file mode 100644 index 9d6b2708..00000000 Binary files a/Output/x86/gstreamer/libdvdnav-4.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libdvdnavmini-4.dll b/Output/x86/gstreamer/libdvdnavmini-4.dll deleted file mode 100644 index 18b93733..00000000 Binary files a/Output/x86/gstreamer/libdvdnavmini-4.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libdvdread-4.dll b/Output/x86/gstreamer/libdvdread-4.dll deleted file mode 100644 index 792db099..00000000 Binary files a/Output/x86/gstreamer/libdvdread-4.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libexpat-1.dll b/Output/x86/gstreamer/libexpat-1.dll deleted file mode 100644 index 755a3191..00000000 Binary files a/Output/x86/gstreamer/libexpat-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libfaad-2.dll b/Output/x86/gstreamer/libfaad-2.dll deleted file mode 100644 index 8b530f21..00000000 Binary files a/Output/x86/gstreamer/libfaad-2.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libffi-6.dll b/Output/x86/gstreamer/libffi-6.dll deleted file mode 100644 index 3b439f96..00000000 Binary files a/Output/x86/gstreamer/libffi-6.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libfontconfig-1.dll b/Output/x86/gstreamer/libfontconfig-1.dll deleted file mode 100644 index 12384b6b..00000000 Binary files a/Output/x86/gstreamer/libfontconfig-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libfreetype-6.dll b/Output/x86/gstreamer/libfreetype-6.dll deleted file mode 100644 index 2681a07f..00000000 Binary files a/Output/x86/gstreamer/libfreetype-6.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libfribidi-0.dll b/Output/x86/gstreamer/libfribidi-0.dll deleted file mode 100644 index 5ff8d465..00000000 Binary files a/Output/x86/gstreamer/libfribidi-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgcc_s_sjlj-1.dll b/Output/x86/gstreamer/libgcc_s_sjlj-1.dll deleted file mode 100644 index d7d77a76..00000000 Binary files a/Output/x86/gstreamer/libgcc_s_sjlj-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgdk_pixbuf-2.0-0.dll b/Output/x86/gstreamer/libgdk_pixbuf-2.0-0.dll deleted file mode 100644 index 70f3e79f..00000000 Binary files a/Output/x86/gstreamer/libgdk_pixbuf-2.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgio-2.0-0.dll b/Output/x86/gstreamer/libgio-2.0-0.dll deleted file mode 100644 index d25be862..00000000 Binary files a/Output/x86/gstreamer/libgio-2.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgiognutls.dll b/Output/x86/gstreamer/libgiognutls.dll deleted file mode 100644 index 1eb0bf5d..00000000 Binary files a/Output/x86/gstreamer/libgiognutls.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libglib-2.0-0.dll b/Output/x86/gstreamer/libglib-2.0-0.dll deleted file mode 100644 index ce815096..00000000 Binary files a/Output/x86/gstreamer/libglib-2.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgmodule-2.0-0.dll b/Output/x86/gstreamer/libgmodule-2.0-0.dll deleted file mode 100644 index 821f700e..00000000 Binary files a/Output/x86/gstreamer/libgmodule-2.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgnutls-28.dll b/Output/x86/gstreamer/libgnutls-28.dll deleted file mode 100644 index a2fc2320..00000000 Binary files a/Output/x86/gstreamer/libgnutls-28.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgnutls-openssl-27.dll b/Output/x86/gstreamer/libgnutls-openssl-27.dll deleted file mode 100644 index cff30817..00000000 Binary files a/Output/x86/gstreamer/libgnutls-openssl-27.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgnutlsxx-28.dll b/Output/x86/gstreamer/libgnutlsxx-28.dll deleted file mode 100644 index cfbe9cdb..00000000 Binary files a/Output/x86/gstreamer/libgnutlsxx-28.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgobject-2.0-0.dll b/Output/x86/gstreamer/libgobject-2.0-0.dll deleted file mode 100644 index 97cab67f..00000000 Binary files a/Output/x86/gstreamer/libgobject-2.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgomp-1.dll b/Output/x86/gstreamer/libgomp-1.dll deleted file mode 100644 index 7a50d33b..00000000 Binary files a/Output/x86/gstreamer/libgomp-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgsta52dec.dll b/Output/x86/gstreamer/libgsta52dec.dll deleted file mode 100644 index 6935143b..00000000 Binary files a/Output/x86/gstreamer/libgsta52dec.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstadder.dll b/Output/x86/gstreamer/libgstadder.dll deleted file mode 100644 index 0f7c83af..00000000 Binary files a/Output/x86/gstreamer/libgstadder.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstadpcmdec.dll b/Output/x86/gstreamer/libgstadpcmdec.dll deleted file mode 100644 index 275324e1..00000000 Binary files a/Output/x86/gstreamer/libgstadpcmdec.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstadpcmenc.dll b/Output/x86/gstreamer/libgstadpcmenc.dll deleted file mode 100644 index 13555dd8..00000000 Binary files a/Output/x86/gstreamer/libgstadpcmenc.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstalaw.dll b/Output/x86/gstreamer/libgstalaw.dll deleted file mode 100644 index 62610a9b..00000000 Binary files a/Output/x86/gstreamer/libgstalaw.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstalpha.dll b/Output/x86/gstreamer/libgstalpha.dll deleted file mode 100644 index e8ab504c..00000000 Binary files a/Output/x86/gstreamer/libgstalpha.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstalphacolor.dll b/Output/x86/gstreamer/libgstalphacolor.dll deleted file mode 100644 index bade1163..00000000 Binary files a/Output/x86/gstreamer/libgstalphacolor.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstamrnb.dll b/Output/x86/gstreamer/libgstamrnb.dll deleted file mode 100644 index 98ce6e3e..00000000 Binary files a/Output/x86/gstreamer/libgstamrnb.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstamrwbdec.dll b/Output/x86/gstreamer/libgstamrwbdec.dll deleted file mode 100644 index 7667849a..00000000 Binary files a/Output/x86/gstreamer/libgstamrwbdec.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstapetag.dll b/Output/x86/gstreamer/libgstapetag.dll deleted file mode 100644 index a20ca052..00000000 Binary files a/Output/x86/gstreamer/libgstapetag.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstapp-1.0-0.dll b/Output/x86/gstreamer/libgstapp-1.0-0.dll deleted file mode 100644 index d9adcc4a..00000000 Binary files a/Output/x86/gstreamer/libgstapp-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstapp.dll b/Output/x86/gstreamer/libgstapp.dll deleted file mode 100644 index 6826d2a3..00000000 Binary files a/Output/x86/gstreamer/libgstapp.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstasf.dll b/Output/x86/gstreamer/libgstasf.dll deleted file mode 100644 index f8560d52..00000000 Binary files a/Output/x86/gstreamer/libgstasf.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstasfmux.dll b/Output/x86/gstreamer/libgstasfmux.dll deleted file mode 100644 index be272a55..00000000 Binary files a/Output/x86/gstreamer/libgstasfmux.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstassrender.dll b/Output/x86/gstreamer/libgstassrender.dll deleted file mode 100644 index 9c052a3c..00000000 Binary files a/Output/x86/gstreamer/libgstassrender.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstaudio-1.0-0.dll b/Output/x86/gstreamer/libgstaudio-1.0-0.dll deleted file mode 100644 index 9d37513b..00000000 Binary files a/Output/x86/gstreamer/libgstaudio-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstaudioconvert.dll b/Output/x86/gstreamer/libgstaudioconvert.dll deleted file mode 100644 index 6424f8d9..00000000 Binary files a/Output/x86/gstreamer/libgstaudioconvert.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstaudiofx.dll b/Output/x86/gstreamer/libgstaudiofx.dll deleted file mode 100644 index 512b5f37..00000000 Binary files a/Output/x86/gstreamer/libgstaudiofx.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstaudioparsers.dll b/Output/x86/gstreamer/libgstaudioparsers.dll deleted file mode 100644 index 4203a34d..00000000 Binary files a/Output/x86/gstreamer/libgstaudioparsers.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstaudiorate.dll b/Output/x86/gstreamer/libgstaudiorate.dll deleted file mode 100644 index 0ac4431b..00000000 Binary files a/Output/x86/gstreamer/libgstaudiorate.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstaudioresample.dll b/Output/x86/gstreamer/libgstaudioresample.dll deleted file mode 100644 index b9cb623a..00000000 Binary files a/Output/x86/gstreamer/libgstaudioresample.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstaudiotestsrc.dll b/Output/x86/gstreamer/libgstaudiotestsrc.dll deleted file mode 100644 index def73e32..00000000 Binary files a/Output/x86/gstreamer/libgstaudiotestsrc.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstaudiovisualizers.dll b/Output/x86/gstreamer/libgstaudiovisualizers.dll deleted file mode 100644 index 36015556..00000000 Binary files a/Output/x86/gstreamer/libgstaudiovisualizers.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstauparse.dll b/Output/x86/gstreamer/libgstauparse.dll deleted file mode 100644 index 732f6592..00000000 Binary files a/Output/x86/gstreamer/libgstauparse.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstautoconvert.dll b/Output/x86/gstreamer/libgstautoconvert.dll deleted file mode 100644 index aaf8aa7f..00000000 Binary files a/Output/x86/gstreamer/libgstautoconvert.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstautodetect.dll b/Output/x86/gstreamer/libgstautodetect.dll deleted file mode 100644 index deb759da..00000000 Binary files a/Output/x86/gstreamer/libgstautodetect.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstavi.dll b/Output/x86/gstreamer/libgstavi.dll deleted file mode 100644 index 63d6d1f9..00000000 Binary files a/Output/x86/gstreamer/libgstavi.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstbase-1.0-0.dll b/Output/x86/gstreamer/libgstbase-1.0-0.dll deleted file mode 100644 index aec94495..00000000 Binary files a/Output/x86/gstreamer/libgstbase-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstbasecamerabinsrc-1.0-0.dll b/Output/x86/gstreamer/libgstbasecamerabinsrc-1.0-0.dll deleted file mode 100644 index 3e9b960e..00000000 Binary files a/Output/x86/gstreamer/libgstbasecamerabinsrc-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstbayer.dll b/Output/x86/gstreamer/libgstbayer.dll deleted file mode 100644 index 723b288d..00000000 Binary files a/Output/x86/gstreamer/libgstbayer.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstcairo.dll b/Output/x86/gstreamer/libgstcairo.dll deleted file mode 100644 index 5b286ca3..00000000 Binary files a/Output/x86/gstreamer/libgstcairo.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstcamerabin2.dll b/Output/x86/gstreamer/libgstcamerabin2.dll deleted file mode 100644 index a724114f..00000000 Binary files a/Output/x86/gstreamer/libgstcamerabin2.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstcodecparsers-1.0-0.dll b/Output/x86/gstreamer/libgstcodecparsers-1.0-0.dll deleted file mode 100644 index 79883023..00000000 Binary files a/Output/x86/gstreamer/libgstcodecparsers-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstcoloreffects.dll b/Output/x86/gstreamer/libgstcoloreffects.dll deleted file mode 100644 index 6d4cbf1e..00000000 Binary files a/Output/x86/gstreamer/libgstcoloreffects.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstcontroller-1.0-0.dll b/Output/x86/gstreamer/libgstcontroller-1.0-0.dll deleted file mode 100644 index 60d450ed..00000000 Binary files a/Output/x86/gstreamer/libgstcontroller-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstcoreelements.dll b/Output/x86/gstreamer/libgstcoreelements.dll deleted file mode 100644 index 09f11b80..00000000 Binary files a/Output/x86/gstreamer/libgstcoreelements.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstcutter.dll b/Output/x86/gstreamer/libgstcutter.dll deleted file mode 100644 index 68761d85..00000000 Binary files a/Output/x86/gstreamer/libgstcutter.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstd3dvideosink.dll b/Output/x86/gstreamer/libgstd3dvideosink.dll deleted file mode 100644 index d4cd9a0e..00000000 Binary files a/Output/x86/gstreamer/libgstd3dvideosink.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdataurisrc.dll b/Output/x86/gstreamer/libgstdataurisrc.dll deleted file mode 100644 index 92907916..00000000 Binary files a/Output/x86/gstreamer/libgstdataurisrc.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdebug.dll b/Output/x86/gstreamer/libgstdebug.dll deleted file mode 100644 index bd768e6a..00000000 Binary files a/Output/x86/gstreamer/libgstdebug.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdeinterlace.dll b/Output/x86/gstreamer/libgstdeinterlace.dll deleted file mode 100644 index a7a3cec6..00000000 Binary files a/Output/x86/gstreamer/libgstdeinterlace.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdirectsoundsink.dll b/Output/x86/gstreamer/libgstdirectsoundsink.dll deleted file mode 100644 index e6c4474b..00000000 Binary files a/Output/x86/gstreamer/libgstdirectsoundsink.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdtmf.dll b/Output/x86/gstreamer/libgstdtmf.dll deleted file mode 100644 index b6a84f90..00000000 Binary files a/Output/x86/gstreamer/libgstdtmf.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdtsdec.dll b/Output/x86/gstreamer/libgstdtsdec.dll deleted file mode 100644 index 2ed5f4cc..00000000 Binary files a/Output/x86/gstreamer/libgstdtsdec.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdv.dll b/Output/x86/gstreamer/libgstdv.dll deleted file mode 100644 index cca47530..00000000 Binary files a/Output/x86/gstreamer/libgstdv.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdvbsuboverlay.dll b/Output/x86/gstreamer/libgstdvbsuboverlay.dll deleted file mode 100644 index 551b74f8..00000000 Binary files a/Output/x86/gstreamer/libgstdvbsuboverlay.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdvdlpcmdec.dll b/Output/x86/gstreamer/libgstdvdlpcmdec.dll deleted file mode 100644 index 026b9510..00000000 Binary files a/Output/x86/gstreamer/libgstdvdlpcmdec.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdvdread.dll b/Output/x86/gstreamer/libgstdvdread.dll deleted file mode 100644 index 71992132..00000000 Binary files a/Output/x86/gstreamer/libgstdvdread.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstdvdspu.dll b/Output/x86/gstreamer/libgstdvdspu.dll deleted file mode 100644 index 0d450e0b..00000000 Binary files a/Output/x86/gstreamer/libgstdvdspu.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgsteffectv.dll b/Output/x86/gstreamer/libgsteffectv.dll deleted file mode 100644 index dea2dfc1..00000000 Binary files a/Output/x86/gstreamer/libgsteffectv.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstencodebin.dll b/Output/x86/gstreamer/libgstencodebin.dll deleted file mode 100644 index 04f897a0..00000000 Binary files a/Output/x86/gstreamer/libgstencodebin.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstequalizer.dll b/Output/x86/gstreamer/libgstequalizer.dll deleted file mode 100644 index 71502973..00000000 Binary files a/Output/x86/gstreamer/libgstequalizer.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstfaad.dll b/Output/x86/gstreamer/libgstfaad.dll deleted file mode 100644 index 21215363..00000000 Binary files a/Output/x86/gstreamer/libgstfaad.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstfft-1.0-0.dll b/Output/x86/gstreamer/libgstfft-1.0-0.dll deleted file mode 100644 index e352b916..00000000 Binary files a/Output/x86/gstreamer/libgstfft-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstfieldanalysis.dll b/Output/x86/gstreamer/libgstfieldanalysis.dll deleted file mode 100644 index 0409f03a..00000000 Binary files a/Output/x86/gstreamer/libgstfieldanalysis.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstflac.dll b/Output/x86/gstreamer/libgstflac.dll deleted file mode 100644 index 0e95adeb..00000000 Binary files a/Output/x86/gstreamer/libgstflac.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstflv.dll b/Output/x86/gstreamer/libgstflv.dll deleted file mode 100644 index 1d400bbe..00000000 Binary files a/Output/x86/gstreamer/libgstflv.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstflxdec.dll b/Output/x86/gstreamer/libgstflxdec.dll deleted file mode 100644 index 849c48f7..00000000 Binary files a/Output/x86/gstreamer/libgstflxdec.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstfragmented.dll b/Output/x86/gstreamer/libgstfragmented.dll deleted file mode 100644 index a1918e04..00000000 Binary files a/Output/x86/gstreamer/libgstfragmented.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstfrei0r.dll b/Output/x86/gstreamer/libgstfrei0r.dll deleted file mode 100644 index f99ecf0e..00000000 Binary files a/Output/x86/gstreamer/libgstfrei0r.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstgaudieffects.dll b/Output/x86/gstreamer/libgstgaudieffects.dll deleted file mode 100644 index 570c0943..00000000 Binary files a/Output/x86/gstreamer/libgstgaudieffects.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstgdkpixbuf.dll b/Output/x86/gstreamer/libgstgdkpixbuf.dll deleted file mode 100644 index 6ad1fdc9..00000000 Binary files a/Output/x86/gstreamer/libgstgdkpixbuf.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstgeometrictransform.dll b/Output/x86/gstreamer/libgstgeometrictransform.dll deleted file mode 100644 index a317340c..00000000 Binary files a/Output/x86/gstreamer/libgstgeometrictransform.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstgio.dll b/Output/x86/gstreamer/libgstgio.dll deleted file mode 100644 index e7a63766..00000000 Binary files a/Output/x86/gstreamer/libgstgio.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstgoom.dll b/Output/x86/gstreamer/libgstgoom.dll deleted file mode 100644 index 395c8faf..00000000 Binary files a/Output/x86/gstreamer/libgstgoom.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstgoom2k1.dll b/Output/x86/gstreamer/libgstgoom2k1.dll deleted file mode 100644 index 0f6287f0..00000000 Binary files a/Output/x86/gstreamer/libgstgoom2k1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgsticydemux.dll b/Output/x86/gstreamer/libgsticydemux.dll deleted file mode 100644 index 27957fce..00000000 Binary files a/Output/x86/gstreamer/libgsticydemux.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstid3demux.dll b/Output/x86/gstreamer/libgstid3demux.dll deleted file mode 100644 index 8328cbaa..00000000 Binary files a/Output/x86/gstreamer/libgstid3demux.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstid3tag.dll b/Output/x86/gstreamer/libgstid3tag.dll deleted file mode 100644 index b26d26e9..00000000 Binary files a/Output/x86/gstreamer/libgstid3tag.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstimagefreeze.dll b/Output/x86/gstreamer/libgstimagefreeze.dll deleted file mode 100644 index 3e16aa13..00000000 Binary files a/Output/x86/gstreamer/libgstimagefreeze.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstinterlace.dll b/Output/x86/gstreamer/libgstinterlace.dll deleted file mode 100644 index a30d5efe..00000000 Binary files a/Output/x86/gstreamer/libgstinterlace.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstinterleave.dll b/Output/x86/gstreamer/libgstinterleave.dll deleted file mode 100644 index afe5e982..00000000 Binary files a/Output/x86/gstreamer/libgstinterleave.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstisomp4.dll b/Output/x86/gstreamer/libgstisomp4.dll deleted file mode 100644 index 380ccbf0..00000000 Binary files a/Output/x86/gstreamer/libgstisomp4.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstjpeg.dll b/Output/x86/gstreamer/libgstjpeg.dll deleted file mode 100644 index 782b348b..00000000 Binary files a/Output/x86/gstreamer/libgstjpeg.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstjpegformat.dll b/Output/x86/gstreamer/libgstjpegformat.dll deleted file mode 100644 index 27c86925..00000000 Binary files a/Output/x86/gstreamer/libgstjpegformat.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstlevel.dll b/Output/x86/gstreamer/libgstlevel.dll deleted file mode 100644 index 9579b6f3..00000000 Binary files a/Output/x86/gstreamer/libgstlevel.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstlibav.dll b/Output/x86/gstreamer/libgstlibav.dll deleted file mode 100644 index b9b00c10..00000000 Binary files a/Output/x86/gstreamer/libgstlibav.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstlibvisual.dll b/Output/x86/gstreamer/libgstlibvisual.dll deleted file mode 100644 index 10336c13..00000000 Binary files a/Output/x86/gstreamer/libgstlibvisual.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstliveadder.dll b/Output/x86/gstreamer/libgstliveadder.dll deleted file mode 100644 index 68e431e7..00000000 Binary files a/Output/x86/gstreamer/libgstliveadder.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmad.dll b/Output/x86/gstreamer/libgstmad.dll deleted file mode 100644 index 464049b5..00000000 Binary files a/Output/x86/gstreamer/libgstmad.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmatroska.dll b/Output/x86/gstreamer/libgstmatroska.dll deleted file mode 100644 index 95073d1c..00000000 Binary files a/Output/x86/gstreamer/libgstmatroska.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmms.dll b/Output/x86/gstreamer/libgstmms.dll deleted file mode 100644 index d8d35f08..00000000 Binary files a/Output/x86/gstreamer/libgstmms.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmpeg2dec.dll b/Output/x86/gstreamer/libgstmpeg2dec.dll deleted file mode 100644 index e4ea7e8d..00000000 Binary files a/Output/x86/gstreamer/libgstmpeg2dec.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmpegpsdemux.dll b/Output/x86/gstreamer/libgstmpegpsdemux.dll deleted file mode 100644 index c28f4e7b..00000000 Binary files a/Output/x86/gstreamer/libgstmpegpsdemux.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmpegpsmux.dll b/Output/x86/gstreamer/libgstmpegpsmux.dll deleted file mode 100644 index eb6def20..00000000 Binary files a/Output/x86/gstreamer/libgstmpegpsmux.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmpegtsdemux.dll b/Output/x86/gstreamer/libgstmpegtsdemux.dll deleted file mode 100644 index 5b6ad429..00000000 Binary files a/Output/x86/gstreamer/libgstmpegtsdemux.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmpegtsmux.dll b/Output/x86/gstreamer/libgstmpegtsmux.dll deleted file mode 100644 index dec705bc..00000000 Binary files a/Output/x86/gstreamer/libgstmpegtsmux.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmulaw.dll b/Output/x86/gstreamer/libgstmulaw.dll deleted file mode 100644 index 7b688c10..00000000 Binary files a/Output/x86/gstreamer/libgstmulaw.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmultifile.dll b/Output/x86/gstreamer/libgstmultifile.dll deleted file mode 100644 index d2382518..00000000 Binary files a/Output/x86/gstreamer/libgstmultifile.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstmultipart.dll b/Output/x86/gstreamer/libgstmultipart.dll deleted file mode 100644 index 0bbdc65a..00000000 Binary files a/Output/x86/gstreamer/libgstmultipart.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstnet-1.0-0.dll b/Output/x86/gstreamer/libgstnet-1.0-0.dll deleted file mode 100644 index 31fd83b4..00000000 Binary files a/Output/x86/gstreamer/libgstnet-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstogg.dll b/Output/x86/gstreamer/libgstogg.dll deleted file mode 100644 index bee771b7..00000000 Binary files a/Output/x86/gstreamer/libgstogg.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstopus.dll b/Output/x86/gstreamer/libgstopus.dll deleted file mode 100644 index 321c821e..00000000 Binary files a/Output/x86/gstreamer/libgstopus.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstpango.dll b/Output/x86/gstreamer/libgstpango.dll deleted file mode 100644 index 8a07a701..00000000 Binary files a/Output/x86/gstreamer/libgstpango.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstpbutils-1.0-0.dll b/Output/x86/gstreamer/libgstpbutils-1.0-0.dll deleted file mode 100644 index 7591f07b..00000000 Binary files a/Output/x86/gstreamer/libgstpbutils-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstpcapparse.dll b/Output/x86/gstreamer/libgstpcapparse.dll deleted file mode 100644 index 0ac800b6..00000000 Binary files a/Output/x86/gstreamer/libgstpcapparse.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstphotography-1.0-0.dll b/Output/x86/gstreamer/libgstphotography-1.0-0.dll deleted file mode 100644 index 803f779d..00000000 Binary files a/Output/x86/gstreamer/libgstphotography-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstplayback.dll b/Output/x86/gstreamer/libgstplayback.dll deleted file mode 100644 index 0008c346..00000000 Binary files a/Output/x86/gstreamer/libgstplayback.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstpng.dll b/Output/x86/gstreamer/libgstpng.dll deleted file mode 100644 index 7faafb3e..00000000 Binary files a/Output/x86/gstreamer/libgstpng.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstpnm.dll b/Output/x86/gstreamer/libgstpnm.dll deleted file mode 100644 index f90b3ec3..00000000 Binary files a/Output/x86/gstreamer/libgstpnm.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstrawparse.dll b/Output/x86/gstreamer/libgstrawparse.dll deleted file mode 100644 index 4011a741..00000000 Binary files a/Output/x86/gstreamer/libgstrawparse.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstreamer-1.0-0.dll b/Output/x86/gstreamer/libgstreamer-1.0-0.dll deleted file mode 100644 index dfd18558..00000000 Binary files a/Output/x86/gstreamer/libgstreamer-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstreamersharpglue-1.0.0.dll b/Output/x86/gstreamer/libgstreamersharpglue-1.0.0.dll deleted file mode 100644 index fee8dae0..00000000 Binary files a/Output/x86/gstreamer/libgstreamersharpglue-1.0.0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstremovesilence.dll b/Output/x86/gstreamer/libgstremovesilence.dll deleted file mode 100644 index 74ea1b92..00000000 Binary files a/Output/x86/gstreamer/libgstremovesilence.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstreplaygain.dll b/Output/x86/gstreamer/libgstreplaygain.dll deleted file mode 100644 index c9e77216..00000000 Binary files a/Output/x86/gstreamer/libgstreplaygain.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstresindvd.dll b/Output/x86/gstreamer/libgstresindvd.dll deleted file mode 100644 index 49fab065..00000000 Binary files a/Output/x86/gstreamer/libgstresindvd.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstriff-1.0-0.dll b/Output/x86/gstreamer/libgstriff-1.0-0.dll deleted file mode 100644 index 67a8dde4..00000000 Binary files a/Output/x86/gstreamer/libgstriff-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstrmdemux.dll b/Output/x86/gstreamer/libgstrmdemux.dll deleted file mode 100644 index cffaa83f..00000000 Binary files a/Output/x86/gstreamer/libgstrmdemux.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstrtp-1.0-0.dll b/Output/x86/gstreamer/libgstrtp-1.0-0.dll deleted file mode 100644 index a0de60e2..00000000 Binary files a/Output/x86/gstreamer/libgstrtp-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstrtp.dll b/Output/x86/gstreamer/libgstrtp.dll deleted file mode 100644 index bad2ac0a..00000000 Binary files a/Output/x86/gstreamer/libgstrtp.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstrtpmanager.dll b/Output/x86/gstreamer/libgstrtpmanager.dll deleted file mode 100644 index 30499b6c..00000000 Binary files a/Output/x86/gstreamer/libgstrtpmanager.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstrtsp-1.0-0.dll b/Output/x86/gstreamer/libgstrtsp-1.0-0.dll deleted file mode 100644 index d1bc1db3..00000000 Binary files a/Output/x86/gstreamer/libgstrtsp-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstrtsp.dll b/Output/x86/gstreamer/libgstrtsp.dll deleted file mode 100644 index f3f6235b..00000000 Binary files a/Output/x86/gstreamer/libgstrtsp.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstscaletempoplugin.dll b/Output/x86/gstreamer/libgstscaletempoplugin.dll deleted file mode 100644 index bebc907e..00000000 Binary files a/Output/x86/gstreamer/libgstscaletempoplugin.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstschro.dll b/Output/x86/gstreamer/libgstschro.dll deleted file mode 100644 index 2fa33e7d..00000000 Binary files a/Output/x86/gstreamer/libgstschro.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstsdp-1.0-0.dll b/Output/x86/gstreamer/libgstsdp-1.0-0.dll deleted file mode 100644 index a158c2ba..00000000 Binary files a/Output/x86/gstreamer/libgstsdp-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstsdpelem.dll b/Output/x86/gstreamer/libgstsdpelem.dll deleted file mode 100644 index 5b4887fa..00000000 Binary files a/Output/x86/gstreamer/libgstsdpelem.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstsegmentclip.dll b/Output/x86/gstreamer/libgstsegmentclip.dll deleted file mode 100644 index 8dd51501..00000000 Binary files a/Output/x86/gstreamer/libgstsegmentclip.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstshapewipe.dll b/Output/x86/gstreamer/libgstshapewipe.dll deleted file mode 100644 index feee0ab2..00000000 Binary files a/Output/x86/gstreamer/libgstshapewipe.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstsiren.dll b/Output/x86/gstreamer/libgstsiren.dll deleted file mode 100644 index 9c776e17..00000000 Binary files a/Output/x86/gstreamer/libgstsiren.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstsmooth.dll b/Output/x86/gstreamer/libgstsmooth.dll deleted file mode 100644 index 1a2a0c9b..00000000 Binary files a/Output/x86/gstreamer/libgstsmooth.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstsmpte.dll b/Output/x86/gstreamer/libgstsmpte.dll deleted file mode 100644 index 01c51019..00000000 Binary files a/Output/x86/gstreamer/libgstsmpte.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstsouphttpsrc.dll b/Output/x86/gstreamer/libgstsouphttpsrc.dll deleted file mode 100644 index 66f74e35..00000000 Binary files a/Output/x86/gstreamer/libgstsouphttpsrc.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstspectrum.dll b/Output/x86/gstreamer/libgstspectrum.dll deleted file mode 100644 index 0184bcb7..00000000 Binary files a/Output/x86/gstreamer/libgstspectrum.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstspeed.dll b/Output/x86/gstreamer/libgstspeed.dll deleted file mode 100644 index 028baf54..00000000 Binary files a/Output/x86/gstreamer/libgstspeed.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstspeex.dll b/Output/x86/gstreamer/libgstspeex.dll deleted file mode 100644 index a82a92aa..00000000 Binary files a/Output/x86/gstreamer/libgstspeex.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstsubenc.dll b/Output/x86/gstreamer/libgstsubenc.dll deleted file mode 100644 index 5149e54c..00000000 Binary files a/Output/x86/gstreamer/libgstsubenc.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstsubparse.dll b/Output/x86/gstreamer/libgstsubparse.dll deleted file mode 100644 index 15e30386..00000000 Binary files a/Output/x86/gstreamer/libgstsubparse.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgsttag-1.0-0.dll b/Output/x86/gstreamer/libgsttag-1.0-0.dll deleted file mode 100644 index 03bd7db0..00000000 Binary files a/Output/x86/gstreamer/libgsttag-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgsttaglib.dll b/Output/x86/gstreamer/libgsttaglib.dll deleted file mode 100644 index d8c892c8..00000000 Binary files a/Output/x86/gstreamer/libgsttaglib.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgsttcp.dll b/Output/x86/gstreamer/libgsttcp.dll deleted file mode 100644 index 4a9a61dc..00000000 Binary files a/Output/x86/gstreamer/libgsttcp.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgsttheora.dll b/Output/x86/gstreamer/libgsttheora.dll deleted file mode 100644 index d5627b59..00000000 Binary files a/Output/x86/gstreamer/libgsttheora.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgsttypefindfunctions.dll b/Output/x86/gstreamer/libgsttypefindfunctions.dll deleted file mode 100644 index dd01f0c1..00000000 Binary files a/Output/x86/gstreamer/libgsttypefindfunctions.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstudp.dll b/Output/x86/gstreamer/libgstudp.dll deleted file mode 100644 index a35f33e9..00000000 Binary files a/Output/x86/gstreamer/libgstudp.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvideo-1.0-0.dll b/Output/x86/gstreamer/libgstvideo-1.0-0.dll deleted file mode 100644 index b09b44c4..00000000 Binary files a/Output/x86/gstreamer/libgstvideo-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvideobox.dll b/Output/x86/gstreamer/libgstvideobox.dll deleted file mode 100644 index 719a0857..00000000 Binary files a/Output/x86/gstreamer/libgstvideobox.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvideoconvert.dll b/Output/x86/gstreamer/libgstvideoconvert.dll deleted file mode 100644 index b6585297..00000000 Binary files a/Output/x86/gstreamer/libgstvideoconvert.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvideocrop.dll b/Output/x86/gstreamer/libgstvideocrop.dll deleted file mode 100644 index 222e072b..00000000 Binary files a/Output/x86/gstreamer/libgstvideocrop.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvideofilter.dll b/Output/x86/gstreamer/libgstvideofilter.dll deleted file mode 100644 index 89cca146..00000000 Binary files a/Output/x86/gstreamer/libgstvideofilter.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvideomixer.dll b/Output/x86/gstreamer/libgstvideomixer.dll deleted file mode 100644 index 349dea27..00000000 Binary files a/Output/x86/gstreamer/libgstvideomixer.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvideoparsersbad.dll b/Output/x86/gstreamer/libgstvideoparsersbad.dll deleted file mode 100644 index 1dff2865..00000000 Binary files a/Output/x86/gstreamer/libgstvideoparsersbad.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvideorate.dll b/Output/x86/gstreamer/libgstvideorate.dll deleted file mode 100644 index 7bec823c..00000000 Binary files a/Output/x86/gstreamer/libgstvideorate.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvideoscale.dll b/Output/x86/gstreamer/libgstvideoscale.dll deleted file mode 100644 index 9190d1e1..00000000 Binary files a/Output/x86/gstreamer/libgstvideoscale.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvideotestsrc.dll b/Output/x86/gstreamer/libgstvideotestsrc.dll deleted file mode 100644 index 10737d05..00000000 Binary files a/Output/x86/gstreamer/libgstvideotestsrc.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvolume.dll b/Output/x86/gstreamer/libgstvolume.dll deleted file mode 100644 index 82d486d5..00000000 Binary files a/Output/x86/gstreamer/libgstvolume.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvorbis.dll b/Output/x86/gstreamer/libgstvorbis.dll deleted file mode 100644 index fbc886d0..00000000 Binary files a/Output/x86/gstreamer/libgstvorbis.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstvpx.dll b/Output/x86/gstreamer/libgstvpx.dll deleted file mode 100644 index 2eaaef28..00000000 Binary files a/Output/x86/gstreamer/libgstvpx.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstwavenc.dll b/Output/x86/gstreamer/libgstwavenc.dll deleted file mode 100644 index 5a0eaabf..00000000 Binary files a/Output/x86/gstreamer/libgstwavenc.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstwavpack.dll b/Output/x86/gstreamer/libgstwavpack.dll deleted file mode 100644 index e176cb80..00000000 Binary files a/Output/x86/gstreamer/libgstwavpack.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstwavparse.dll b/Output/x86/gstreamer/libgstwavparse.dll deleted file mode 100644 index 92071ac7..00000000 Binary files a/Output/x86/gstreamer/libgstwavparse.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstx264.dll b/Output/x86/gstreamer/libgstx264.dll deleted file mode 100644 index eda314dd..00000000 Binary files a/Output/x86/gstreamer/libgstx264.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgstxingmux.dll b/Output/x86/gstreamer/libgstxingmux.dll deleted file mode 100644 index c93ac1f6..00000000 Binary files a/Output/x86/gstreamer/libgstxingmux.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgsty4mdec.dll b/Output/x86/gstreamer/libgsty4mdec.dll deleted file mode 100644 index 94d4ba85..00000000 Binary files a/Output/x86/gstreamer/libgsty4mdec.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgsty4menc.dll b/Output/x86/gstreamer/libgsty4menc.dll deleted file mode 100644 index a3bdd6a6..00000000 Binary files a/Output/x86/gstreamer/libgsty4menc.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libgthread-2.0-0.dll b/Output/x86/gstreamer/libgthread-2.0-0.dll deleted file mode 100644 index c4716e47..00000000 Binary files a/Output/x86/gstreamer/libgthread-2.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libhogweed-2-2.dll b/Output/x86/gstreamer/libhogweed-2-2.dll deleted file mode 100644 index 04cec47f..00000000 Binary files a/Output/x86/gstreamer/libhogweed-2-2.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libiconv-2.dll b/Output/x86/gstreamer/libiconv-2.dll deleted file mode 100644 index 98b3e824..00000000 Binary files a/Output/x86/gstreamer/libiconv-2.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libintl-8.dll b/Output/x86/gstreamer/libintl-8.dll deleted file mode 100644 index 76b00225..00000000 Binary files a/Output/x86/gstreamer/libintl-8.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libjpeg-8.dll b/Output/x86/gstreamer/libjpeg-8.dll deleted file mode 100644 index e4f52bad..00000000 Binary files a/Output/x86/gstreamer/libjpeg-8.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libkate-1.dll b/Output/x86/gstreamer/libkate-1.dll deleted file mode 100644 index e6bc08bf..00000000 Binary files a/Output/x86/gstreamer/libkate-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libmms-0.dll b/Output/x86/gstreamer/libmms-0.dll deleted file mode 100644 index 495397cc..00000000 Binary files a/Output/x86/gstreamer/libmms-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libmpeg2-0.dll b/Output/x86/gstreamer/libmpeg2-0.dll deleted file mode 100644 index 03d4d18d..00000000 Binary files a/Output/x86/gstreamer/libmpeg2-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libmpeg2convert-0.dll b/Output/x86/gstreamer/libmpeg2convert-0.dll deleted file mode 100644 index 68ffc517..00000000 Binary files a/Output/x86/gstreamer/libmpeg2convert-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libnettle-4-4.dll b/Output/x86/gstreamer/libnettle-4-4.dll deleted file mode 100644 index 5eb48dae..00000000 Binary files a/Output/x86/gstreamer/libnettle-4-4.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libogg-0.dll b/Output/x86/gstreamer/libogg-0.dll deleted file mode 100644 index e0053c58..00000000 Binary files a/Output/x86/gstreamer/libogg-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/liboggkate-1.dll b/Output/x86/gstreamer/liboggkate-1.dll deleted file mode 100644 index 3ffe1994..00000000 Binary files a/Output/x86/gstreamer/liboggkate-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libopencore-amrnb-0.dll b/Output/x86/gstreamer/libopencore-amrnb-0.dll deleted file mode 100644 index 1eef9151..00000000 Binary files a/Output/x86/gstreamer/libopencore-amrnb-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libopencore-amrwb-0.dll b/Output/x86/gstreamer/libopencore-amrwb-0.dll deleted file mode 100644 index 09f6d1c2..00000000 Binary files a/Output/x86/gstreamer/libopencore-amrwb-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libopus-0.dll b/Output/x86/gstreamer/libopus-0.dll deleted file mode 100644 index 4c37357f..00000000 Binary files a/Output/x86/gstreamer/libopus-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/liborc-0.4-0.dll b/Output/x86/gstreamer/liborc-0.4-0.dll deleted file mode 100644 index 60861bdd..00000000 Binary files a/Output/x86/gstreamer/liborc-0.4-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/liborc-test-0.4-0.dll b/Output/x86/gstreamer/liborc-test-0.4-0.dll deleted file mode 100644 index 03d611f7..00000000 Binary files a/Output/x86/gstreamer/liborc-test-0.4-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libpango-1.0-0.dll b/Output/x86/gstreamer/libpango-1.0-0.dll deleted file mode 100644 index 3bc7dbd2..00000000 Binary files a/Output/x86/gstreamer/libpango-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libpangocairo-1.0-0.dll b/Output/x86/gstreamer/libpangocairo-1.0-0.dll deleted file mode 100644 index a230677a..00000000 Binary files a/Output/x86/gstreamer/libpangocairo-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libpangoft2-1.0-0.dll b/Output/x86/gstreamer/libpangoft2-1.0-0.dll deleted file mode 100644 index 972fc2b3..00000000 Binary files a/Output/x86/gstreamer/libpangoft2-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libpangowin32-1.0-0.dll b/Output/x86/gstreamer/libpangowin32-1.0-0.dll deleted file mode 100644 index a8ca6052..00000000 Binary files a/Output/x86/gstreamer/libpangowin32-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libpixman-1-0.dll b/Output/x86/gstreamer/libpixman-1-0.dll deleted file mode 100644 index 8b0e7510..00000000 Binary files a/Output/x86/gstreamer/libpixman-1-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libpng15-15.dll b/Output/x86/gstreamer/libpng15-15.dll deleted file mode 100644 index 25b86025..00000000 Binary files a/Output/x86/gstreamer/libpng15-15.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libschroedinger-1.0-0.dll b/Output/x86/gstreamer/libschroedinger-1.0-0.dll deleted file mode 100644 index 5b550844..00000000 Binary files a/Output/x86/gstreamer/libschroedinger-1.0-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libsoup-2.4-1.dll b/Output/x86/gstreamer/libsoup-2.4-1.dll deleted file mode 100644 index 3f9d3f5b..00000000 Binary files a/Output/x86/gstreamer/libsoup-2.4-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libspeex-1.dll b/Output/x86/gstreamer/libspeex-1.dll deleted file mode 100644 index e20e3aeb..00000000 Binary files a/Output/x86/gstreamer/libspeex-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libspeexdsp-1.dll b/Output/x86/gstreamer/libspeexdsp-1.dll deleted file mode 100644 index b8c4c07f..00000000 Binary files a/Output/x86/gstreamer/libspeexdsp-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libstdc++-6.dll b/Output/x86/gstreamer/libstdc++-6.dll deleted file mode 100644 index dcd41a9d..00000000 Binary files a/Output/x86/gstreamer/libstdc++-6.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libtag.dll b/Output/x86/gstreamer/libtag.dll deleted file mode 100644 index 302fb280..00000000 Binary files a/Output/x86/gstreamer/libtag.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libtag_c.dll b/Output/x86/gstreamer/libtag_c.dll deleted file mode 100644 index f9b18a5a..00000000 Binary files a/Output/x86/gstreamer/libtag_c.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libtasn1-3.dll b/Output/x86/gstreamer/libtasn1-3.dll deleted file mode 100644 index 3efd4c60..00000000 Binary files a/Output/x86/gstreamer/libtasn1-3.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libtheora-0.dll b/Output/x86/gstreamer/libtheora-0.dll deleted file mode 100644 index 97ef40c8..00000000 Binary files a/Output/x86/gstreamer/libtheora-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libtheoradec-1.dll b/Output/x86/gstreamer/libtheoradec-1.dll deleted file mode 100644 index 7136909b..00000000 Binary files a/Output/x86/gstreamer/libtheoradec-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libtheoraenc-1.dll b/Output/x86/gstreamer/libtheoraenc-1.dll deleted file mode 100644 index 38a7187a..00000000 Binary files a/Output/x86/gstreamer/libtheoraenc-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libtiff-5.dll b/Output/x86/gstreamer/libtiff-5.dll deleted file mode 100644 index 4f64c71c..00000000 Binary files a/Output/x86/gstreamer/libtiff-5.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libvisual-0.4-0.dll b/Output/x86/gstreamer/libvisual-0.4-0.dll deleted file mode 100644 index e25b19f2..00000000 Binary files a/Output/x86/gstreamer/libvisual-0.4-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libvorbis-0.dll b/Output/x86/gstreamer/libvorbis-0.dll deleted file mode 100644 index dc0bed93..00000000 Binary files a/Output/x86/gstreamer/libvorbis-0.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libvorbisenc-2.dll b/Output/x86/gstreamer/libvorbisenc-2.dll deleted file mode 100644 index 695beb90..00000000 Binary files a/Output/x86/gstreamer/libvorbisenc-2.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libvorbisfile-3.dll b/Output/x86/gstreamer/libvorbisfile-3.dll deleted file mode 100644 index eae3fda5..00000000 Binary files a/Output/x86/gstreamer/libvorbisfile-3.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libwavpack-1.dll b/Output/x86/gstreamer/libwavpack-1.dll deleted file mode 100644 index 7f5ece56..00000000 Binary files a/Output/x86/gstreamer/libwavpack-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libwinpthread-1.dll b/Output/x86/gstreamer/libwinpthread-1.dll deleted file mode 100644 index e27a40c6..00000000 Binary files a/Output/x86/gstreamer/libwinpthread-1.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libx264-125.dll b/Output/x86/gstreamer/libx264-125.dll deleted file mode 100644 index caf83228..00000000 Binary files a/Output/x86/gstreamer/libx264-125.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libxml2-2.dll b/Output/x86/gstreamer/libxml2-2.dll deleted file mode 100644 index 70e68238..00000000 Binary files a/Output/x86/gstreamer/libxml2-2.dll and /dev/null differ diff --git a/Output/x86/gstreamer/libz.dll b/Output/x86/gstreamer/libz.dll deleted file mode 100644 index 49dd02aa..00000000 Binary files a/Output/x86/gstreamer/libz.dll and /dev/null differ diff --git a/Output/x86/libgstreamersharpglue-1.0.0.dll b/Output/x86/libgstreamersharpglue-1.0.0.dll new file mode 100644 index 00000000..37ddbf48 Binary files /dev/null and b/Output/x86/libgstreamersharpglue-1.0.0.dll differ diff --git a/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs b/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs index c6f0d619..623681b6 100644 --- a/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs +++ b/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs @@ -457,7 +457,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley public override void LeavingHighscore() { - for (int i = 0; i < CBase.Game.GetNumSongs();i++ ) + for (int i = 0; i < CBase.Game.GetNumSongs(); i++) CBase.Songs.AddPartySongSung(CBase.Game.GetSong(i).ID); _GameData.CurrentRoundNr++; CBase.Graphics.FadeTo(EScreens.ScreenPartyDummy); @@ -588,12 +588,6 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley { CProfile[] profiles = CBase.Profiles.GetProfiles(); - if (profiles == null) - { - _ScreenSongOptions.Selection.TeamNames = new string[] {"foo", "bar"}; - return; - } - if (_GameData.NumPlayerAtOnce < 1 || _GameData.ProfileIDs.Count < _GameData.NumPlayerAtOnce || profiles.Length < _GameData.NumPlayerAtOnce) { _ScreenSongOptions.Selection.TeamNames = new string[] {"foo", "bar"}; diff --git a/Vocaluxe/Base/CBackgroundMusic.cs b/Vocaluxe/Base/CBackgroundMusic.cs index d34d5432..396eda6d 100644 --- a/Vocaluxe/Base/CBackgroundMusic.cs +++ b/Vocaluxe/Base/CBackgroundMusic.cs @@ -52,25 +52,26 @@ namespace Vocaluxe.Base public static bool VideoEnabled { get { return _PlaysPreview ? _PreviewPlayer.VideoEnabled : _SongPlayer.VideoEnabled; } - set { - if(_PlaysPreview) + set + { + if (_PlaysPreview) _PreviewPlayer.VideoEnabled = value; - else + else _SongPlayer.VideoEnabled = value; } } - public static bool CanSing - { - get + public static bool CanSing + { + get { if (_PlaysPreview) return false; + else if (_BGMusicFiles.Contains(_CurrentPlaylistElement)) + return false; else - if (_BGMusicFiles.Contains(_CurrentPlaylistElement)) - return false; - else return true; - } + return true; + } } public static bool Disabled @@ -85,7 +86,8 @@ namespace Vocaluxe.Base } } - public static bool RepeatSong { + public static bool RepeatSong + { get { return _SongPlayer.RepeatSong; } set { _SongPlayer.RepeatSong = value; } } @@ -100,13 +102,20 @@ namespace Vocaluxe.Base get { return _SongPlayer.SongHasVideo; } } - public static bool IsPlaying { get { return _PlaysPreview ? _PreviewPlayer.IsPlaying : _SongPlayer.IsPlaying; } } + public static bool IsPlaying + { + get { return _PlaysPreview ? _PreviewPlayer.IsPlaying : _SongPlayer.IsPlaying; } + } - public static bool IsPlayingPreview { get { return _PlaysPreview; } } + public static bool IsPlayingPreview + { + get { return _PlaysPreview; } + } public static string ArtistAndTitle { - get { + get + { if (_PlaysPreview) return _PreviewPlayer.ArtistAndTitle; else @@ -119,7 +128,7 @@ namespace Vocaluxe.Base get { return _PlaysPreview ? _PreviewPlayer.Length : _SongPlayer.Length; } } - public static CTexture Cover + public static CTextureRef Cover { get { return _PlaysPreview ? _PreviewPlayer.Cover : _SongPlayer.Cover; } } @@ -184,12 +193,14 @@ namespace Vocaluxe.Base if (_PlaysPreview) _PreviewPlayer.Play(); - else if(CConfig.BackgroundMusic == EBackgroundMusicOffOn.TR_CONFIG_OFF) + else if (CConfig.BackgroundMusic == EBackgroundMusicOffOn.TR_CONFIG_OFF) + { if (_SongPlayer.SongLoaded) //Resume _SongPlayer.TogglePause(); else Next(); + } } public static void Stop() @@ -278,7 +289,7 @@ namespace Vocaluxe.Base public static void Update() { - if (!IsPlaying && (!_SongPlayer.SongLoaded || !_PreviewPlayer.SongLoaded) ) + if (!IsPlaying && (!_SongPlayer.SongLoaded || !_PreviewPlayer.SongLoaded)) return; if (_PlaysPreview) @@ -291,7 +302,7 @@ namespace Vocaluxe.Base } } - public static CTexture GetVideoTexture() + public static CTextureRef GetVideoTexture() { return _PlaysPreview ? _PreviewPlayer.GetVideoTexture() : _SongPlayer.GetVideoTexture(); } @@ -439,6 +450,5 @@ namespace Vocaluxe.Base { return _BGMusicFiles.Contains(element); } - } } \ No newline at end of file diff --git a/Vocaluxe/Base/CConfig.cs b/Vocaluxe/Base/CConfig.cs index 5b42d5aa..12d913a0 100644 --- a/Vocaluxe/Base/CConfig.cs +++ b/Vocaluxe/Base/CConfig.cs @@ -72,6 +72,8 @@ namespace Vocaluxe.Base public static int BorderTop; public static int BorderBottom; + public static EGeneralAlignment ScreenAlignment = EGeneralAlignment.Middle; + public static EAntiAliasingModes AAMode = EAntiAliasingModes.X0; public static EOffOn VSync = EOffOn.TR_CONFIG_ON; @@ -91,6 +93,7 @@ namespace Vocaluxe.Base public static EFadePlayerInfo FadePlayerInfo = EFadePlayerInfo.TR_CONFIG_FADEPLAYERINFO_OFF; public static ECoverLoading CoverLoading = ECoverLoading.TR_CONFIG_COVERLOADING_DYNAMIC; public static ELyricStyle LyricStyle = ELyricStyle.Slide; + public static bool LoadOldThemeFiles = false; // Sound public static EPlaybackLib PlayBackLib = EPlaybackLib.GstreamerSharp; @@ -225,6 +228,8 @@ namespace Vocaluxe.Base xmlReader.TryGetIntValue("//root/Graphics/ScreenW", ref ScreenW); xmlReader.TryGetIntValue("//root/Graphics/ScreenH", ref ScreenH); + xmlReader.TryGetEnumValue("//root/Graphics/ScreenAlignment", ref ScreenAlignment); + xmlReader.TryGetIntValue("//root/Graphics/BorderLeft", ref BorderLeft); xmlReader.TryGetIntValue("//root/Graphics/BorderRight", ref BorderRight); xmlReader.TryGetIntValue("//root/Graphics/BorderTop", ref BorderTop); @@ -403,6 +408,8 @@ namespace Vocaluxe.Base writer.WriteElementString("ScreenW", ScreenW.ToString()); writer.WriteElementString("ScreenH", ScreenH.ToString()); + writer.WriteElementString("ScreenAlignment", Enum.GetName(typeof(EGeneralAlignment), ScreenAlignment)); + writer.WriteComment("Screen borders (pixels)"); writer.WriteElementString("BorderLeft", BorderLeft.ToString()); writer.WriteElementString("BorderRight", BorderRight.ToString()); @@ -831,6 +838,11 @@ namespace Vocaluxe.Base ProfileFolders.Clear(); ProfileFolders.Add(value); break; + + case "oldtheme": + if(value == "yes") + LoadOldThemeFiles = true; + break; } } } @@ -888,7 +900,7 @@ namespace Vocaluxe.Base for (int j = 0; j < CSettings.MaxNumPlayer; j++) { CGame.Players[j].ProfileID = -1; - if (Players[j] == "" || profiles == null) + if (Players[j] == "") continue; foreach (CProfile profile in profiles) diff --git a/Vocaluxe/Base/CCover.cs b/Vocaluxe/Base/CCover.cs index 177444d8..8e589265 100644 --- a/Vocaluxe/Base/CCover.cs +++ b/Vocaluxe/Base/CCover.cs @@ -36,11 +36,11 @@ namespace Vocaluxe.Base private const string _NoCoverName = "No Cover"; private const string _NoCoverNameAlt = "NoCover"; private const string _DefaultTypeName = "Default"; - private static readonly Dictionary _Covers = new Dictionary(); + private static readonly Dictionary _Covers = new Dictionary(); private static readonly Dictionary _NoCoverThemes = new Dictionary(); private static readonly List _CoverThemes = new List(); - public static CTexture NoCover { get; private set; } + public static CTextureRef NoCover { get; private set; } public static void Init() { @@ -86,7 +86,7 @@ namespace Vocaluxe.Base /// /// Returns a STexture for a given cover name. Returns "NoCover" if the cover does not exist. /// - public static CTexture Cover(string name) + public static CTextureRef Cover(string name) { lock (_Covers) { @@ -97,10 +97,10 @@ namespace Vocaluxe.Base } } - public static CTexture GenerateCover(string text, ESongSorting sorting, CCategory category) + public static CTextureRef GenerateCover(string text, ESongSorting sorting, CCategory category) { CSong firstSong = category.GetSong(0); - CTexture cover = _NoCoverThemes[_SongSortingToType(sorting)].GetCover(text, firstSong != null ? Path.Combine(firstSong.Folder, firstSong.CoverFileName) : null); + CTextureRef cover = _NoCoverThemes[_SongSortingToType(sorting)].GetCover(text, firstSong != null ? Path.Combine(firstSong.Folder, firstSong.CoverFileName) : null); if (cover == null) cover = _NoCoverThemes[_DefaultTypeName].GetCover(text, firstSong != null ? Path.Combine(firstSong.Folder, firstSong.CoverFileName) : null); if (cover == null) @@ -139,7 +139,7 @@ namespace Vocaluxe.Base { foreach (string key in _Covers.Keys) { - CTexture texture = _Covers[key]; + CTextureRef texture = _Covers[key]; CDraw.RemoveTexture(ref texture); } _Covers.Clear(); diff --git a/Vocaluxe/Base/CCursor.cs b/Vocaluxe/Base/CCursor.cs index 46a6e2b1..01ede32b 100644 --- a/Vocaluxe/Base/CCursor.cs +++ b/Vocaluxe/Base/CCursor.cs @@ -27,7 +27,7 @@ namespace Vocaluxe.Base { private int _MouseMoveDiffMin = CSettings.MouseMoveDiffMinActive; private CFading _Fading; - private CTexture _Cursor; + private CTextureRef _Cursor; private Point _LastDiffPos; private readonly Stopwatch _Movetimer = new Stopwatch(); diff --git a/Vocaluxe/Base/CDataBase.cs b/Vocaluxe/Base/CDataBase.cs index 6297433e..a3e6397d 100644 --- a/Vocaluxe/Base/CDataBase.cs +++ b/Vocaluxe/Base/CDataBase.cs @@ -93,7 +93,7 @@ namespace Vocaluxe.Base _HighscoreDB.IncreaseSongCounter(dataBaseSongID); } - public static bool GetCover(string fileName, ref CTexture tex, int maxSize) + public static bool GetCover(string fileName, ref CTextureRef tex, int maxSize) { return _CoverDB.GetCover(fileName, ref tex, maxSize); } @@ -103,7 +103,7 @@ namespace Vocaluxe.Base _CoverDB.CommitCovers(); } - public static bool GetCreditsRessource(string fileName, ref CTexture tex) + public static bool GetCreditsRessource(string fileName, ref CTextureRef tex) { return _ResourceDB.GetCreditsRessource(fileName, ref tex); } diff --git a/Vocaluxe/Base/CDraw.cs b/Vocaluxe/Base/CDraw.cs index f109645b..4a9d50e6 100644 --- a/Vocaluxe/Base/CDraw.cs +++ b/Vocaluxe/Base/CDraw.cs @@ -20,7 +20,6 @@ using System.Drawing; using Vocaluxe.Lib.Draw; using VocaluxeLib; using VocaluxeLib.Draw; -using VocaluxeLib.Menu; namespace Vocaluxe.Base { @@ -28,6 +27,10 @@ namespace Vocaluxe.Base { private static IDraw _Draw; + /// + /// Initializes the Driver selected in the config + /// + /// public static bool Init() { if (_Draw != null) @@ -74,12 +77,20 @@ namespace Vocaluxe.Base return _Draw.Init(); } + /// + /// Has to be called to start rendering
+ /// Will only return if program is closed
+ /// Also inits the first screen + ///
public static void MainLoop() { CGraphics.InitFirstScreen(); _Draw.MainLoop(); } + /// + /// Unloads the current driver, e.g. to switch to another one + /// public static void Unload() { if (_Draw != null) @@ -89,143 +100,302 @@ namespace Vocaluxe.Base } } + /// + /// Gets the width of the rendering area + /// + /// public static int GetScreenWidth() { return _Draw.GetScreenWidth(); } + /// + /// Gets the height of the rendering area + /// + /// public static int GetScreenHeight() { return _Draw.GetScreenHeight(); } - public static void DrawLine(int a, int r, int g, int b, int w, int x1, int y1, int x2, int y2) - { - _Draw.DrawLine(a, r, g, b, w, x1, y1, x2, y2); - } - - public static void DrawRect(SColorF color, SRectF rect, float thickness) - { - if (thickness <= 0f) - return; - - _Draw.DrawColor(color, new SRectF(rect.X - thickness / 2, rect.Y - thickness / 2, rect.W + thickness, thickness, rect.Z)); - _Draw.DrawColor(color, new SRectF(rect.X - thickness / 2, rect.Y + rect.H - thickness / 2, rect.W + thickness, thickness, rect.Z)); - _Draw.DrawColor(color, new SRectF(rect.X - thickness / 2, rect.Y - thickness / 2, thickness, rect.H + thickness, rect.Z)); - _Draw.DrawColor(color, new SRectF(rect.X + rect.W - thickness / 2, rect.Y - thickness / 2, thickness, rect.H + thickness, rect.Z)); - } - - public static void DrawColor(SColorF color, SRectF rect) - { - _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(); - } - - public static CTexture CopyScreen() - { - return _Draw.CopyScreen(); - } - - public static void CopyScreen(ref CTexture texture) - { - _Draw.CopyScreen(ref texture); - } - + /// + /// Takes a screenshot and saves it to the Screenshot folder + /// public static void MakeScreenShot() { _Draw.MakeScreenShot(); } - public static CTexture AddTexture(Bitmap bitmap) + /// + /// Gets the current screen content as a texture + /// + /// + public static CTextureRef CopyScreen() + { + return _Draw.CopyScreen(); + } + + /// + /// Gets the current screen content updating the given texture + /// + /// + public static void CopyScreen(ref CTextureRef texture) + { + _Draw.CopyScreen(ref texture); + } + + /// + /// Adds a texture from a Bitmap and returns a reference to it
+ /// Must be called from main thread! + ///
+ /// + /// Reference to texture + public static CTextureRef AddTexture(Bitmap bitmap) { return _Draw.AddTexture(bitmap); } - public static CTexture AddTexture(string texturePath) + /// + /// Adds a texture from an image file given by its file path
+ /// Must be called from main thread! + ///
+ /// + /// Reference to texture or null on error + public static CTextureRef AddTexture(string texturePath) { return _Draw.AddTexture(texturePath); } - public static CTexture AddTexture(int w, int h, byte[] data) + /// + /// Adds a texture from a byte array
+ /// Must be called from main thread! + ///
+ /// Width of the image + /// Height of the image + /// Array of 4 byte values for each pixel + /// Reference to texture + public static CTextureRef AddTexture(int w, int h, byte[] data) { return _Draw.AddTexture(w, h, data); } - public static CTexture EnqueueTexture(int w, int h, byte[] data) + /// + /// Requests aadding a texture from a byte array
+ /// Use this if you add textures from another thread or don't need it immediatelly + ///
+ /// Width of the image + /// Height of the image + /// Array of 4 byte values for each pixel + /// Reference to texture + public static CTextureRef EnqueueTexture(int w, int h, byte[] data) { return _Draw.EnqueueTexture(w, h, data); } - public static bool UpdateTexture(CTexture texture, int w, int h, byte[] data) + /// + /// Requests adding a texture from a bitmap
+ /// Use this if you add textures from another thread or don't need it immediatelly + ///
+ /// Bitmap to add, gets disposed after adding! + /// Reference to texture + public static CTextureRef EnqueueTexture(Bitmap bmp) { - return _Draw.UpdateTexture(texture, w, h, data); + return _Draw.EnqueueTexture(bmp); } - public static bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data) + /// + /// Requests adding a texture from a file
+ /// Use this if you add textures from another thread or don't need it immediatelly + ///
+ /// Full path to the image file + /// Reference to texture + public static CTextureRef EnqueueTexture(String texturePath) { - return _Draw.UpdateOrAddTexture(ref texture, w, h, data); + return _Draw.EnqueueTexture(texturePath); } - public static void RemoveTexture(ref CTexture texture) + /// + /// Requests updating a texture from a bitmap
+ /// Use this if you add textures from another thread or don't need it immediatelly + ///
+ /// Reference to the texture to update + /// + public static void EnqueueTextureUpdate(CTextureRef textureRef, Bitmap bmp) { - _Draw.RemoveTexture(ref texture); + _Draw.EnqueueTextureUpdate(textureRef, bmp); } - public static void DrawTexture(CTexture texture) + /// + /// Creates a copy of the texture
+ /// Updates to the copy do not affect the original texture + ///
+ /// Original texture reference + /// New texture reference of the copy + public static CTextureRef CopyTexture(CTextureRef textureRef) { - _Draw.DrawTexture(texture); + return _Draw.CopyTexture(textureRef); } - public static void DrawTexture(CTexture texture, SRectF rect) + /// + /// Updates a texture, filling it with the new data + /// + /// + /// Width of the image + /// Height of the image + /// Array of 4 byte values for each pixel + public static void UpdateTexture(CTextureRef textureRef, int w, int h, byte[] data) { - _Draw.DrawTexture(texture, rect); + _Draw.UpdateTexture(textureRef, w, h, data); } - public static void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false) + /// + /// Updates a texture, filling it with the new data from the bitmap + /// + /// + /// + public static void UpdateTexture(CTextureRef textureRef, Bitmap bmp) { - _Draw.DrawTexture(texture, rect, color, mirrored); + _Draw.UpdateTexture(textureRef, bmp); } - public static void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false) + /// + /// Removes a texture from the VRAM and sets it to null to avoid accidential usage
+ /// Note: You can also use its Dispose method to do the same as this gets automaticly called from the Dispose method and destructor of a texture reference + ///
+ /// + public static void RemoveTexture(ref CTextureRef texture) { - _Draw.DrawTexture(texture, rect, color, bounds, mirrored); - } - - public static void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end) - { - _Draw.DrawTexture(texture, rect, color, begin, end); - } - - public static void DrawTexture(CStatic staticBounds, CTexture texture, EAspect aspect) - { - if (texture == null) - return; - - var bounds = new RectangleF(staticBounds.Rect.X, staticBounds.Rect.Y, staticBounds.Rect.W, staticBounds.Rect.H); - RectangleF rect; - - CHelper.SetRect(bounds, out rect, texture.OrigAspect, aspect); - DrawTexture(texture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, staticBounds.Rect.Z), - texture.Color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f)); - } - - public static void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height) - { - _Draw.DrawTextureReflection(texture, rect, color, bounds, space, height); + // Disposed textures call this, possibly at program end! + if (_Draw != null) + _Draw.RemoveTexture(ref texture); } + /// + /// Returns the number of textures in the VRAM (textures might get reused so this might not be the actual number of textures in use) + /// + /// public static int TextureCount() { return _Draw.GetTextureCount(); } + + /// + /// Draws a simple (filled) rectangle with the given color + /// + /// + /// + public static void DrawRect(SColorF color, SRectF rect) + { + _Draw.DrawRect(color, rect); + } + + /// + /// Draws the reflection of a filled rectangle with the given color + /// + /// + /// (Original) rectangle to draw the reflection for + /// Spacing between the rect and the reflection + /// Height of the reflection + public static void DrawRectReflection(SColorF color, SRectF rect, float space, float height) + { + _Draw.DrawRectReflection(color, rect, space, height); + } + + /// + /// Draws a texture at its position and with its color + /// + /// The texture to be drawn + public static void DrawTexture(CTextureRef texture) + { + DrawTexture(texture, texture.Rect); + } + + /// + /// Draws a texture with its color at the given position + /// + /// The texture to be drawn + /// A rectangle with the destination coordinates + public static void DrawTexture(CTextureRef textureRef, SRectF rect) + { + DrawTexture(textureRef, rect, textureRef.Color); + } + + /// + /// Draws a texture at the given position with the given color + /// + /// + /// + /// + /// True to mirror the texture on the y axis + public static void DrawTexture(CTextureRef textureRef, SRectF rect, SColorF color, bool mirrored = false) + { + _Draw.DrawTexture(textureRef, rect, color, mirrored); + } + + /// + /// Draws a texture at the given position with the given color + /// + /// + /// + /// + /// Bounds to draw the texture in (rest gets cropped off) + /// True to mirror the texture on the y axis + public static void DrawTexture(CTextureRef textureRef, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false) + { + _Draw.DrawTexture(textureRef, rect, color, bounds, mirrored); + } + + /// + /// Draws a part of a texture at the given position with the given color + /// + /// + /// + /// + /// Normalized start x-coordinate (0..1) + /// Normalized end x-coordinate (0..1) + public static void DrawTexture(CTextureRef textureRef, SRectF rect, SColorF color, float begin, float end) + { + _Draw.DrawTexture(textureRef, rect, color, begin, end); + } + + /// + /// Draws a texture fitting it within the given bounds with the method specified by aspect + /// + /// + /// Where to draw the texture + /// How to fit a texture in the bounds if the size differs + public static void DrawTexture(CTextureRef textureRef, SRectF bounds, EAspect aspect) + { + DrawTexture(textureRef, bounds, aspect, textureRef.Color); + } + + /// + /// Draws a texture fitting it within the given color and bounds with the method specified by aspect + /// + /// + /// Where to draw the texture + /// How to fit a texture in the bounds if the size differs + /// Color to use + public static void DrawTexture(CTextureRef textureRef, SRectF bounds, EAspect aspect, SColorF color) + { + if (textureRef == null) + return; + + SRectF rect = CHelper.FitInBounds(bounds, textureRef.OrigAspect, aspect); + DrawTexture(textureRef, rect, color); + } + + /// + /// Draws the reflection of a texture at the given position and with the given color + /// + /// + /// (Original) rectangle to draw the reflection for + /// + /// Spacing between the rect and the reflection + /// Height of the reflection + public static void DrawTextureReflection(CTextureRef textureRef, SRectF rect, SColorF color, float space, float height) + { + _Draw.DrawTextureReflection(textureRef, rect, color, space, height); + } } } \ No newline at end of file diff --git a/Vocaluxe/Base/CGraphics.cs b/Vocaluxe/Base/CGraphics.cs index d73274a1..6ec89672 100644 --- a/Vocaluxe/Base/CGraphics.cs +++ b/Vocaluxe/Base/CGraphics.cs @@ -20,6 +20,8 @@ using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; +using System.IO; +using System.Xml.Serialization; using Vocaluxe.Base.Fonts; using Vocaluxe.Screens; using VocaluxeLib; @@ -160,11 +162,18 @@ namespace Vocaluxe.Base public static void SaveTheme() { CTheme.SaveTheme(); - foreach (IMenu screen in _Screens) + foreach (CMenu screen in _Screens) + { + if (screen.ThemePath == null || screen.ThemeName == "ScreenTest") + continue; + screen.SaveTheme(); + } foreach (IMenu popup in _PopupScreens) popup.SaveTheme(); + + CParty.SaveThemes(); } public static void InitFirstScreen() @@ -187,9 +196,6 @@ namespace Vocaluxe.Base CController.Update(); CProfiles.Update(); - if (CConfig.CoverLoading == ECoverLoading.TR_CONFIG_COVERLOADING_DYNAMIC && _CurrentScreen != EScreens.ScreenSing) - CSongs.LoadCover(); - if (CSettings.ProgramState != EProgramState.EditTheme) { run &= _HandleInputs(keys, mouse); @@ -353,32 +359,55 @@ namespace Vocaluxe.Base if (!eventsAvailable) keyEvent = inputKeyEvent; - if (keyEvent.IsArrowKey() || keyEvent.Key == Keys.NumPad0 || keyEvent.Key == Keys.D0) + if (keyEvent.IsArrowKey() || keyEvent.Key == Keys.NumPad0 || keyEvent.Key == Keys.D0 || keyEvent.Key == Keys.Add) { _Cursor.Deactivate(); - if (keyEvent.ModAlt && keyEvent.ModCtrl && keyEvent.ModShift) + if (keyEvent.ModAlt && keyEvent.ModCtrl) { switch (keyEvent.Key) { - case Keys.Left: - CConfig.BorderLeft -= 1; - CConfig.BorderRight -= 1; - CConfig.BorderTop -= 1; - CConfig.BorderBottom -= 1; - break; case Keys.Right: - CConfig.BorderLeft += 1; - CConfig.BorderRight += 1; - CConfig.BorderTop += 1; - CConfig.BorderBottom += 1; + if (keyEvent.ModShift) + CConfig.BorderLeft++; + else + CConfig.BorderRight--; + break; + case Keys.Left: + if (keyEvent.ModShift) + CConfig.BorderLeft--; + else + CConfig.BorderRight++; + break; + case Keys.Down: + if (keyEvent.ModShift) + CConfig.BorderTop++; + else + CConfig.BorderBottom--; + break; + case Keys.Up: + if (keyEvent.ModShift) + CConfig.BorderTop--; + else + CConfig.BorderBottom++; break; case Keys.D0: case Keys.NumPad0: - CConfig.BorderLeft = 0; - CConfig.BorderRight = 0; - CConfig.BorderTop = 0; - CConfig.BorderBottom = 0; + CConfig.BorderLeft = CConfig.BorderRight = CConfig.BorderTop = CConfig.BorderBottom = 0; + break; + case Keys.Add: + switch (CConfig.ScreenAlignment) + { + case EGeneralAlignment.Middle: + CConfig.ScreenAlignment = EGeneralAlignment.End; + break; + case EGeneralAlignment.End: + CConfig.ScreenAlignment = EGeneralAlignment.Start; + break; + default: + CConfig.ScreenAlignment = EGeneralAlignment.Middle; + break; + } break; } CConfig.SaveConfig(); @@ -636,7 +665,7 @@ namespace Vocaluxe.Base { float textWidth = CFonts.GetTextWidth(txt, font); RectangleF rect = new RectangleF(CSettings.RenderW - textWidth, y, textWidth, CFonts.GetTextHeight(txt,font)); - CDraw.DrawColor(gray, new SRectF(rect.X, rect.Top, rect.Width, rect.Height, CSettings.ZNear)); + CDraw.DrawRect(gray, new SRectF(rect.X, rect.Top, rect.Width, rect.Height, CSettings.ZNear)); CFonts.DrawText(txt, font, rect.X, rect.Y, CSettings.ZNear); y += rect.Height; } diff --git a/Vocaluxe/Base/CMain.cs b/Vocaluxe/Base/CMain.cs index 919afea7..36fa3aa5 100644 --- a/Vocaluxe/Base/CMain.cs +++ b/Vocaluxe/Base/CMain.cs @@ -155,6 +155,11 @@ namespace Vocaluxe.Base { return CConfig.XMLSettings; } + + public bool GetLoadOldThemeFiles() + { + return CConfig.LoadOldThemeFiles; + } } class CBsettings : ISettings @@ -267,12 +272,12 @@ namespace Vocaluxe.Base return CTheme.GetSkinIndex(partyModeID); } - public CTexture GetSkinTexture(string textureName, int partyModeID) + public CTextureRef GetSkinTexture(string textureName, int partyModeID) { return CTheme.GetSkinTexture(textureName, partyModeID); } - public CTexture GetSkinVideoTexture(string videoName, int partyModeID) + public CTextureRef GetSkinVideoTexture(string videoName, int partyModeID) { return CTheme.GetSkinVideoTexture(videoName, partyModeID); } @@ -400,7 +405,7 @@ namespace Vocaluxe.Base CBackgroundMusic.StopPreview(); } - public CTexture GetVideoTexture() + public CTextureRef GetVideoTexture() { return CBackgroundMusic.GetVideoTexture(); } @@ -408,44 +413,54 @@ namespace Vocaluxe.Base class CBdraw : IDrawing { - public void DrawTexture(CTexture texture, SRectF rect) + public void DrawTexture(CTextureRef texture, SRectF rect) { CDraw.DrawTexture(texture, rect); } - public void DrawTexture(CTexture texture, SRectF rect, SColorF color) + public void DrawTexture(CTextureRef texture, SRectF rect, SColorF color) { CDraw.DrawTexture(texture, rect, color); } - public void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false) + public void DrawTexture(CTextureRef texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false) { CDraw.DrawTexture(texture, rect, color, bounds, mirrored); } - public void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float reflectionSpace, float reflectionHeight) + public void DrawTexture(CTextureRef textureRef, SRectF bounds, EAspect aspect) { - CDraw.DrawTextureReflection(texture, rect, color, bounds, reflectionSpace, reflectionHeight); + CDraw.DrawTexture(textureRef, bounds, aspect); } - public CTexture AddTexture(string fileName) + public void DrawTexture(CTextureRef textureRef, SRectF bounds, EAspect aspect, SColorF color) + { + CDraw.DrawTexture(textureRef, bounds, aspect, color); + } + + public void DrawTextureReflection(CTextureRef texture, SRectF rect, SColorF color, float reflectionSpace, float reflectionHeight) + { + CDraw.DrawTextureReflection(texture, rect, color, reflectionSpace, reflectionHeight); + } + + public CTextureRef AddTexture(string fileName) { return CDraw.AddTexture(fileName); } - public void RemoveTexture(ref CTexture texture) + public void RemoveTexture(ref CTextureRef texture) { CDraw.RemoveTexture(ref texture); } - public void DrawColor(SColorF color, SRectF rect) + public void DrawRect(SColorF color, SRectF rect) { - CDraw.DrawColor(color, rect); + CDraw.DrawRect(color, rect); } - public void DrawColorReflection(SColorF color, SRectF rect, float space, float height) + public void DrawRectReflection(SColorF color, SRectF rect, float space, float height) { - CDraw.DrawColorReflection(color, rect, space, height); + CDraw.DrawRectReflection(color, rect, space, height); } } @@ -636,7 +651,7 @@ namespace Vocaluxe.Base return CProfiles.GetPlayerName(profileID, playerNum); } - public CTexture GetAvatar(int profileID) + public CTextureRef GetAvatar(int profileID) { return CProfiles.GetAvatarTextureFromProfile(profileID); } @@ -795,7 +810,7 @@ namespace Vocaluxe.Base return CVideo.Skip(videoStream, startPosition, videoGap); } - public bool GetFrame(int videoStream, ref CTexture videoTexture, float time, out float videoTime) + public bool GetFrame(int videoStream, ref CTextureRef videoTexture, float time, out float videoTime) { return CVideo.GetFrame(videoStream, ref videoTexture, time, out videoTime); } @@ -876,7 +891,7 @@ namespace Vocaluxe.Base class CBcover : ICover { - public CTexture GetNoCover() + public CTextureRef GetNoCover() { return CCover.NoCover; } @@ -884,7 +899,7 @@ namespace Vocaluxe.Base class CBdataBase : IDataBase { - public bool GetCover(string fileName, ref CTexture texture, int coverSize) + public bool GetCover(string fileName, ref CTextureRef texture, int coverSize) { return CDataBase.GetCover(fileName, ref texture, coverSize); } diff --git a/Vocaluxe/Base/CParty.cs b/Vocaluxe/Base/CParty.cs index 22bc3b33..469e8af9 100644 --- a/Vocaluxe/Base/CParty.cs +++ b/Vocaluxe/Base/CParty.cs @@ -93,6 +93,13 @@ namespace Vocaluxe.Base get { return _PartyModes.Count; } } + public static void SaveThemes() + { + foreach (KeyValuePair pair in _PartyModes) + pair.Value.PartyMode.SaveScreens(); + } + + public static List GetPartyModeInfos() { var infos = new List(); diff --git a/Vocaluxe/Base/CPlaylistElement.cs b/Vocaluxe/Base/CPlaylistElement.cs index 3b6588de..eec209c1 100644 --- a/Vocaluxe/Base/CPlaylistElement.cs +++ b/Vocaluxe/Base/CPlaylistElement.cs @@ -61,7 +61,7 @@ namespace Vocaluxe.Base get { return _Song != null ? _Song.Finish : 0f; } } - public CTexture Cover + public CTextureRef Cover { get { return _Song != null ? _Song.CoverTextureSmall : CCover.NoCover; } } diff --git a/Vocaluxe/Base/CProfiles.cs b/Vocaluxe/Base/CProfiles.cs index 8c5c9887..8cc7d8b5 100644 --- a/Vocaluxe/Base/CProfiles.cs +++ b/Vocaluxe/Base/CProfiles.cs @@ -297,7 +297,7 @@ namespace Vocaluxe.Base public static CProfile[] GetProfiles() { if (_Profiles.Count == 0) - return null; + return new CProfile[0]; var list = new List(_Profiles.Values); list.Sort(_CompareByPlayerName); @@ -504,7 +504,7 @@ namespace Vocaluxe.Base #endregion profile properties #region avatar texture - public static CTexture GetAvatarTexture(int avatarID) + public static CTextureRef GetAvatarTexture(int avatarID) { if (!IsAvatarIDValid(avatarID)) return null; @@ -512,7 +512,7 @@ namespace Vocaluxe.Base return _Avatars[avatarID].Texture; } - public static CTexture GetAvatarTextureFromProfile(int profileID) + public static CTextureRef GetAvatarTextureFromProfile(int profileID) { if (!IsProfileIDValid(profileID) || _Profiles[profileID].Avatar == null) return null; diff --git a/Vocaluxe/Base/CSongs.cs b/Vocaluxe/Base/CSongs.cs index 2bf74681..2216f63b 100644 --- a/Vocaluxe/Base/CSongs.cs +++ b/Vocaluxe/Base/CSongs.cs @@ -21,6 +21,7 @@ using System.Collections.ObjectModel; using System.Linq; using System.Threading; using System.IO; +using System.Threading.Tasks; using VocaluxeLib; using VocaluxeLib.Songs; @@ -134,23 +135,13 @@ namespace Vocaluxe.Base Category--; } - public static int GetNextSongWithoutCover(ref CSong song) + private static int _NumSongsWithCoverLoaded; + public static int NumSongsWithCoverLoaded { - if (!SongsLoaded) - return -1; - - if (NumSongsWithCoverLoaded < _Songs.Count) - { - song = _Songs[NumSongsWithCoverLoaded]; - NumSongsWithCoverLoaded++; - return NumSongsWithCoverLoaded; - } - - return -2; + get { return _NumSongsWithCoverLoaded; } + private set { _NumSongsWithCoverLoaded = value; } } - public static int NumSongsWithCoverLoaded { get; private set; } - public static string GetCurrentCategoryName() { return _IsCatIndexValid(_CatIndex) ? Categories[_CatIndex].Name : ""; @@ -371,59 +362,50 @@ namespace Vocaluxe.Base Category = -1; SongsLoaded = true; - if (CConfig.CoverLoading == ECoverLoading.TR_CONFIG_COVERLOADING_ATSTART) + switch (CConfig.CoverLoading) { - CLog.StartBenchmark("Load Covers/Notes"); - _LoadCover(); - CLog.StopBenchmark("Load Covers/Notes"); + case ECoverLoading.TR_CONFIG_COVERLOADING_ATSTART: + _LoadCovers(); + break; + case ECoverLoading.TR_CONFIG_COVERLOADING_DYNAMIC: + _LoadCoversAsync(); + break; } - CLog.StopBenchmark("Load Songs "); + CLog.StopBenchmark("Load Songs"); } - public static void LoadCover() + private static void _LoadCoversAsync() { - if (CConfig.Renderer == ERenderer.TR_CONFIG_SOFTWARE) - return; //should be removed as soon as the other renderer are ready for queue - if (!SongsLoaded || CoverLoaded) return; if (_CoverLoaderThread != null) return; - _CoverLoaderThread = new Thread(_LoadCover) {Name = "CoverLoader", Priority = ThreadPriority.BelowNormal, IsBackground = true}; + _CoverLoaderThread = new Thread(_LoadCovers) {Name = "CoverLoader", Priority = ThreadPriority.BelowNormal, IsBackground = true}; _CoverLoaderThread.Start(); - - /* - if (_CoverLoadTimer.ElapsedMilliseconds >= WaitTime) - { - for (int i = 0; i < NumLoads; i++) - { - CSong song = null; - int n = GetNextSongWithoutCover(ref song); - - if (n < 0) - return; - - song.LoadSmallCover(); - - if (n == NumAllSongs) - CDataBase.CommitCovers(); - } - _CoverLoadTimer.Reset(); - _CoverLoadTimer.Start(); - } - * */ } - private static void _LoadCover() + private static void _LoadCovers() { + CLog.StartBenchmark("Load Covers"); + int songCount = _Songs.Count; + AutoResetEvent ev = new AutoResetEvent(songCount == 0); + + NumSongsWithCoverLoaded = 0; foreach (CSong song in _Songs) { - song.LoadSmallCover(); - NumSongsWithCoverLoaded++; + CSong tmp = song; + Task.Factory.StartNew(() => + { + tmp.LoadSmallCover(); + if (Interlocked.Increment(ref _NumSongsWithCoverLoaded) >= songCount) + ev.Set(); + }); } + ev.WaitOne(); _CoverLoaded = true; CDataBase.CommitCovers(); + CLog.StopBenchmark("Load Covers"); } } } \ No newline at end of file diff --git a/Vocaluxe/Base/CTheme.cs b/Vocaluxe/Base/CTheme.cs index e884384f..8c8e9068 100644 --- a/Vocaluxe/Base/CTheme.cs +++ b/Vocaluxe/Base/CTheme.cs @@ -44,7 +44,7 @@ namespace Vocaluxe.Base class CSkinElement { public string Value; - public CTexture Texture; + public CTextureRef Texture; } class CVideoSkinElement : CSkinElement @@ -554,7 +554,7 @@ namespace Vocaluxe.Base return path; } - public static CTexture GetSkinTexture(string textureName, int partyModeID) + public static CTextureRef GetSkinTexture(string textureName, int partyModeID) { int skinIndex = GetSkinIndex(partyModeID); CSkinElement sk; @@ -597,7 +597,7 @@ namespace Vocaluxe.Base return null; } - public static CTexture GetSkinVideoTexture(string videoName, int partyModeID) + public static CTextureRef GetSkinVideoTexture(string videoName, int partyModeID) { CVideoSkinElement sk = GetSkinVideo(videoName, partyModeID); if (sk == null) diff --git a/Vocaluxe/Base/CVideo.cs b/Vocaluxe/Base/CVideo.cs index 3d57cbd3..9b127eae 100644 --- a/Vocaluxe/Base/CVideo.cs +++ b/Vocaluxe/Base/CVideo.cs @@ -75,7 +75,7 @@ namespace Vocaluxe.Base return _VideoDecoder.GetLength(streamID); } - public static bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime) + public static bool GetFrame(int streamID, ref CTextureRef frame, float time, out float videoTime) { return _VideoDecoder.GetFrame(streamID, ref frame, time, out videoTime); } diff --git a/Vocaluxe/Base/CVideoPlayer.cs b/Vocaluxe/Base/CVideoPlayer.cs index 8dd47d4b..0838ae7c 100644 --- a/Vocaluxe/Base/CVideoPlayer.cs +++ b/Vocaluxe/Base/CVideoPlayer.cs @@ -7,7 +7,7 @@ namespace Vocaluxe.Base { class CVideoPlayer { - private CTexture _VideoTexture; + private CTextureRef _VideoTexture; private int _VideoStream; private readonly Stopwatch _VideoTimer = new Stopwatch(); private bool _Finished; @@ -62,11 +62,8 @@ namespace Vocaluxe.Base } if (_VideoTexture == null) return; - var bounds = new RectangleF(0f, 0f, CSettings.RenderW, CSettings.RenderH); - RectangleF rect; - CHelper.SetRect(bounds, out rect, _VideoTexture.OrigAspect, EAspect.Crop); - CDraw.DrawTexture(_VideoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CSettings.ZFar / 4)); + CDraw.DrawTexture(_VideoTexture, new SRectF(0, 0, CSettings.RenderW, CSettings.RenderH, CSettings.ZFar / 4), EAspect.Crop); } public void PreLoad() diff --git a/Vocaluxe/Base/CWebcam.cs b/Vocaluxe/Base/CWebcam.cs index af66025a..980c6f58 100644 --- a/Vocaluxe/Base/CWebcam.cs +++ b/Vocaluxe/Base/CWebcam.cs @@ -57,7 +57,7 @@ namespace Vocaluxe.Base _Webcam = null; } - public static bool GetFrame(ref CTexture tex) + public static bool GetFrame(ref CTextureRef tex) { return _Webcam != null && _Webcam.GetFrame(ref tex); } diff --git a/Vocaluxe/Base/Fonts/CFontStyle.cs b/Vocaluxe/Base/Fonts/CFontStyle.cs index 0c80c0c1..a71c949f 100644 --- a/Vocaluxe/Base/Fonts/CFontStyle.cs +++ b/Vocaluxe/Base/Fonts/CFontStyle.cs @@ -101,7 +101,7 @@ namespace Vocaluxe.Base.Fonts public void DrawGlyph(char chr, float fontHeight, float x, float y, float z, SColorF color) { - CTexture texture; + CTextureRef texture; SRectF rect; GetOrAddGlyph(chr, fontHeight).GetTextureAndRect(fontHeight, x, y, z, out texture, out rect); CDraw.DrawTexture(texture, rect, color); @@ -109,7 +109,7 @@ namespace Vocaluxe.Base.Fonts public void DrawGlyph(char chr, float fontHeight, float x, float y, float z, SColorF color, float begin, float end) { - CTexture texture; + CTextureRef texture; SRectF rect; GetOrAddGlyph(chr, fontHeight).GetTextureAndRect(fontHeight, x, y, z, out texture, out rect); CDraw.DrawTexture(texture, rect, color, begin, end); @@ -117,10 +117,10 @@ namespace Vocaluxe.Base.Fonts public void DrawGlyphReflection(char chr, float fontHeight, float x, float y, float z, SColorF color, float rspace, float rheight) { - CTexture texture; + CTextureRef texture; SRectF rect; GetOrAddGlyph(chr, fontHeight).GetTextureAndRect(fontHeight, x, y, z, out texture, out rect); - CDraw.DrawTextureReflection(texture, rect, color, rect, rspace, rheight); + CDraw.DrawTextureReflection(texture, rect, color, rspace, rheight); } public float GetWidth(char chr, float height) diff --git a/Vocaluxe/Base/Fonts/CGlyph.cs b/Vocaluxe/Base/Fonts/CGlyph.cs index dcc2bff3..6b949903 100644 --- a/Vocaluxe/Base/Fonts/CGlyph.cs +++ b/Vocaluxe/Base/Fonts/CGlyph.cs @@ -31,7 +31,7 @@ namespace Vocaluxe.Base.Fonts { class CGlyph { - private CTexture _Texture; + private CTextureRef _Texture; private readonly SizeF _BoundingBox; private readonly RectangleF _DrawBounding; public readonly float MaxHeight; @@ -143,7 +143,7 @@ namespace Vocaluxe.Base.Fonts return _BoundingBox.Height * _GetFactor(fontHeight); } - public void GetTextureAndRect(float fontHeight, float x, float y, float z, out CTexture texture, out SRectF rect) + public void GetTextureAndRect(float fontHeight, float x, float y, float z, out CTextureRef texture, out SRectF rect) { texture = _Texture; float factor = _GetFactor(fontHeight); @@ -157,7 +157,7 @@ namespace Vocaluxe.Base.Fonts private static Rectangle _GetRealBounds(Bitmap bmp) { int minX = 0, maxX = bmp.Width - 1, minY = 0; - BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); + BitmapData bmpData = bmp.LockBits(bmp.GetRect(), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); int values = bmpData.Width * bmp.Height; var rgbValues = new Int32[values]; Marshal.Copy(bmpData.Scan0, rgbValues, 0, values); diff --git a/Vocaluxe/COSFunctions.cs b/Vocaluxe/COSFunctions.cs index d8aec79a..33faab37 100644 --- a/Vocaluxe/COSFunctions.cs +++ b/Vocaluxe/COSFunctions.cs @@ -16,6 +16,7 @@ #endregion using System; +using System.Drawing; using System.Runtime.InteropServices; namespace Vocaluxe @@ -59,40 +60,6 @@ namespace Vocaluxe Environment.SetEnvironmentVariable("PATH", newPath); } - public static void AddLibrarySearchpath(string path) - { -#if WIN - if (!_DefaultDllDirSet) - { - try - { - CWindowsFunctions.SetDefaultDllDirectories(CWindowsFunctions.LOAD_LIBRARY_SEARCH_DEFAULT_DIRS); - } - catch (Exception) - { - _UsePath = true; - _UseSetDllDir = true; - } - _DefaultDllDirSet = true; - } - if (_UsePath) - AddEnvironmentPath(path); - if (!_UseSetDllDir) - { - try - { - CWindowsFunctions.AddDllDirectory(path); - } - catch (Exception) - { - _UseSetDllDir = true; - } - } - if (_UseSetDllDir) - CWindowsFunctions.SetDllDirectory(path); -#endif - } - public static void SetForegroundWindow(IntPtr hWnd) { #if WIN diff --git a/Vocaluxe/CProgrammHelper.cs b/Vocaluxe/CProgrammHelper.cs index 800b907a..651ef8bf 100644 --- a/Vocaluxe/CProgrammHelper.cs +++ b/Vocaluxe/CProgrammHelper.cs @@ -132,8 +132,7 @@ namespace Vocaluxe string path = "x64"; #endif path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + Path.DirectorySeparatorChar + path; - COSFunctions.AddLibrarySearchpath(path); - COSFunctions.AddLibrarySearchpath(path + Path.DirectorySeparatorChar + "gstreamer"); + COSFunctions.AddEnvironmentPath(path); } } } \ No newline at end of file diff --git a/Vocaluxe/Lib/Database/CCoverDB.cs b/Vocaluxe/Lib/Database/CCoverDB.cs index 7723e2d4..efd33c13 100644 --- a/Vocaluxe/Lib/Database/CCoverDB.cs +++ b/Vocaluxe/Lib/Database/CCoverDB.cs @@ -22,6 +22,7 @@ using System.Drawing.Imaging; using System.IO; using System.Runtime.InteropServices; using Vocaluxe.Base; +using VocaluxeLib; using VocaluxeLib.Draw; #if WIN using System.Data.SQLite; @@ -34,28 +35,29 @@ namespace Vocaluxe.Lib.Database { public class CCoverDB : CDatabaseBase { - //You have to lock all actions using cover connection or transaction, otherwhise order is not guaranted - private readonly object _CoverMutex = new object(); private SQLiteTransaction _TransactionCover; public CCoverDB(string filePath) : base(filePath) {} public override bool Init() { - if (!base.Init()) - return false; + lock (_Mutex) + { + if (!base.Init()) + return false; - if (_Version < 0) - return _CreateCoverDB(); - if (_Version < CSettings.DatabaseCoverVersion) - throw new NotImplementedException("Upgrading of cover DB not implemented"); + if (_Version < 0) + return _CreateCoverDB(); + if (_Version < CSettings.DatabaseCoverVersion) + throw new NotImplementedException("Upgrading of cover DB not implemented"); + } return true; } public override void Close() { //Do commit and close atomicly otherwhise we may loose changes - lock (_CoverMutex) + lock (_Mutex) { _CommitCovers(); @@ -63,7 +65,7 @@ namespace Vocaluxe.Lib.Database } } - public bool GetCover(string coverPath, ref CTexture tex, int maxSize) + public bool GetCover(string coverPath, ref CTextureRef tex, int maxSize) { if (_Connection == null) return false; @@ -73,7 +75,7 @@ namespace Vocaluxe.Lib.Database return false; } - lock (_CoverMutex) + lock (_Mutex) { //Double check here because we may have just closed our connection if (_Connection == null) @@ -81,7 +83,7 @@ namespace Vocaluxe.Lib.Database using (var command = new SQLiteCommand(_Connection)) { command.CommandText = "SELECT id, width, height FROM Cover WHERE [Path] = @path"; - command.Parameters.Add("@path", DbType.String, 0).Value = coverPath; + command.Parameters.Add("@path", DbType.String).Value = coverPath; SQLiteDataReader reader = command.ExecuteReader(); @@ -100,81 +102,81 @@ namespace Vocaluxe.Lib.Database if (reader.HasRows) { reader.Read(); - byte[] data = _GetBytes(reader); + byte[] data2 = _GetBytes(reader); reader.Dispose(); - tex = CDraw.EnqueueTexture(w, h, data); + tex = CDraw.EnqueueTexture(w, h, data2); return true; } - } - else - { - if (reader != null) - reader.Close(); - - if (_TransactionCover == null) - _TransactionCover = _Connection.BeginTransaction(); - - Bitmap origin; - try - { - origin = new Bitmap(coverPath); - } - catch (Exception) - { - CLog.LogError("Error loading Texture: " + coverPath); - return false; - } - - int w = maxSize; - int h = maxSize; - byte[] data; - - try - { - if (origin.Width >= origin.Height && origin.Width > w) - h = (int)Math.Round((float)w / origin.Width * origin.Height); - else if (origin.Height > origin.Width && origin.Height > h) - w = (int)Math.Round((float)h / origin.Height * origin.Width); - - using (var bmp = new Bitmap(w, h)) - { - using (Graphics g = Graphics.FromImage(bmp)) - g.DrawImage(origin, new Rectangle(0, 0, w, h)); - - data = new byte[w * h * 4]; - BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); - Marshal.Copy(bmpData.Scan0, data, 0, w * h * 4); - bmp.UnlockBits(bmpData); - } - } - finally - { - origin.Dispose(); - } - - tex = CDraw.EnqueueTexture(w, h, data); - - command.CommandText = "INSERT INTO Cover (Path, width, height) VALUES (@path, @w, @h)"; - command.Parameters.Add("@w", DbType.Int32).Value = w; - command.Parameters.Add("@h", DbType.Int32).Value = h; - command.Parameters.Add("@path", DbType.String, 0).Value = coverPath; + command.CommandText = "DELETE FROM Cover WHERE id = @id"; + command.Parameters.Add("@id", DbType.Int32).Value = id; command.ExecuteNonQuery(); + } + if (reader != null) + reader.Close(); + } + } - command.CommandText = "SELECT id FROM Cover WHERE [Path] = @path"; - command.Parameters.Add("@path", DbType.String, 0).Value = coverPath; - reader = command.ExecuteReader(); + // At this point we do not have a mathing entry in the CoverDB (either no Data found and deleted or nothing at all) + // We break out of the lock to do the bitmap loading and resizing here to allow multithreaded loading - if (reader != null) - { - reader.Read(); - int id = reader.GetInt32(0); - reader.Dispose(); - command.CommandText = "INSERT INTO CoverData (CoverID, Data) VALUES (@id, @data)"; - command.Parameters.Add("@id", DbType.Int32).Value = id; - command.Parameters.Add("@data", DbType.Binary, 20).Value = data; - command.ExecuteReader(); - return true; - } + Bitmap origin = CHelper.LoadBitmap(coverPath); + if (origin == null) + return false; + + Size size = origin.GetSize(); + if (size.Width > maxSize || size.Height > maxSize) + { + size = CHelper.FitInBounds(new SRectF(0, 0, maxSize, maxSize, 0), (float)size.Width / size.Height, EAspect.LetterBox).SizeI; + Bitmap tmp = origin.Resize(size); + origin.Dispose(); + origin = tmp; + } + + byte[] data; + + try + { + data = new byte[size.Width * size.Height * 4]; + BitmapData bmpData = origin.LockBits(origin.GetRect(), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); + Marshal.Copy(bmpData.Scan0, data, 0, data.Length); + origin.UnlockBits(bmpData); + } + finally + { + origin.Dispose(); + } + + tex = CDraw.EnqueueTexture(size.Width, size.Height, data); + + lock (_Mutex) + { + //Double check here because we may have just closed our connection + if (_Connection == null) + return false; + if (_TransactionCover == null) + _TransactionCover = _Connection.BeginTransaction(); + using (var command = new SQLiteCommand(_Connection)) + { + command.CommandText = "INSERT INTO Cover (Path, width, height) VALUES (@path, @w, @h)"; + command.Parameters.Add("@w", DbType.Int32).Value = size.Width; + command.Parameters.Add("@h", DbType.Int32).Value = size.Height; + command.Parameters.Add("@path", DbType.String).Value = coverPath; + command.ExecuteNonQuery(); + + command.CommandText = "SELECT id FROM Cover WHERE [Path] = @path"; + command.Parameters.Add("@path", DbType.String).Value = coverPath; + SQLiteDataReader reader = command.ExecuteReader(); + + if (reader != null) + { + reader.Read(); + int id = reader.GetInt32(0); + reader.Dispose(); + command.CommandText = "INSERT INTO CoverData (CoverID, Data) VALUES (@id, @data)"; + command.Parameters.Add("@id", DbType.Int32).Value = id; + command.Parameters.Add("@data", DbType.Binary).Value = data; + command.ExecuteNonQuery(); + return true; } } } @@ -183,7 +185,7 @@ namespace Vocaluxe.Lib.Database public void CommitCovers() { - lock (_CoverMutex) + lock (_Mutex) { _CommitCovers(); } diff --git a/Vocaluxe/Lib/Database/CDatabaseBase.cs b/Vocaluxe/Lib/Database/CDatabaseBase.cs index 068530e5..bbe0f026 100644 --- a/Vocaluxe/Lib/Database/CDatabaseBase.cs +++ b/Vocaluxe/Lib/Database/CDatabaseBase.cs @@ -17,7 +17,6 @@ using System; using System.IO; -using Vocaluxe.Base; #if WIN using System.Data.SQLite; @@ -27,61 +26,72 @@ using Mono.Data.Sqlite; namespace Vocaluxe.Lib.Database { - public class CDatabaseBase + public abstract class CDatabaseBase { protected readonly string _FilePath; protected SQLiteConnection _Connection; + //You have to lock all actions using connection or transaction, otherwhise order is not guaranted + protected readonly object _Mutex = new object(); + protected int _Version; //Version of the database (value of row "Value" in table "Version") or -1 if none - public CDatabaseBase(string filePath) + protected CDatabaseBase(string filePath) { _FilePath = filePath; } public virtual bool Init() { - _Connection = new SQLiteConnection("Data Source=" + _FilePath); - try + lock (_Mutex) { - _Connection.Open(); - } - catch (Exception) - { - _Connection.Dispose(); - _Connection = null; - return false; - } - - using (var command = new SQLiteCommand(_Connection)) - { - command.CommandText = "SELECT Value FROM Version"; - - SQLiteDataReader reader = null; - + if (_Connection != null) + return false; + _Connection = new SQLiteConnection("Data Source=" + _FilePath); try { - reader = command.ExecuteReader(); + _Connection.Open(); + } + catch (Exception) + { + _Connection.Dispose(); + _Connection = null; + return false; } - catch (Exception) {} - if (reader == null || !reader.Read() || reader.FieldCount == 0) - _Version = -1; - else - _Version = reader.GetInt32(0); + using (var command = new SQLiteCommand(_Connection)) + { + command.CommandText = "SELECT Value FROM Version"; - if (reader != null) - reader.Dispose(); + SQLiteDataReader reader = null; + + try + { + reader = command.ExecuteReader(); + } + catch (Exception) {} + + if (reader == null || !reader.Read() || reader.FieldCount == 0) + _Version = -1; + else + _Version = reader.GetInt32(0); + + if (reader != null) + reader.Dispose(); + } } return true; } public virtual void Close() { - if (_Connection != null) + lock (_Mutex) { - _Connection.Dispose(); - _Connection = null; + if (_Connection != null) + { + _Connection.Dispose(); + _Connection = null; + } } } @@ -92,6 +102,13 @@ namespace Vocaluxe.Lib.Database return t70.Ticks; } + /// + /// Reads the contents of a field as a byte array
+ /// Assumes you did the locking! + ///
+ /// + /// Field number to read from (default=first) + /// protected static byte[] _GetBytes(SQLiteDataReader reader, int field = 0) { const int chunkSize = 2 * 1024; diff --git a/Vocaluxe/Lib/Database/CResourceDB.cs b/Vocaluxe/Lib/Database/CResourceDB.cs index 4891a19e..77d9c455 100644 --- a/Vocaluxe/Lib/Database/CResourceDB.cs +++ b/Vocaluxe/Lib/Database/CResourceDB.cs @@ -66,7 +66,7 @@ namespace Vocaluxe.Lib.Database return true; } - public bool GetCreditsRessource(string fileName, ref CTexture tex) + public bool GetCreditsRessource(string fileName, ref CTextureRef tex) { if (_Connection == null) return false; diff --git a/Vocaluxe/Lib/Draw/CDirect3D.cs b/Vocaluxe/Lib/Draw/CDirect3D.cs index 1c04f6fd..682905bc 100644 --- a/Vocaluxe/Lib/Draw/CDirect3D.cs +++ b/Vocaluxe/Lib/Draw/CDirect3D.cs @@ -15,13 +15,10 @@ // along with Vocaluxe. If not, see . #endregion -using System.Drawing.Drawing2D; -using System.Threading; using SlimDX; using SlimDX.Direct3D9; using System; using System.Collections.Generic; -using System.ComponentModel; using System.Drawing; using System.Drawing.Imaging; using System.IO; @@ -34,49 +31,56 @@ using VocaluxeLib.Draw; namespace Vocaluxe.Lib.Draw { - class CDirect3D : RenderForm, IDraw + class CRenderFormHook : RenderForm, IFormHook + { + public MessageEventHandler OnMessage { private get; set; } + + protected override void WndProc(ref Message m) + { + if (OnMessage == null || OnMessage(ref m)) + base.WndProc(ref m); + } + } + + class CD3DTexture : CTextureBase + { + public readonly Texture D3DTexture; + + public CD3DTexture(Device device, Size dataSize, int texWidth = 0, int texHeight = 0) : base(dataSize, texWidth, texHeight) + { + //Create a new texture in the managed pool, which does not need to be recreated on a lost device + //because a copy of the texture is hold in the Ram + D3DTexture = device == null ? null : new Texture(device, W2, H2, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed); + } + + public override bool IsLoaded + { + get { return D3DTexture != null; } + } + + public override void Dispose() + { + base.Dispose(); + if (D3DTexture != null) + D3DTexture.Dispose(); + } + } + + class CDirect3D : CDrawBaseWindows, IDraw { #region private vars - private const int _MaxID = 100000; - - private readonly CKeys _Keys; - private readonly CMouse _Mouse; - private bool _Run; - private readonly Direct3D _D3D; private readonly Device _Device; private readonly PresentParameters _PresentParameters; - private bool _Fullscreen; - private Size _OldSize; - private Size _SizeBeforeMinimize; - - private readonly Dictionary _D3DTextures = new Dictionary(); - private readonly Queue _TexturesToLoad = new Queue(); - private readonly Queue _IDs = new Queue(_MaxID); - - private readonly Object _MutexTexture = new Object(); - private VertexBuffer _VertexBuffer; private IndexBuffer _IndexBuffer; - private int _H = 1; - private int _W = 1; - private int _Y; - private int _X; - - private int _BorderLeft; - private int _BorderRight; - private int _BorderTop; - private int _BorderBottom; - - private CTexture _BlankTexture; + private CTextureRef _BlankTexture; private readonly Queue _Vertices = new Queue(); private readonly Queue _VerticesTextures = new Queue(); - private readonly Queue _VerticesRotationMatrices = new Queue(); - - private readonly bool _NonPowerOf2TextureSupported; + private readonly Queue _VerticesRotationMatrices = new Queue(); #endregion private vars /// @@ -84,13 +88,8 @@ namespace Vocaluxe.Lib.Draw /// public CDirect3D() { - Icon = new Icon(Path.Combine(CSettings.ProgramFolder, CSettings.FileNameIcon)); + _Form = new CRenderFormHook {ClientSize = new Size(CConfig.ScreenW, CConfig.ScreenH)}; - //Fill Queue with 100000 IDs - for (int i = 0; i < _MaxID; i++) - _IDs.Enqueue(i); - - _Keys = new CKeys(); try { _D3D = new Direct3D(); @@ -100,25 +99,17 @@ namespace Vocaluxe.Lib.Draw CLog.LogError("No DirectX runtimes were found, please download and install them from http://www.microsoft.com/download/en/details.aspx?id=8109", true, true, e); } - Paint += _OnPaintEvent; - Closing += _OnClosingEvent; - Resize += _OnResizeEvent; + _Form.KeyDown += _OnKeyDown; + _Form.PreviewKeyDown += _OnPreviewKeyDown; + _Form.KeyPress += _OnKeyPress; + _Form.KeyUp += _OnKeyUp; - KeyDown += _OnKeyDown; - PreviewKeyDown += _OnPreviewKeyDown; - KeyPress += _OnKeyPress; - KeyUp += _OnKeyUp; - - _Mouse = new CMouse(); - MouseMove += _OnMouseMove; - MouseWheel += _OnMouseWheel; - MouseDown += _OnMouseDown; - MouseUp += _OnMouseUp; - MouseLeave += _OnMouseLeave; - MouseEnter += _OnMouseEnter; - - ClientSize = new Size(CConfig.ScreenW, CConfig.ScreenH); - _SizeBeforeMinimize = ClientSize; + _Form.MouseMove += _OnMouseMove; + _Form.MouseWheel += _OnMouseWheel; + _Form.MouseDown += _OnMouseDown; + _Form.MouseUp += _OnMouseUp; + _Form.MouseLeave += _OnMouseLeave; + _Form.MouseEnter += _OnMouseEnter; _PresentParameters = new PresentParameters { @@ -184,7 +175,11 @@ namespace Vocaluxe.Lib.Draw try { - _Device = new Device(_D3D, _D3D.Adapters.DefaultAdapter.Adapter, DeviceType.Hardware, Handle, flags, _PresentParameters); + _Device = new Device(_D3D, _D3D.Adapters.DefaultAdapter.Adapter, DeviceType.Hardware, _Form.Handle, flags, _PresentParameters); + } + catch (Exception e) + { + CLog.LogError("Error during D3D device creation.", false, false, e); } finally { @@ -195,213 +190,87 @@ namespace Vocaluxe.Lib.Draw true, true); } } - - CenterToScreen(); } - #region form events - private void _OnPaintEvent(object sender, PaintEventArgs e) {} - - private void _OnResizeEvent(object sender, EventArgs e) {} - - private void _OnClosingEvent(object sender, CancelEventArgs e) - { - _Run = false; - } - - protected override void OnLoad(EventArgs e) - { - _Device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0); - } - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - _DoResize(); - } - - protected override void WndProc(ref Message m) - { - switch (m.Msg) - { - case 0x112: // WM_SYSCOMMAND - switch ((int)m.WParam & 0xFFF0) - { - case 0xF100: // SC_KEYMENU - m.Result = IntPtr.Zero; - break; - case 0xF140: // SC_SCREENSAVER - case 0xF170: // SC_MONITORPOWER - break; - default: - base.WndProc(ref m); - break; - } - break; - default: - base.WndProc(ref m); - break; - } - } - #endregion form events - #region resize /// /// Resizes the viewport /// - private void _DoResize() + protected override void _DoResize() { // The window was minimized, so restore it to the last known size - if (ClientSize.Width == 0 || ClientSize.Height == 0) - ClientSize = _SizeBeforeMinimize; - if (!_Run) - return; - _H = ClientSize.Height; - _W = ClientSize.Width; - _Y = 0; - _X = 0; + if (_Form.ClientSize.Width == 0 || _Form.ClientSize.Height == 0) + _Form.ClientSize = _SizeBeforeMinimize; - if (_W / (float)_H > CSettings.GetRenderAspect()) - { - //The windows's width is too big - _W = (int)Math.Round(_H * CSettings.GetRenderAspect()); - _X = (ClientSize.Width - _W) / 2; - } - else - { - //The windows's height is too big - _H = (int)Math.Round(_W / CSettings.GetRenderAspect()); - _Y = (ClientSize.Height - _H) / 2; - } + if (_H == _Form.ClientSize.Height && _W == _Form.ClientSize.Width && CConfig.ScreenAlignment == _CurrentAlignment) + return; + + _CurrentAlignment = CConfig.ScreenAlignment; + _H = _Form.ClientSize.Height; + _W = _Form.ClientSize.Width; + + _AdjustAspect(false); //Apply the new sizes to the PresentParameters - _PresentParameters.BackBufferWidth = ClientSize.Width; - _PresentParameters.BackBufferHeight = ClientSize.Height; - ClearScreen(); - //To set new PresentParameters the device has to be resetted - _Reset(); - //All configurations got flushed due to Reset(), so apply them again - Init(); + _PresentParameters.BackBufferWidth = _Form.ClientSize.Width; + _PresentParameters.BackBufferHeight = _Form.ClientSize.Height; + if (_Run) + { + _ClearScreen(); + //To set new PresentParameters the device has to be resetted + _Reset(); + //All configurations got flushed due to Reset(), so apply them again + _InitDevice(); + _Device.Viewport = new Viewport(_X, _Y, _W, _H); + } - //Set the new Viewport - _Device.Viewport = new Viewport(_X, _Y, _W, _H); //Store size so it can get restored after the window gets minimized - _SizeBeforeMinimize = ClientSize; + _SizeBeforeMinimize = _Form.ClientSize; } + // ReSharper disable RedundantOverridenMember /// /// Triggers the Fullscreen mode /// - private void _EnterFullScreen() + protected override void _EnterFullScreen() { //This currently not using real fullscreen mode but a borderless window //Real fullscreen could be gained setting _PresentParameters.Windowed = true //And calling Reset() and Init() after - _OldSize = ClientSize; - - int screenNr = 0; - for (int i = 0; i < Screen.AllScreens.Length; i++) - { - Screen scr = Screen.AllScreens[i]; - if (scr.Bounds.Top <= Top && scr.Bounds.Left <= Left) - screenNr = i; - } - - ClientSize = new Size(Screen.AllScreens[screenNr].Bounds.Width, Screen.AllScreens[screenNr].Bounds.Height); - FormBorderStyle = FormBorderStyle.None; - CenterToScreen(); - _Fullscreen = true; - - if (WindowState == FormWindowState.Maximized) - { - WindowState = FormWindowState.Normal; - _DoResize(); - WindowState = FormWindowState.Maximized; - } - else - _DoResize(); + base._EnterFullScreen(); } - /// - /// Triggers the windowed mode - /// - private void _LeaveFullScreen() - { - ClientSize = _OldSize; - FormBorderStyle = FormBorderStyle.Sizable; - CenterToScreen(); - _Fullscreen = false; - } + // ReSharper restore RedundantOverridenMember #endregion resize - #region mouse event handlers - private void _OnMouseMove(object sender, MouseEventArgs e) - { - _Mouse.MouseMove(e); - } - - private void _OnMouseWheel(object sender, MouseEventArgs e) - { - _Mouse.MouseWheel(e); - } - - private void _OnMouseDown(object sender, MouseEventArgs e) - { - _Mouse.MouseDown(e); - } - - private void _OnMouseUp(object sender, MouseEventArgs e) - { - _Mouse.MouseUp(e); - } - - private void _OnMouseLeave(object sender, EventArgs e) - { - _Mouse.Visible = false; - Cursor.Show(); - } - - private void _OnMouseEnter(object sender, EventArgs e) - { - Cursor.Hide(); - _Mouse.Visible = true; - } - #endregion - - #region keyboard event handlers - private void _OnPreviewKeyDown(object sender, PreviewKeyDownEventArgs e) - { - _OnKeyDown(sender, new KeyEventArgs(e.KeyData)); - } - - private void _OnKeyDown(object sender, KeyEventArgs e) - { - _Keys.KeyDown(e); - } - - private void _OnKeyPress(object sender, KeyPressEventArgs e) - { - _Keys.KeyPress(e); - } - - private void _OnKeyUp(object sender, KeyEventArgs e) - { - _Keys.KeyUp(e); - } - #endregion keyboard event handlers - - #region implementation - #region main stuff /// /// Inits the Device /// /// True if it succeeded else false - public bool Init() + public override bool Init() { + if (!base.Init()) + return false; + if (_Device.Disposed) return false; - Text = CSettings.GetFullVersionText(); + + _InitDevice(); + + //This creates a new white texture and adds it to the texture pool + //This texture is used for the DrawRect method + using (var blankMap = new Bitmap(1, 1)) + using (Graphics g = Graphics.FromImage(blankMap)) + { + g.Clear(Color.White); + _BlankTexture = AddTexture(blankMap); + } + return true; + } + + private void _InitDevice() + { _AdjustNewBorders(); _VertexBuffer = new VertexBuffer(_Device, CSettings.VertexBufferElements * (4 * Marshal.SizeOf(typeof(STexturedColoredVertex))), Usage.WriteOnly | Usage.Dynamic, @@ -417,9 +286,9 @@ namespace Vocaluxe.Lib.Draw CLog.LogError("Failed to enable alpha blending"); if (_Device.SetRenderState(RenderState.Lighting, false).IsFailure) CLog.LogError("Failed to disable lighting"); - if (_Device.SetRenderState(RenderState.DestinationBlend, SlimDX.Direct3D9.Blend.InverseSourceAlpha).IsFailure) + if (_Device.SetRenderState(RenderState.DestinationBlend, Blend.InverseSourceAlpha).IsFailure) CLog.LogError("Failed to set destination blend"); - if (_Device.SetRenderState(RenderState.SourceBlend, SlimDX.Direct3D9.Blend.SourceAlpha).IsFailure) + if (_Device.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha).IsFailure) CLog.LogError("Failed to set source blend"); if (_PresentParameters.Multisample != MultisampleType.None) { @@ -457,99 +326,37 @@ namespace Vocaluxe.Lib.Draw stream.WriteRange(indices); _IndexBuffer.Unlock(); _Device.Indices = _IndexBuffer; - - //This creates a new white texture and adds it to the texture pool - //This texture is used for the DrawRect method - using (var blankMap = new Bitmap(1, 1)) - { - Graphics g = Graphics.FromImage(blankMap); - g.Clear(Color.White); - g.Dispose(); - _BlankTexture = AddTexture(blankMap); - } - return true; } - /// - /// Starts the rendering - /// - public void MainLoop() + protected override void _OnBeforeDraw() { - _Run = true; - int delay = 0; - Show(); + if (_Device.BeginScene().IsFailure) + CLog.LogError("Failed to begin scene"); + } - if (CConfig.FullScreen == EOffOn.TR_CONFIG_ON) - _EnterFullScreen(); - - //Resize window if aspect ratio is incorrect - if (Math.Abs(_W / (float)_H - CSettings.GetRenderAspect()) > 0.01) - _DoResize(); - - while (_Run) + protected override void _OnAfterDraw() + { + _RenderVertexBuffer(); + if (_Device.EndScene().IsFailure) + CLog.LogError("Failed to end scene"); + try { - Application.DoEvents(); - //Clear the previous Frame - ClearScreen(); - //We want to begin drawing - if (_Device.BeginScene().IsFailure) - CLog.LogError("Failed to begin scene"); - _CheckQueue(); - if (!CGraphics.Draw()) - _Run = false; - _RenderVertexBuffer(); - //We finished drawing the frame - if (_Device.EndScene().IsFailure) - CLog.LogError("Failed to end scene"); - if (!CGraphics.UpdateGameLogic(_Keys, _Mouse)) - _Run = false; - try - { - //Now push the frame to the Viewport - _Device.Present(); - } - catch (Direct3D9Exception) - { - //In Direct3D devices can get lost. - //This happens for example when opening the Task Manager in Vista/Windows 7 or if a UAC message is opening - //We need to reset the device to get it to workable state again - //After a reset Init() needs to be called because all data in the Direct3D default pool are lost and need to be recreated - if (_Device.TestCooperativeLevel() == ResultCode.DeviceNotReset) - { - _Reset(); - Init(); - } - } - //Apply fullscreen mode - if ((CConfig.FullScreen == EOffOn.TR_CONFIG_ON) != _Fullscreen) - { - if (!_Fullscreen) - _EnterFullScreen(); - else - _LeaveFullScreen(); - } - - //Apply border changes - if (_BorderLeft != CConfig.BorderLeft || _BorderRight != CConfig.BorderRight || _BorderTop != CConfig.BorderTop || _BorderBottom != CConfig.BorderBottom) - { - _BorderLeft = CConfig.BorderLeft; - _BorderRight = CConfig.BorderRight; - _BorderTop = CConfig.BorderTop; - _BorderBottom = CConfig.BorderBottom; - - _AdjustNewBorders(); - } - - if (CTime.IsRunning()) - delay = (int)Math.Floor(CConfig.CalcCycleTime() - CTime.GetMilliseconds()); - - if (delay >= 1 && CConfig.VSync == EOffOn.TR_CONFIG_OFF) - Thread.Sleep(delay); - //Calculate the FPS Rate and restart the timer after a frame - CTime.CalculateFPS(); - CTime.Restart(); + //Now push the frame to the Viewport + _Device.Present(); } - Close(); + catch (Direct3D9Exception) + { + //In Direct3D devices can get lost. + //This happens for example when opening the Task Manager in Vista/Windows 7 or if a UAC message is opening + //We need to reset the device to get it to workable state again + //After a reset Init() needs to be called because all data in the Direct3D default pool are lost and need to be recreated + if (_Device.TestCooperativeLevel() == ResultCode.DeviceNotReset) + { + _Reset(); + _InitDevice(); + } + } + Application.DoEvents(); } /// @@ -565,12 +372,14 @@ namespace Vocaluxe.Lib.Draw CLog.LogError("Failed to reset the device"); } - private void _AdjustNewBorders() + protected override void _AdjustNewBorders() { - SlimDX.Matrix translate = SlimDX.Matrix.Translation(new Vector3(-(float)CSettings.RenderW / 2, (float)CSettings.RenderH / 2, 0)); - SlimDX.Matrix projection = SlimDX.Matrix.OrthoOffCenterLH( - -(float)CSettings.RenderW / 2 - _BorderLeft, (float)CSettings.RenderW / 2 + _BorderRight, - -(float)CSettings.RenderH / 2 - _BorderBottom, (float)CSettings.RenderH / 2 + _BorderTop, + const float dx = (float)CSettings.RenderW / 2; + const float dy = (float)CSettings.RenderH / 2; + Matrix translate = Matrix.Translation(new Vector3(-dx, dy, 0)); + Matrix projection = Matrix.OrthoOffCenterLH( + -dx - _BorderLeft, dx + _BorderRight, + -dy - _BorderBottom, dy + _BorderTop, CSettings.ZNear, CSettings.ZFar); if (_Device.SetTransform(TransformState.Projection, projection).IsFailure) @@ -583,21 +392,10 @@ namespace Vocaluxe.Lib.Draw /// Unloads all Textures and other objects used by Direct3D for rendering /// /// - public void Unload() + public override void Unload() { - try - { - Close(); - } - catch {} - //Dispose all textures - foreach (Texture texture in _D3DTextures.Values) - { - if (texture != null) - texture.Dispose(); - } - - STexturedColoredVertex.GetDeclaration(_Device).Dispose(); + base.Unload(); + STexturedColoredVertex.DisposeDeclaration(); _VertexBuffer.Dispose(); _IndexBuffer.Dispose(); _Device.Dispose(); @@ -628,7 +426,7 @@ namespace Vocaluxe.Lib.Draw /// A TexturedColoredVertex array containg 4 vertices /// The texture the vertex should be textured with /// The vertices' rotation - private void _AddToVertexBuffer(STexturedColoredVertex[] vertices, Texture tex, SlimDX.Matrix rotation) + private void _AddToVertexBuffer(STexturedColoredVertex[] vertices, Texture tex, Matrix rotation) { //The vertexbuffer is full, so we need to flush it before we can continue if (_Vertices.Count >= CSettings.VertexBufferElements) @@ -677,7 +475,7 @@ namespace Vocaluxe.Lib.Draw /// /// Removes all textures from the screen /// - public void ClearScreen() + protected override void _ClearScreen() { if (_Device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0).IsFailure) CLog.LogError("Failed to clear the backbuffer"); @@ -687,41 +485,35 @@ namespace Vocaluxe.Lib.Draw /// Copies the current frame into a texture /// A texture holding the current frame /// - public CTexture CopyScreen() + public CTextureRef CopyScreen() { - CTexture texture = _GetNewTexture(_W, _H); - + CD3DTexture tex = _CreateTexture(new Size(_W, _H)); Surface backbufferSurface = _Device.GetBackBuffer(0, 0); - var tex = new Texture(_Device, texture.W2, texture.H2, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed); - Surface textureSurface = tex.GetSurfaceLevel(0); + Surface textureSurface = tex.D3DTexture.GetSurfaceLevel(0); Surface.FromSurface(textureSurface, backbufferSurface, Filter.Default, 0, new Rectangle(0, 0, _W, _H), new Rectangle(0, 0, _W, _H)); backbufferSurface.Dispose(); - lock (_MutexTexture) - { - texture.ID = _IDs.Dequeue(); - _D3DTextures.Add(texture.ID, tex); - return texture; - } + return _GetTextureReference(_W, _H, tex); } /// /// Copies the current frame into a texture /// - /// The texture in which the frame is copied to - public void CopyScreen(ref CTexture texture) + /// The texture in which the frame is copied to + public void CopyScreen(ref CTextureRef textureRef) { - //Check for actual texture sizes! (W2/H2) as it may be up/downsized compared to OrigSize - if (!_TextureExists(texture) || texture.W2 != GetScreenWidth() || texture.H2 != GetScreenHeight()) + CD3DTexture texture; + if (!_GetTexture(textureRef, out texture) || texture.DataSize.Width != GetScreenWidth() || texture.DataSize.Height != GetScreenHeight()) { - RemoveTexture(ref texture); - texture = CopyScreen(); + RemoveTexture(ref textureRef); + textureRef = CopyScreen(); } else { Surface backbufferSurface = _Device.GetBackBuffer(0, 0); - Surface textureSurface = _D3DTextures[texture.ID].GetSurfaceLevel(0); + Surface textureSurface = texture.D3DTexture.GetSurfaceLevel(0); Surface.FromSurface(textureSurface, backbufferSurface, Filter.Default, 0); + backbufferSurface.Dispose(); } } @@ -741,36 +533,12 @@ namespace Vocaluxe.Lib.Draw } } - /// - /// Draws a line - /// - /// The alpha value from 0-255 - /// The red value from 0-255 - /// The red value from 0-255 - /// The red value from 0-255 - /// The width of the line - /// The start x-value - /// The start y-value - /// The end x-value - /// The end y-value - public void DrawLine(int a, int r, int g, int b, int w, int x1, int y1, int x2, int y2) - { - var lineVector = new Vector2[] {new Vector2(x1, y1), new Vector2(x2, y2)}; - using (var line = new Line(_Device)) - { - line.Antialias = true; - line.Begin(); - line.Draw(lineVector, new Color4((float)a / 255, (float)r / 255, (float)g / 255, (float)b / 255)); - line.End(); - } - } - /// /// Draws a colored rectangle /// /// The color in which the rectangle will be drawn in /// The coordinates in a SRectF struct - public void DrawColor(SColorF color, SRectF rect) + public void DrawRect(SColorF color, SRectF rect) { DrawTexture(_BlankTexture, rect, color); } @@ -782,154 +550,25 @@ namespace Vocaluxe.Lib.Draw /// 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) + public void DrawRectReflection(SColorF color, SRectF rect, float space, float height) { - DrawTextureReflection(_BlankTexture, rect, color, rect, space, height); + DrawTextureReflection(_BlankTexture, rect, color, space, height); } #endregion Basic Draw Methods #region Textures - - #region adding - /// - /// Adds a texture and stores it in the VRam - /// - /// The texture's filepath - /// A STexture object containing the added texture - public CTexture AddTexture(string texturePath) + protected override CD3DTexture _CreateTexture(Size dataSize) { - if (!File.Exists(texturePath)) - { - CLog.LogError("Can't find File: " + texturePath); - return null; - } - Bitmap bmp; - try - { - bmp = new Bitmap(texturePath); - } - catch (Exception) - { - CLog.LogError("Error loading Texture: " + texturePath); - return null; - } - CTexture s; - try - { - s = AddTexture(bmp); - } - finally - { - bmp.Dispose(); - } - return s; + if (dataSize.Width < 0) + return new CD3DTexture(null, dataSize); + return new CD3DTexture(_Device, dataSize, _CheckForNextPowerOf2(dataSize.Width), _CheckForNextPowerOf2(dataSize.Height)); } - /// - /// Adds a texture and stores it in the Vram - /// - /// The Bitmap of which the texure will be created from - /// A STexture object containing the added texture - public CTexture AddTexture(Bitmap bmp) - { - if (bmp.Height == 0 || bmp.Width == 0) - return null; - int maxSize; - //Apply the right max size - switch (CConfig.TextureQuality) - { - case ETextureQuality.TR_CONFIG_TEXTURE_LOWEST: - maxSize = 128; - break; - case ETextureQuality.TR_CONFIG_TEXTURE_LOW: - maxSize = 256; - break; - case ETextureQuality.TR_CONFIG_TEXTURE_MEDIUM: - maxSize = 512; - break; - case ETextureQuality.TR_CONFIG_TEXTURE_HIGH: - maxSize = 1024; - break; - case ETextureQuality.TR_CONFIG_TEXTURE_HIGHEST: - maxSize = 2048; - break; - default: - maxSize = 512; - break; - } - - int w = Math.Min(bmp.Width, maxSize); - int h = Math.Min(bmp.Height, maxSize); - w = _CheckForNextPowerOf2(w); - h = _CheckForNextPowerOf2(h); - - var texture = new CTexture(bmp.Width, bmp.Height, w, h, true); - - Bitmap bmp2 = null; - byte[] data; - try - { - if (bmp.Width != w || bmp.Height != h) - { - //Create a new Bitmap with the new sizes - bmp2 = new Bitmap(w, h); - //Scale the texture - using (Graphics g = Graphics.FromImage(bmp2)) - { - g.InterpolationMode = InterpolationMode.HighQualityBicubic; - g.SmoothingMode = SmoothingMode.HighQuality; - g.DrawImage(bmp, new Rectangle(0, 0, bmp2.Width, bmp2.Height)); - } - bmp = bmp2; - } - - //Fill the new Bitmap with the texture data - BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); - data = new byte[4 * w * h]; - Marshal.Copy(bmpData.Scan0, data, 0, data.Length); - bmp.UnlockBits(bmpData); - } - finally - { - if (bmp2 != null) - bmp2.Dispose(); - } - - return _AddTexture(texture, w, data); - } - - public CTexture AddTexture(int w, int h, byte[] data) - { - CTexture texture = _GetNewTexture(w, h); - return _AddTexture(texture, w, data); - } - - private CTexture _AddTexture(CTexture texture, int w, byte[] data) - { - Texture t = _CreateTexture(texture.W2, texture.H2, w, data); - - lock (_MutexTexture) - { - texture.ID = _IDs.Dequeue(); - _D3DTextures.Add(texture.ID, t); - } - return texture; - } - - private Texture _CreateTexture(int textureW, int textureH, int w, byte[] data) - { - //Create a new texture in the managed pool, which does not need to be recreated on a lost device - //because a copy of the texture is hold in the Ram - var t = new Texture(_Device, textureW, textureH, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed); - _WriteDataToTexture(t, w, data); - return t; - } - - private static void _WriteDataToTexture(Texture t, int w, byte[] data) + protected override void _WriteDataToTexture(CD3DTexture texture, byte[] data) { //Lock the texture and fill it with the data - DataRectangle rect = t.LockRectangle(0, LockFlags.Discard); - int rowWidth = 4 * w; + DataRectangle rect = texture.D3DTexture.LockRectangle(0, LockFlags.Discard); + int rowWidth = 4 * texture.DataSize.Width; if (rowWidth == rect.Pitch) rect.Data.Write(data, 0, data.Length); else @@ -941,141 +580,78 @@ namespace Vocaluxe.Lib.Draw rect.Data.Position = rect.Data.Position - rowWidth + rect.Pitch; } } - t.UnlockRectangle(0); - } - - public CTexture EnqueueTexture(int w, int h, byte[] data) - { - CTexture texture = _GetNewTexture(w, h); - - lock (_MutexTexture) - { - texture.ID = _IDs.Dequeue(); - _D3DTextures.Add(texture.ID, null); - var queue = new STextureQueue(texture.ID, texture.W2, texture.H2, w, h, data); - _TexturesToLoad.Enqueue(queue); - } - return texture; - } - - private CTexture _GetNewTexture(int w, int h) - { - return new CTexture(w, h, _CheckForNextPowerOf2(w), _CheckForNextPowerOf2(h)); - } - #endregion adding - - #region updating - /// - /// Updates the data of a texture - /// - /// The texture to update - /// - /// - /// A byte array containing the new texture's data - /// True if succeeded - public bool UpdateTexture(CTexture texture, int w, int h, byte[] data) - { - //Check if texture exists and extend matches - if (!_TextureExists(texture) || texture.UsedWidth != w || texture.UsedHeight != h) - return false; - lock (_MutexTexture) - { - _WriteDataToTexture(_D3DTextures[texture.ID], w, data); - } - return true; - } - - public bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data) - { - if (!UpdateTexture(texture, w, h, data)) - { - RemoveTexture(ref texture); - texture = AddTexture(w, h, data); - } - return true; - } - #endregion updating - - /// - /// Checks if a texture exists - /// - /// The texture to check - /// True if the texture exists - private bool _TextureExists(CTexture texture) - { - lock (_MutexTexture) - { - return texture != null && _D3DTextures.ContainsKey(texture.ID); - } - } - - /// - /// Removes a texture from the Vram - /// - /// The texture to be removed - public void RemoveTexture(ref CTexture texture) - { - if (_TextureExists(texture)) - { - lock (_MutexTexture) - { - _D3DTextures[texture.ID].Dispose(); - _D3DTextures.Remove(texture.ID); - _IDs.Enqueue(texture.ID); - } - } - texture = null; + texture.D3DTexture.UnlockRectangle(0); } #region drawing /// /// Draws a texture /// - /// The texture to be drawn - public void DrawTexture(CTexture texture) - { - if (texture == null) - return; - DrawTexture(texture, texture.Rect, texture.Color); - } - - /// - /// Draws a texture - /// - /// The texture to be drawn - /// A SRectF struct containing the destination coordinates - public void DrawTexture(CTexture texture, SRectF rect) - { - if (texture == null) - return; - DrawTexture(texture, rect, texture.Color); - } - - /// - /// Draws a texture - /// - /// The texture to be drawn + /// The texture to be drawn /// A SRectF struct containing the destination coordinates /// A SColorF struct containing a color which the texture will be colored in /// True if the texture should be mirrored - public void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false) + public void DrawTexture(CTextureRef textureRef, SRectF rect, SColorF color, bool mirrored = false) { - DrawTexture(texture, rect, color, new SRectF(0, 0, CSettings.RenderW, CSettings.RenderH, rect.Z), mirrored); + if (rect.W < 1 || rect.H < 1) + return; + + CD3DTexture texture; + if (!_GetTexture(textureRef, out texture)) + return; + + //Calculate the position + const float x1 = 0; + float x2 = texture.WidthRatio; + float y1 = 0; + float y2 = texture.HeightRatio; + + //Calculate the size + float rx1 = rect.X; + float rx2 = rect.X + rect.W; + float ry1 = rect.Y; + float ry2 = rect.Y + rect.H; + + color.A *= CGraphics.GlobalAlpha; + + Color c = color.AsColor(); + + if (mirrored) + { + float tmp = y2; + y2 = y1; + y1 = tmp; + } + var vert = new STexturedColoredVertex[4]; + vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, y1), c.ToArgb()); + vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb()); + vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb()); + vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb()); + _AddToVertexBuffer(vert, texture.D3DTexture, _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); } /// /// Draws a texture /// - /// The texture to be drawn + /// The texture to be drawn /// A SRectF struct containing the destination coordinates /// A SColorF struct containing a color which the texture will be colored in /// A SRectF struct containing which part of the texture should be drawn /// True if the texture should be mirrored - public void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false) + public void DrawTexture(CTextureRef textureRef, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false) { - if (!_TextureExists(texture)) + if (Math.Abs(rect.W) < 1 || Math.Abs(rect.H) < 1 || Math.Abs(bounds.H) < 1 || Math.Abs(bounds.W) < 1 || + Math.Abs(color.A) < 0.01) return; - if (_D3DTextures[texture.ID] == null) + + if (bounds.X > rect.X + rect.W || bounds.X + bounds.W < rect.X) + return; + + if (bounds.Y > rect.Y + rect.H || bounds.Y + bounds.H < rect.Y) + return; + + CD3DTexture texture; + if (!_GetTexture(textureRef, out texture)) return; //Calculate the position @@ -1114,58 +690,35 @@ namespace Vocaluxe.Lib.Draw if (ry2 > bounds.Y + bounds.H) ry2 = bounds.Y + bounds.H; - //Align the pixels because Direct3D expects the pixels to be the left top corner - rx1 -= 0.5f; - ry1 -= 0.5f; - rx2 -= 0.5f; - ry2 -= 0.5f; - color.A *= CGraphics.GlobalAlpha; - if (color.A > 1) - color.A = 1; - if (color.R > 1) - color.R = 1; - if (color.G > 1) - color.G = 1; - if (color.B > 1) - color.B = 1; - Color c = color.AsColor(); - if (!mirrored) + if (mirrored) { - var vert = new STexturedColoredVertex[4]; - vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, y1), c.ToArgb()); - vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb()); - vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb()); - vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb()); - _AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); - } - else - { - var vert = new STexturedColoredVertex[4]; - vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, -y1), c.ToArgb()); - vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, -y2), c.ToArgb()); - vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y2), c.ToArgb()); - vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y1), c.ToArgb()); - _AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); + y1 = -y1; + y2 = -y2; } + var vert = new STexturedColoredVertex[4]; + vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, y1), c.ToArgb()); + vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb()); + vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb()); + vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb()); + _AddToVertexBuffer(vert, texture.D3DTexture, _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); } /// /// Draws a texture /// - /// The texture to be drawn + /// The texture to be drawn /// A SRectF struct containing the destination coordinates /// A SColorF struct containing a color which the texture will be colored in /// A Value ranging from 0 to 1 containing the beginning of the texture /// A Value ranging from 0 to 1 containing the ending of the texture - public void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end) + public void DrawTexture(CTextureRef textureRef, SRectF rect, SColorF color, float begin, float end) { - if (!_TextureExists(texture)) - return; - if (_D3DTextures[texture.ID] == null) + CD3DTexture texture; + if (!_GetTexture(textureRef, out texture)) return; float x1 = 0f + begin * texture.WidthRatio; @@ -1193,73 +746,39 @@ namespace Vocaluxe.Lib.Draw vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb()); vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb()); vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb()); - _AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); + _AddToVertexBuffer(vert, texture.D3DTexture, _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); } /// /// Draws a reflection of a texture /// - /// The texture of which a reflection should be drawn + /// The texture of which a reflection should be drawn /// A SRectF struct containing the destination coordinates /// A SColorF struct containing a color which the texture will be colored in - /// A SRectF struct containing which part of the texture should be drawn /// The space between the texture and the reflection /// The height of the reflection - public void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height) + public void DrawTextureReflection(CTextureRef textureRef, SRectF rect, SColorF color, float space, float height) { - if (!_TextureExists(texture)) - return; - if (_D3DTextures[texture.ID] == null) + CD3DTexture texture; + if (!_GetTexture(textureRef, out texture)) return; - if (Math.Abs(rect.W) < float.Epsilon || Math.Abs(rect.H) < float.Epsilon || Math.Abs(bounds.H) < float.Epsilon || Math.Abs(bounds.W) < float.Epsilon || - Math.Abs(color.A) < float.Epsilon || height <= 0f) + if (Math.Abs(rect.W) < float.Epsilon || Math.Abs(rect.H) < float.Epsilon || Math.Abs(color.A) < float.Epsilon || height <= 0f) return; - if (bounds.X > rect.X + rect.W || bounds.X + bounds.W < rect.X) - return; - - if (bounds.Y > rect.Y + rect.H || bounds.Y + bounds.H < rect.Y) - return; - - if (height > bounds.H) - height = bounds.H; - - float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio; - float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio; - float y1 = (bounds.Y - rect.Y + rect.H - height) / rect.H * texture.HeightRatio; - float y2 = (bounds.Y + bounds.H - rect.Y) / rect.H * texture.HeightRatio; - - if (x1 < 0) - x1 = 0f; - - if (x2 > texture.WidthRatio) - x2 = texture.WidthRatio; - - if (y1 < 0) - y1 = 0f; - - if (y2 > texture.HeightRatio) - y2 = texture.HeightRatio; + if (height > rect.H) + height = rect.H; + const float x1 = 0; + float x2 = texture.WidthRatio; + float y1 = (rect.H - height) / rect.H * texture.HeightRatio; + float y2 = texture.HeightRatio; 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 < bounds.X) - rx1 = bounds.X; - - if (rx2 > bounds.X + bounds.W) - rx2 = bounds.X + bounds.W; - - if (ry1 < bounds.Y + space) - ry1 = bounds.Y + space; - - if (ry2 > bounds.Y + bounds.H + space + height) - ry2 = bounds.Y + bounds.H + space + height; - //Align the pixels because Direct3D expects the pixels to be the left top corner rx1 -= 0.5f; ry1 -= 0.5f; @@ -1276,79 +795,35 @@ namespace Vocaluxe.Lib.Draw vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y1), transparent.ToArgb()); vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), transparent.ToArgb()); vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb()); - _AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); + _AddToVertexBuffer(vert, texture.D3DTexture, _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); } #endregion drawing - private void _CheckQueue() - { - lock (_MutexTexture) - { - while (_TexturesToLoad.Count > 0) - { - STextureQueue q = _TexturesToLoad.Dequeue(); - Texture t; - if (_D3DTextures.TryGetValue(q.ID, out t) && t != null) - continue; - - t = _CreateTexture(q.TextureWidth, q.TextureHeight, q.DataWidth, q.Data); - _D3DTextures[q.ID] = t; - } - } - } - - /// - /// Gets the count of current textures - /// - /// The amount of textures - public int GetTextureCount() - { - return _D3DTextures.Count; - } #endregion Textures - #endregion implementation - - #region utility - /// - /// Calculates the next power of two if the device has the POW2 flag set - /// - /// The value of which the next power of two will be calculated - /// The next power of two - private int _CheckForNextPowerOf2(int n) + private static Matrix _CalculateRotationMatrix(float rot, float rx1, float rx2, float ry1, float ry2) { - if (_NonPowerOf2TextureSupported) - return n; - if (n < 0) - throw new ArgumentOutOfRangeException("n", "Must be positive."); - return (int)Math.Pow(2, Math.Ceiling(Math.Log(n, 2))); - } - - private SlimDX.Matrix _CalculateRotationMatrix(float rot, float rx1, float rx2, float ry1, float ry2) - { - SlimDX.Matrix originTranslation = SlimDX.Matrix.Translation(new Vector3(-(float)CSettings.RenderW / 2, (float)CSettings.RenderH / 2, 0)); + Matrix originTranslation = Matrix.Translation(new Vector3(-(float)CSettings.RenderW / 2, (float)CSettings.RenderH / 2, 0)); if (Math.Abs(rot) > float.Epsilon) { float rotation = rot * (float)Math.PI / 180; float centerX = (rx1 + rx2) / 2f; float centerY = -(ry1 + ry2) / 2f; - SlimDX.Matrix translationA = SlimDX.Matrix.Translation(-centerX, -centerY, 0); - SlimDX.Matrix rotationMat = SlimDX.Matrix.RotationZ(-rotation); - SlimDX.Matrix translationB = SlimDX.Matrix.Translation(centerX, centerY, 0); + Matrix translationA = Matrix.Translation(-centerX, -centerY, 0); + Matrix rotationMat = Matrix.RotationZ(-rotation); + Matrix translationB = Matrix.Translation(centerX, centerY, 0); //Multiplicate the matrices to get the real world matrix, //First shift the texture into the center //Rotate it and shift it back to the origin position //Apply the originTranslation after - SlimDX.Matrix result = translationA * rotationMat * translationB * originTranslation; + Matrix result = translationA * rotationMat * translationB * originTranslation; return result; } return originTranslation; } - #endregion utility - #region TexturedColoredVertex private struct STexturedColoredVertex { private static VertexDeclaration _Declaration; @@ -1380,7 +855,15 @@ namespace Vocaluxe.Lib.Draw return _Declaration; } + + public static void DisposeDeclaration() + { + if (_Declaration != null && !_Declaration.Disposed) + { + _Declaration.Dispose(); + _Declaration = null; + } + } } - #endregion TexturedColoredVertex } } \ No newline at end of file diff --git a/Vocaluxe/Lib/Draw/CDrawBase.cs b/Vocaluxe/Lib/Draw/CDrawBase.cs new file mode 100644 index 00000000..3a8eeed2 --- /dev/null +++ b/Vocaluxe/Lib/Draw/CDrawBase.cs @@ -0,0 +1,1004 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Drawing.Imaging; +using System.Linq; +using System.Runtime.InteropServices; +using System.Threading; +using System.Threading.Tasks; +using Vocaluxe.Base; +using VocaluxeLib; +using VocaluxeLib.Draw; +using System.Diagnostics; + +namespace Vocaluxe.Lib.Draw +{ + /// + /// Base class for graphic drivers + /// A few notes: + /// Writes to textures (TTextureType) should only be done in the main thread + /// Writes to the RefCount of existing textures should only be done in the main thread and guarded by _Textures lock + /// + /// + abstract class CDrawBase where TTextureType : CTextureBase, IDisposable + { + private enum EQueueAction + { + Add, + Update, + Delete + } + + private struct STextureQueue + { + public readonly object TextureOrRef; + /// + /// Only valid if Data is byte[] + /// + public readonly Size DataSize; + public readonly object Data; + public readonly EQueueAction Action; + + /// + /// Creates a new Queue entry + /// + /// TTextureType or CTextureRef + /// + /// Texture data as a bitmap + public STextureQueue(object textureOrRef, EQueueAction action, Bitmap data) + { + TextureOrRef = textureOrRef; + Action = action; + Data = data; + DataSize = new Size(); + } + + /// + /// Creates a new Queue entry + /// + /// TTextureType or CTextureRef + /// + /// Size of data + /// Texture data + public STextureQueue(object textureOrRef, EQueueAction action, Size dataSize, byte[] data) + { + TextureOrRef = textureOrRef; + Action = action; + DataSize = dataSize; + Data = data; + } + } + + private struct STextureCacheEntry + { + public TTextureType Texture; + /// + /// Size of original image (e.g. of bmp) + /// + public Size OrigSize; + } + + protected bool _NonPowerOf2TextureSupported; + protected bool _Fullscreen; + + protected bool _Run; + + protected readonly CKeys _Keys = new CKeys(); + protected readonly CMouse _Mouse = new CMouse(); + + private int _NextID; + private readonly Object _MutexID = new object(); + + // Maps texture IDs to textures. Multiple IDs can be mapped to one texture (-->texture.RefCount>1) + private readonly Dictionary _Textures = new Dictionary(); + // Maps texturePaths to textures. Texture may have already been disposed (RefCount<=0) + private readonly Dictionary _TextureCache = new Dictionary(); + private readonly Queue _TextureQueue = new Queue(); + private readonly Dictionary> _BitmapsLoading = new Dictionary>(); + private int _TextureCount; + + protected int _H; + protected int _W; + protected int _Y; + protected int _X; + + protected int _BorderLeft; + protected int _BorderRight; + protected int _BorderTop; + protected int _BorderBottom; + protected EGeneralAlignment _CurrentAlignment = EGeneralAlignment.Middle; + + private int _MainThreadID; + + protected abstract void _ClearScreen(); + protected abstract void _AdjustNewBorders(); + protected abstract void _LeaveFullScreen(); + + protected abstract void _OnAfterDraw(); + + protected abstract void _OnBeforeDraw(); + + protected abstract void _DoResize(); + + protected abstract void _EnterFullScreen(); + + public virtual bool Init() + { + _MainThreadID = Thread.CurrentThread.ManagedThreadId; + return true; + } + + /// + /// This makes sure, the function is called from within the main thread + /// + private void _EnsureMainThread() + { + Debug.Assert(_MainThreadID == Thread.CurrentThread.ManagedThreadId); + } + + public virtual void Unload() + { + _EnsureMainThread(); + lock (_Textures) + { + //Dispose all textures + foreach (TTextureType texture in _Textures.Values) + { + if (texture != null && --texture.RefCount <= 0) + texture.Dispose(); + } + _Textures.Clear(); + _TextureCache.Clear(); + } + } + + protected void _AdjustAspect(bool reverse) + { + if (_W / (float)_H > CSettings.GetRenderAspect()) + { + _Y = 0; + //The windows width is too big + int old = _W; + _W = (int)Math.Round(_H * CSettings.GetRenderAspect()); + int diff = old - _W; + switch (_CurrentAlignment) + { + case EGeneralAlignment.Start: + _X = 0; + break; + case EGeneralAlignment.Middle: + _X = diff / 2; + break; + case EGeneralAlignment.End: + _X = diff; + break; + } + } + else + { + _X = 0; + //The windows height is too big + int old = _H; + _H = (int)Math.Round(_W / CSettings.GetRenderAspect()); + int diff = old - _H; + switch (_CurrentAlignment) + { + case EGeneralAlignment.Start: + _Y = reverse ? diff : 0; + break; + case EGeneralAlignment.Middle: + _Y = diff / 2; + break; + case EGeneralAlignment.End: + _Y = reverse ? 0 : diff; + break; + } + } + } + + /// + /// Calculates the next power of two if the device has the POW2 flag set + /// + /// The value of which the next power of two will be calculated + /// The next power of two + protected int _CheckForNextPowerOf2(int n) + { + if (_NonPowerOf2TextureSupported) + return n; + if (n < 0) + throw new ArgumentOutOfRangeException("n", "Must be positive."); + return (int)Math.Pow(2, Math.Ceiling(Math.Log(n, 2))); + } + + #region Textures + + #region private/protected + /// + /// Returns the maximum area allowed for a texture based on the current quality + /// + /// + private static int _GetMaxTextureArea() + { + switch (CConfig.TextureQuality) + { + case ETextureQuality.TR_CONFIG_TEXTURE_LOWEST: + return 128 * 128; + case ETextureQuality.TR_CONFIG_TEXTURE_LOW: + return 256 * 128; + case ETextureQuality.TR_CONFIG_TEXTURE_MEDIUM: + return 512 * 256; + case ETextureQuality.TR_CONFIG_TEXTURE_HIGH: + return 1024 * 512; + case ETextureQuality.TR_CONFIG_TEXTURE_HIGHEST: + return CSettings.RenderW * CSettings.RenderH; + default: + throw new ArgumentException(); + } + } + + /// + /// Returns true if a texture with the given size needs to be resized + /// + /// + /// + private static bool _RequiresResize(Size size) + { + int maxArea = _GetMaxTextureArea(); + int curArea = size.Width * size.Height; + return curArea > maxArea; + } + + /// + /// Calculates the size for a new texture using the quality and smart values for rescaling + /// + /// New size for the texture + private Size _GetNewTextureSize(Size size) + { + Debug.Assert(size.Width > 0 && size.Height > 0); + int maxArea = _GetMaxTextureArea(); + int curArea = size.Width * size.Height; + if (curArea <= maxArea) + return size; + Debug.Assert(_RequiresResize(size)); + double factor = Math.Sqrt((double)maxArea / curArea); + Size newSize = new Size((int)(size.Width * factor), (int)(size.Height * factor)); + if (!_NonPowerOf2TextureSupported) + { + if (size.Width < size.Height) + { + newSize.Width = _CheckForNextPowerOf2(newSize.Width); + newSize.Height = _CheckForNextPowerOf2(maxArea / newSize.Width); + if (newSize.Width * newSize.Height > maxArea) + newSize.Height /= 2; + } + else + { + newSize.Height = _CheckForNextPowerOf2(newSize.Height); + newSize.Width = _CheckForNextPowerOf2(maxArea / newSize.Height); + if (newSize.Width * newSize.Height > maxArea) + newSize.Width /= 2; + } + } + Debug.Assert(newSize.Width * newSize.Height <= maxArea); + return newSize; + } + + protected abstract void _WriteDataToTexture(TTextureType texture, byte[] data); + + protected virtual void _WriteDataToTexture(TTextureType texture, IntPtr data) + { + byte[] dataArray = new byte[4 * texture.DataSize.Width * texture.DataSize.Height]; + Marshal.Copy(data, dataArray, 0, dataArray.Length); + _WriteDataToTexture(texture, dataArray); + } + + /// + /// Factory method to create a texture of the actual type
+ /// The implementer has to create an invalid texture (IsLoaded=false) if dataSize=(-1,-1) + ///
+ /// + /// + protected abstract TTextureType _CreateTexture(Size dataSize); + + /// + /// Creates the texture specified by the reference and fills it with the given data + /// + /// + /// + /// + private TTextureType _CreateAndFillTexture(Size dataSize, byte[] data) + { + TTextureType texture = _CreateTexture(dataSize); + _WriteDataToTexture(texture, data); + return texture; + } + + /// + /// Writes the specified bitmap to the texture, creating it if null
+ /// Also does the resizing if required + ///
+ /// + /// + private void _WriteBitmapToTexture(ref TTextureType texture, Bitmap bmp) + { + Bitmap bmp2 = null; + try + { + Size size = _GetNewTextureSize(bmp.GetSize()); + if (!size.Equals(bmp.GetSize())) + { + bmp2 = bmp.Resize(size); + bmp = bmp2; + } + + //Fill the new Bitmap with the texture data + BitmapData bmpData = bmp.LockBits(bmp.GetRect(), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); + if (texture == null) + texture = _CreateTexture(size); + else + texture.DataSize = size; + _WriteDataToTexture(texture, bmpData.Scan0); + bmp.UnlockBits(bmpData); + } + finally + { + if (bmp2 != null) + bmp2.Dispose(); + } + } + + /// + /// Adds the texture to the cache
+ /// Asserts that the cache entry does not exist yet. So make Get/Add cache atomic through use of _TextureCache lock!
+ /// Thread safe + ///
+ /// + /// + /// + private void _AddToCache(TTextureType texture, Size origSize, string texturePath) + { + if (String.IsNullOrEmpty(texturePath)) + return; + Debug.Assert(texture != null); + lock (_Textures) + { + Debug.Assert(!_TextureCache.ContainsKey(texturePath)); + texture.TexturePath = texturePath; + STextureCacheEntry cacheEntry = new STextureCacheEntry {OrigSize = origSize, Texture = texture}; + _TextureCache.Add(texturePath, cacheEntry); + } + } + + /// + /// Gets a new texture reference from the cache
+ /// Thread safe + ///
+ /// + /// Task that loads the texture or null if not loading + /// + private CTextureRef _GetFromCache(string texturePath, out Task loader) + { + loader = null; + if (String.IsNullOrEmpty(texturePath)) + return null; + lock (_TextureCache) + lock (_Textures) + { + STextureCacheEntry cacheEntry; + if (_TextureCache.TryGetValue(texturePath, out cacheEntry)) + { + if (cacheEntry.Texture.RefCount <= 0) + _TextureCache.Remove(texturePath); + else + { + if (cacheEntry.OrigSize.Width < 0) + { + lock (_BitmapsLoading) + { + loader = _BitmapsLoading[texturePath]; + } + } + return _GetTextureReference(cacheEntry.OrigSize, cacheEntry.Texture); + } + } + } + return null; + } + + /// + /// Method used to add a texture to the texture list and return a TextureRef to it
+ /// If you are using an already used texture, you have to hold the _Textures lock or call from the main thread!
+ /// Thread safe + ///
+ /// + /// + /// + protected CTextureRef _GetTextureReference(Size origSize, TTextureType texture) + { + Debug.Assert(origSize.Width > 0 && origSize.Height > 0); + Debug.Assert(texture != null); + int id; + lock (_MutexID) + { + id = _NextID++; + } + CTextureRef textureRef = new CTextureRef(id, origSize); + lock (_Textures) + { + if (texture.RefCount == 0) + _TextureCount++; + texture.RefCount++; + _Textures.Add(id, texture); + } + return textureRef; + } + + /// + /// Method used to add a texture to the texture list and return a TextureRef to it
+ /// Thread safe
+ /// Convenience method + ///
+ /// + /// + /// + /// + protected CTextureRef _GetTextureReference(int origWidth, int origHeight, TTextureType texture) + { + return _GetTextureReference(new Size(origWidth, origHeight), texture); + } + + private static bool _IsTextureUsable(TTextureType texture, int dataWidth, int dataHeight) + { + if (texture == null) + return false; + if (texture.DataSize.Width != dataWidth || texture.DataSize.Height != dataHeight) + { + if (texture.W2 > dataWidth || texture.H2 > dataHeight) + return false; // Texture memory to small + if (texture.W2 * 0.9 < dataWidth || texture.H2 * 0.9 < dataHeight) + return false; // Texture memory to big + } + return true; + } + + protected bool _GetTexture(CTextureRef textureRef, out TTextureType texture, bool checkDrawable = true) + { + if (textureRef == null) + { + texture = null; + return false; + } + lock (_Textures) + { + return _Textures.TryGetValue(textureRef.ID, out texture) && (!checkDrawable || texture.IsLoaded); + } + } + + /// + /// Decreases the RefCount of a texture and disposes it if necessary + /// + /// + private void _DisposeTexture(TTextureType texture) + { + _EnsureMainThread(); + lock (_Textures) + { + if (texture != null && --texture.RefCount <= 0) + { + if (texture.TexturePath != null) + _TextureCache.Remove(texture.TexturePath); + texture.Dispose(); + _TextureCount--; + } + } + } + + private void _CheckQueue() + { + _EnsureMainThread(); + lock (_TextureQueue) + { + while (_TextureQueue.Count > 0) + { + STextureQueue q = _TextureQueue.Dequeue(); + + if (q.Action == EQueueAction.Add) + { + TTextureType oldTexture = q.TextureOrRef as TTextureType; + Debug.Assert(oldTexture != null, "Queued type is wrong"); + Debug.Assert(!oldTexture.IsLoaded); + if (oldTexture.RefCount <= 0) + continue; + TTextureType texture = null; + // ReSharper disable CanBeReplacedWithTryCastAndCheckForNull + if (q.Data is Bitmap) + _WriteBitmapToTexture(ref texture, (Bitmap)q.Data); + else if (q.Data is byte[]) + texture = _CreateAndFillTexture(q.DataSize, (byte[])q.Data); + else + throw new ArgumentException("q.Data is of invalid type"); + // ReSharper restore CanBeReplacedWithTryCastAndCheckForNull + _MergeTextures(oldTexture, texture); + } + else + { + CTextureRef textureRef = q.TextureOrRef as CTextureRef; + Debug.Assert(textureRef != null, "Queued type is wrong"); + if (!_Textures.ContainsKey(textureRef.ID)) + continue; + if (q.Action == EQueueAction.Update) + { + // ReSharper disable CanBeReplacedWithTryCastAndCheckForNull + if (q.Data is Bitmap) + UpdateTexture(textureRef, (Bitmap)q.Data); + else if (q.Data is byte[]) + UpdateTexture(textureRef, q.DataSize.Width, q.DataSize.Height, (byte[])q.Data); + else + throw new ArgumentException("q.Data is of invalid type"); + // ReSharper restore CanBeReplacedWithTryCastAndCheckForNull + } + else if (q.Action == EQueueAction.Delete) + RemoveTexture(ref textureRef); + } + } + } + } + + /// + /// Replaces one oldTexture by newTexture summing the refCounts. Also disposes oldTexture + /// + /// + /// + private void _MergeTextures(TTextureType oldTexture, TTextureType newTexture) + { + _EnsureMainThread(); + Debug.Assert(oldTexture.RefCount > 0); + lock (_Textures) + { + newTexture.RefCount += oldTexture.RefCount; + IEnumerable oldKeys = _Textures.Where(pair => pair.Value == oldTexture).Select(pair => pair.Key).ToArray(); + foreach (int key in oldKeys) + _Textures[key] = newTexture; + if (!String.IsNullOrEmpty(oldTexture.TexturePath)) + { + newTexture.TexturePath = oldTexture.TexturePath; + STextureCacheEntry cacheEntry; + if (_TextureCache.TryGetValue(newTexture.TexturePath, out cacheEntry)) + { + cacheEntry.Texture = newTexture; + _TextureCache[newTexture.TexturePath] = cacheEntry; + } + } + oldTexture.Dispose(); + } + } + #endregion private/protected + + /// + /// Adds a texture and stores it in the VRam + /// + /// The texture's filepath + /// A STexture object containing the added texture + public CTextureRef AddTexture(string texturePath) + { + _EnsureMainThread(); + CTextureRef textureRef; + Task loader; + lock (_TextureCache) + { + textureRef = _GetFromCache(texturePath, out loader); + } + if (textureRef != null) + { + if (loader != null) + textureRef.OrigSize = loader.Result; + Debug.Assert(textureRef.OrigSize.Width > 0); + return textureRef; + } + + Bitmap bmp = CHelper.LoadBitmap(texturePath); + if (bmp == null) + return null; + try + { + textureRef = AddTexture(bmp, texturePath); + } + finally + { + bmp.Dispose(); + } + return textureRef; + } + + public CTextureRef AddTexture(Bitmap bmp) + { + _EnsureMainThread(); + return AddTexture(bmp, null); + } + + /// + /// Adds a texture and stores it in the Vram + /// + /// The Bitmap of which the texure will be created from + /// + /// A reference to the texture + public CTextureRef AddTexture(Bitmap bmp, string texturePath) + { + _EnsureMainThread(); + if (bmp.Height == 0 || bmp.Width == 0) + return null; + + CTextureRef textureRef; + Size origSize = bmp.GetSize(); + TTextureType texture = null; + Task loader; + // Make the Get/Add Cache methods atomic + lock (_TextureCache) + { + textureRef = _GetFromCache(texturePath, out loader); + if (textureRef == null) + { + _WriteBitmapToTexture(ref texture, bmp); + + _AddToCache(texture, origSize, texturePath); + } + } + if (textureRef == null) + textureRef = _GetTextureReference(origSize, texture); + else if (loader != null) + textureRef.OrigSize = loader.Result; + Debug.Assert(textureRef.OrigSize.Width > 0); + return textureRef; + } + + public CTextureRef AddTexture(int w, int h, byte[] data) + { + _EnsureMainThread(); + TTextureType texture = _CreateAndFillTexture(new Size(w, h), data); + return _GetTextureReference(w, h, texture); + } + + public CTextureRef EnqueueTexture(int w, int h, byte[] data) + { + lock (_TextureQueue) + { + TTextureType texture = _CreateTexture(new Size(-1, -1)); + CTextureRef textureRef = _GetTextureReference(w, h, texture); + _TextureQueue.Enqueue(new STextureQueue(texture, EQueueAction.Add, new Size(w, h), data)); + return textureRef; + } + } + + /// + /// Enqueues a bitmap to add or update the texture + /// + /// TTextureType (Add) or CTextureRef(Update) + /// + /// + /// True if resizing should be done in an extra thread + private void _EnqueueTextureAddOrUpdate(Object texture, Bitmap bmp, EQueueAction action, bool asyncResize) + { + Debug.Assert(action == EQueueAction.Add || action == EQueueAction.Update); + Debug.Assert(action != EQueueAction.Add || texture is TTextureType); + Debug.Assert(action != EQueueAction.Update || texture is CTextureRef); + if (_RequiresResize(bmp.GetSize())) + { + if (asyncResize) + Task.Factory.StartNew(() => _ResizeTextureAndEnqueue(texture, bmp, action)); + else + _ResizeTextureAndEnqueue(texture, bmp, action); + } + else + { + lock (_TextureQueue) + { + _TextureQueue.Enqueue(new STextureQueue(texture, action, bmp)); + } + } + } + + /// + /// Helper function to resize a bitmap and enqueue it + /// + /// + /// + /// + private void _ResizeTextureAndEnqueue(object texture, Bitmap bmp, EQueueAction action) + { + Bitmap bmp2 = bmp.Resize(_GetNewTextureSize(bmp.Size)); + bmp.Dispose(); + lock (_TextureQueue) + { + _TextureQueue.Enqueue(new STextureQueue(texture, action, bmp2)); + } + } + + public CTextureRef EnqueueTexture(Bitmap bmp) + { + TTextureType texture = _CreateTexture(new Size(-1, -1)); + CTextureRef textureRef = _GetTextureReference(bmp.GetSize(), texture); + _EnqueueTextureAddOrUpdate(texture, bmp, EQueueAction.Add, true); + + return textureRef; + } + + public CTextureRef EnqueueTexture(String filePath) + { + // 3 important scenarios: (+ means after, || means in parallel) + // 1) EnqueueTexture(fileA) (+ or ||) EnqueueTexture(fileA) --> No block on 2nd call and same texture returned + // 2) EnqueueTexture(fileA) + AddTexture(fileA) before texture is loaded --> Wait in AddTexture for this to finish + // 3) a) AddTexture(fileA) || b) EnqueueTexture(fileA) with a)getFromCache + b)getFromCache + a)addToCache + b)addToCache --> Only keep one copy + // All solved with atomic get/add cache and _WaitForTextureLoaded + + CTextureRef textureRef; + TTextureType texture = null; + Task loader; + // Make Get/Add cache atomic + lock (_TextureCache) + { + textureRef = _GetFromCache(filePath, out loader); + if (textureRef == null) + { + Debug.Assert(loader == null); + Size invalidSize = new Size(-1, -1); + texture = _CreateTexture(invalidSize); + // This cache entry has to be updated once the real origSize is available + _AddToCache(texture, invalidSize, filePath); + textureRef = _GetTextureReference(invalidSize, texture); + // Add the loader to the dictionary in the same lock as the add cache call + // Avoids that we get a cache entry in AddTexture but no Task + loader = new Task(() => _LoadAndEnqueueBitmap(filePath, textureRef, texture)); + lock (_BitmapsLoading) + { + _BitmapsLoading.Add(filePath, loader); + } + } + } + + if (texture == null) + { + // Found in cache + CTextureRef tmp = textureRef; // Workaround for implicitly captured closure warning (false positive) + if (loader != null) + Task.Factory.StartNew(() => tmp.OrigSize = loader.Result); + return textureRef; + } + + Debug.Assert(loader != null); + Debug.Assert(texture != null); + loader.Start(); + return textureRef; + } + + /// + /// Helper function for loading a bitmap in a task + /// + /// + /// + /// + /// + private Size _LoadAndEnqueueBitmap(string filePath, CTextureRef textureRef, TTextureType texture) + { + Bitmap bmp = CHelper.LoadBitmap(filePath); + if (bmp == null) + { + RemoveTexture(ref textureRef); // Done asynchonously in the function + lock (_Textures) + { + _TextureCache.Remove(filePath); + lock (_BitmapsLoading) + { + _BitmapsLoading.Remove(filePath); + } + } + return new Size(-1, -1); + } + Size origSize = bmp.GetSize(); + textureRef.OrigSize = origSize; + // Update cache, use the same lock as in add/get cache methods + lock (_Textures) + { + STextureCacheEntry cacheEntry; + if (_TextureCache.TryGetValue(filePath, out cacheEntry)) + { + cacheEntry.OrigSize = origSize; + _TextureCache[filePath] = cacheEntry; + } + lock (_BitmapsLoading) + { + _BitmapsLoading.Remove(filePath); + } + } + _EnqueueTextureAddOrUpdate(texture, bmp, EQueueAction.Add, false); + return origSize; + } + + public void EnqueueTextureUpdate(CTextureRef textureRef, Bitmap bmp) + { + _EnqueueTextureAddOrUpdate(textureRef, bmp, EQueueAction.Update, true); + } + + /// + /// Updates the data of a texture + /// + /// The texture to update + /// + /// + /// A byte array containing the new texture's data + /// True if succeeded + public void UpdateTexture(CTextureRef textureRef, int w, int h, byte[] data) + { + _EnsureMainThread(); + TTextureType texture; + if (!_GetTexture(textureRef, out texture, false)) + return; + bool reuseTexture = _IsTextureUsable(texture, w, h); + if (reuseTexture && texture.RefCount == 1) + { + texture.DataSize = new Size(w, h); + _WriteDataToTexture(texture, data); + } + else + { + _DisposeTexture(texture); + texture = _CreateAndFillTexture(new Size(w, h), data); + texture.RefCount = 1; + _Textures[textureRef.ID] = texture; + } + } + + public void UpdateTexture(CTextureRef textureRef, Bitmap bmp) + { + _EnsureMainThread(); + TTextureType texture; + if (!_GetTexture(textureRef, out texture, false)) + return; + bool reuseTexture = _IsTextureUsable(texture, bmp.Width, bmp.Height); + if (reuseTexture && texture.RefCount == 1) + _WriteBitmapToTexture(ref texture, bmp); + else + { + _DisposeTexture(texture); + texture = null; + _WriteBitmapToTexture(ref texture, bmp); + texture.RefCount = 1; + _Textures[textureRef.ID] = texture; + } + } + + public CTextureRef CopyTexture(CTextureRef textureRef) + { + _EnsureMainThread(); + TTextureType texture; + if (!_GetTexture(textureRef, out texture, false)) + return null; + // If bitmap is not yet loaded, wait for it + if (!String.IsNullOrEmpty(texture.TexturePath)) + { + Task loader; + lock (_BitmapsLoading) + { + _BitmapsLoading.TryGetValue(texture.TexturePath, out loader); + } + if (loader != null) + textureRef.OrigSize = loader.Result; + } + Debug.Assert(textureRef.OrigSize.Width > 0); + return _GetTextureReference(textureRef.OrigSize, texture); + } + + /// + /// Removes a texture from the Vram + /// + /// The texture to be removed + public void RemoveTexture(ref CTextureRef textureRef) + { + if (textureRef == null) + return; + if (textureRef.ID > 0) + { + if (_MainThreadID != Thread.CurrentThread.ManagedThreadId) + { + lock (_TextureQueue) + { + _TextureQueue.Enqueue(new STextureQueue(textureRef, EQueueAction.Delete, null)); + } + textureRef = null; + return; + } + lock (_Textures) + { + TTextureType t; + if (_Textures.TryGetValue(textureRef.ID, out t)) + { + _DisposeTexture(t); + _Textures.Remove(textureRef.ID); + } + textureRef.SetRemoved(); + } + } + textureRef = null; + } + + public int GetTextureCount() + { + return _TextureCount; + } + #endregion + + // Resharper doesn't get that this is used -.- + // ReSharper disable UnusedMemberHiearchy.Global + /// + /// Starts the rendering + /// + public virtual void MainLoop() + { + // ReSharper restore UnusedMemberHiearchy.Global + _EnsureMainThread(); + _Run = true; + + _Fullscreen = false; + if (CConfig.FullScreen == EOffOn.TR_CONFIG_ON) + _EnterFullScreen(); + else + _DoResize(); //Resize window if aspect ratio is incorrect + + while (_Run) + { + _CheckQueue(); + + //We want to begin drawing + _OnBeforeDraw(); + + //Clear the previous Frame + _ClearScreen(); + if (!CGraphics.Draw()) + _Run = false; + _OnAfterDraw(); + + if (!CGraphics.UpdateGameLogic(_Keys, _Mouse)) + _Run = false; + + //Apply fullscreen mode + if ((CConfig.FullScreen == EOffOn.TR_CONFIG_ON) != _Fullscreen) + _ToggleFullScreen(); + + //Apply border changes + if (_BorderLeft != CConfig.BorderLeft || _BorderRight != CConfig.BorderRight || _BorderTop != CConfig.BorderTop || _BorderBottom != CConfig.BorderBottom) + { + _BorderLeft = CConfig.BorderLeft; + _BorderRight = CConfig.BorderRight; + _BorderTop = CConfig.BorderTop; + _BorderBottom = CConfig.BorderBottom; + + _AdjustNewBorders(); + } + + if (_CurrentAlignment != CConfig.ScreenAlignment) + _DoResize(); + + if (CConfig.VSync == EOffOn.TR_CONFIG_OFF) + { + if (CTime.IsRunning()) + { + int delay = (int)Math.Floor(CConfig.CalcCycleTime() - CTime.GetMilliseconds()); + + if (delay >= 1 && delay < 500) + Thread.Sleep(delay); + } + } + //Calculate the FPS Rate and restart the timer after a frame + CTime.CalculateFPS(); + CTime.Restart(); + } + } + + private void _ToggleFullScreen() + { + if (!_Fullscreen) + _EnterFullScreen(); + else + _LeaveFullScreen(); + } + } +} \ No newline at end of file diff --git a/Vocaluxe/Lib/Draw/CDrawBaseWindows.cs b/Vocaluxe/Lib/Draw/CDrawBaseWindows.cs new file mode 100644 index 00000000..8ac494e8 --- /dev/null +++ b/Vocaluxe/Lib/Draw/CDrawBaseWindows.cs @@ -0,0 +1,198 @@ +using System; +using System.ComponentModel; +using System.Diagnostics; +using System.Drawing; +using System.IO; +using System.Windows.Forms; +using Vocaluxe.Base; + +namespace Vocaluxe.Lib.Draw +{ + public delegate bool MessageEventHandler(ref Message m); + + public interface IFormHook + { + MessageEventHandler OnMessage { set; } + } + + abstract class CDrawBaseWindows : CDrawBase where TTextureType : CTextureBase, IDisposable + { + private struct SClientRect + { + public Point Location; + public int Width; + public int Height; + } + + protected Form _Form; + private SClientRect _Restore; + protected Size _SizeBeforeMinimize; + + public override void Unload() + { + base.Unload(); + try + { + _Form.Close(); + } + catch {} + } + + protected void _CenterToScreen() + { + Screen screen = Screen.FromControl(_Form); + _Form.Location = new Point((screen.WorkingArea.Width - _Form.Width) / 2, + (screen.WorkingArea.Height - _Form.Height) / 2); + } + + private static bool _OnMessageAvoidScreenOff(ref Message m) + { + switch (m.Msg) + { + case 0x112: // WM_SYSCOMMAND + switch ((int)m.WParam & 0xFFF0) + { + case 0xF100: // SC_KEYMENU + m.Result = IntPtr.Zero; + return false; + case 0xF140: // SC_SCREENSAVER + case 0xF170: // SC_MONITORPOWER + return false; + } + break; + } + return true; + } + + protected override void _EnterFullScreen() + { + Debug.Assert(!_Fullscreen); + _Fullscreen = true; + + _Restore.Location = _Form.Location; + _Restore.Width = _Form.Width; + _Restore.Height = _Form.Height; + + _Form.FormBorderStyle = FormBorderStyle.None; + + Screen screen = Screen.FromControl(_Form); + _Form.DesktopBounds = new Rectangle(screen.Bounds.Location, new Size(screen.Bounds.Width, screen.Bounds.Height)); + + if (_Form.WindowState == FormWindowState.Maximized) + { + _Form.WindowState = FormWindowState.Normal; + _DoResize(); + _Form.WindowState = FormWindowState.Maximized; + } + else + _DoResize(); + } + + protected override void _LeaveFullScreen() + { + Debug.Assert(_Fullscreen); + _Fullscreen = false; + + _Form.FormBorderStyle = FormBorderStyle.Sizable; + _Form.DesktopBounds = new Rectangle(_Restore.Location, new Size(_Restore.Width, _Restore.Height)); + } + + #region form event handlers + private void _OnClose(object sender, CancelEventArgs e) + { + _Run = false; + } + + private void _OnLoad(object sender, EventArgs e) + { + _ClearScreen(); + } + + protected virtual void _OnResize(object sender, EventArgs e) + { + _DoResize(); + } + + #region mouse event handlers + protected void _OnMouseMove(object sender, MouseEventArgs e) + { + _Mouse.MouseMove(e); + } + + protected void _OnMouseWheel(object sender, MouseEventArgs e) + { + _Mouse.MouseWheel(e); + } + + protected void _OnMouseDown(object sender, MouseEventArgs e) + { + _Mouse.MouseDown(e); + } + + protected void _OnMouseUp(object sender, MouseEventArgs e) + { + _Mouse.MouseUp(e); + } + + protected void _OnMouseLeave(object sender, EventArgs e) + { + _Mouse.Visible = false; + Cursor.Show(); + } + + protected void _OnMouseEnter(object sender, EventArgs e) + { + Cursor.Hide(); + _Mouse.Visible = true; + } + #endregion + + #region keyboard event handlers + protected void _OnPreviewKeyDown(object sender, PreviewKeyDownEventArgs e) + { + _OnKeyDown(sender, new KeyEventArgs(e.KeyData)); + } + + protected void _OnKeyDown(object sender, KeyEventArgs e) + { + _Keys.KeyDown(e); + } + + protected void _OnKeyPress(object sender, KeyPressEventArgs e) + { + _Keys.KeyPress(e); + } + + protected void _OnKeyUp(object sender, KeyEventArgs e) + { + _Keys.KeyUp(e); + } + #endregion keyboard event handlers + + #endregion + + public override bool Init() + { + if (!base.Init()) + return false; + _Form.Icon = new Icon(Path.Combine(CSettings.ProgramFolder, CSettings.FileNameIcon)); + _Form.Text = CSettings.GetFullVersionText(); + ((IFormHook)_Form).OnMessage = _OnMessageAvoidScreenOff; + _Form.Closing += _OnClose; + _Form.Resize += _OnResize; + _Form.Load += _OnLoad; + + _SizeBeforeMinimize = _Form.ClientSize; + _CenterToScreen(); + + return true; + } + + public override void MainLoop() + { + _Form.Show(); + base.MainLoop(); + _Form.Hide(); + } + } +} \ No newline at end of file diff --git a/Vocaluxe/Lib/Draw/CDrawWinForm.cs b/Vocaluxe/Lib/Draw/CDrawWinForm.cs index 08720117..0c9cb5c4 100644 --- a/Vocaluxe/Lib/Draw/CDrawWinForm.cs +++ b/Vocaluxe/Lib/Draw/CDrawWinForm.cs @@ -44,7 +44,8 @@ namespace Vocaluxe.Lib.Draw private bool _TopMost; private Rectangle _Bounds; - private readonly Dictionary _Textures = new Dictionary(); + private readonly Dictionary _Textures = new Dictionary(); + private readonly Dictionary _TextureCache = new Dictionary(); private readonly List _Bitmaps = new List(); private readonly Color _ClearColor = Color.DarkBlue; @@ -64,7 +65,6 @@ namespace Vocaluxe.Lib.Draw _G = Graphics.FromImage(_Backbuffer); _G.Clear(Color.DarkBlue); - Paint += _OnPaintEvent; Closing += _OnClosingEvent; KeyDown += _OnKeyDownEvent; KeyPress += _OnKeyPressEvent; @@ -107,8 +107,6 @@ namespace Vocaluxe.Lib.Draw frontBuffer.DrawImage(_Backbuffer, new Rectangle(x, y, w, h), new Rectangle(0, 0, _Backbuffer.Width, _Backbuffer.Height), GraphicsUnit.Pixel); } - private void _OnPaintEvent(object sender, PaintEventArgs e) {} - #region FullScreenStuff private void _ToggleFullScreen() { @@ -234,6 +232,7 @@ namespace Vocaluxe.Lib.Draw if (_Run) { + ClearScreen(); _Run = _Run && CGraphics.Draw(); _Run = CGraphics.UpdateGameLogic(_Keys, _Mouse); _FlipBuffer(); @@ -279,11 +278,11 @@ namespace Vocaluxe.Lib.Draw _G.Clear(_ClearColor); } - public CTexture CopyScreen() + public CTextureRef CopyScreen() { var bmp = new Bitmap(_Backbuffer); _Bitmaps.Add(bmp); - CTexture texture = _GetNewTexture(bmp.Width, bmp.Height); + CTextureRef texture = _GetNewTexture(bmp.GetSize()); // Add to Texture List _Textures[texture.ID] = texture; @@ -291,9 +290,9 @@ namespace Vocaluxe.Lib.Draw return texture; } - public void CopyScreen(ref CTexture texture) + public void CopyScreen(ref CTextureRef texture) { - if (!_TextureExists(texture) || texture.W2 != GetScreenWidth() || texture.H2 != GetScreenHeight()) + if (!_TextureExists(texture) || texture.OrigSize.Width != GetScreenWidth() || texture.OrigSize.Height != GetScreenHeight()) { RemoveTexture(ref texture); texture = CopyScreen(); @@ -309,20 +308,15 @@ namespace Vocaluxe.Lib.Draw _Backbuffer.Save(file, ImageFormat.Png); } - public void DrawLine(int a, int r, int g, int b, int w, int x1, int y1, int x2, int y2) - { - _G.DrawLine(new Pen(Color.FromArgb(a, r, g, b), w), new Point(x1, y1), new Point(x2, y2)); - } + public void DrawRect(SColorF color, SRectF rect) {} - public void DrawColor(SColorF color, SRectF rect) {} + public void DrawRectReflection(SColorF color, SRectF rect, float space, float height) {} - public void DrawColorReflection(SColorF color, SRectF rect, float space, float height) {} - - public CTexture AddTexture(Bitmap bmp) + public CTextureRef AddTexture(Bitmap bmp) { var bmp2 = new Bitmap(bmp); _Bitmaps.Add(bmp2); - CTexture texture = _GetNewTexture(bmp.Width, bmp.Height); + CTextureRef texture = _GetNewTexture(bmp.GetSize()); // Add to Texture List _Textures[texture.ID] = texture; @@ -330,62 +324,84 @@ namespace Vocaluxe.Lib.Draw return texture; } - private CTexture _GetNewTexture(int w, int h) + private CTextureRef _GetNewTexture(Size size) { - return new CTexture(w, h) {ID = _Bitmaps.Count - 1}; + return new CTextureRef(_Bitmaps.Count - 1, size); } - public CTexture AddTexture(string texturePath) + public CTextureRef AddTexture(string texturePath) { if (File.Exists(texturePath)) { - foreach (CTexture tex in _Textures.Values) - { - if (tex.TexturePath == texturePath) - return tex; - } + CTextureRef texture; + if (_TextureCache.TryGetValue(texturePath, out texture)) + return texture; using (var bmp = new Bitmap(texturePath)) { - CTexture texture = AddTexture(bmp); - texture.TexturePath = texturePath; + texture = AddTexture(bmp); + _TextureCache.Add(texturePath, texture); } + return texture; } return null; } - private bool _TextureExists(CTexture texture) + private bool _TextureExists(CTextureRef texture) { return texture != null && _Textures.ContainsKey(texture.ID); } - public void RemoveTexture(ref CTexture texture) + public CTextureRef CopyTexture(CTextureRef textureRef) + { + if (_TextureExists(textureRef)) + return AddTexture(_Bitmaps[textureRef.ID]); + return null; + } + + public void RemoveTexture(ref CTextureRef texture) { if (_TextureExists(texture)) { _Bitmaps[texture.ID].Dispose(); _Textures.Remove(texture.ID); + texture.SetRemoved(); } texture = null; } - public CTexture EnqueueTexture(int w, int h, byte[] data) + public CTextureRef EnqueueTexture(int w, int h, byte[] data) { return AddTexture(w, h, data); } - public CTexture AddTexture(int w, int h, byte[] data) + public CTextureRef EnqueueTexture(string texturePath) + { + return AddTexture(texturePath); + } + + public CTextureRef EnqueueTexture(Bitmap bmp) + { + return AddTexture(bmp); + } + + public void EnqueueTextureUpdate(CTextureRef textureRef, Bitmap bmp) + { + UpdateTexture(textureRef, bmp); + } + + public CTextureRef AddTexture(int w, int h, byte[] data) { using (var bmp = new Bitmap(w, h)) { - BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); + BitmapData bmpData = bmp.LockBits(bmp.GetRect(), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); Marshal.Copy(data, 0, bmpData.Scan0, data.Length); bmp.UnlockBits(bmpData); return AddTexture(bmp); } } - public bool UpdateTexture(CTexture texture, int w, int h, byte[] data) + public void UpdateTexture(CTextureRef texture, int w, int h, byte[] data) { if (_TextureExists(texture)) { @@ -393,40 +409,22 @@ namespace Vocaluxe.Lib.Draw ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); Marshal.Copy(data, 0, bmpData.Scan0, data.Length); _Bitmaps[texture.ID].UnlockBits(bmpData); - return true; } - return false; } - public bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data) + public void UpdateTexture(CTextureRef textureRef, Bitmap bmp) { - if (!UpdateTexture(texture, w, h, data)) - { - RemoveTexture(ref texture); - texture = AddTexture(w, h, data); - } - return true; + if (_TextureExists(textureRef)) + _Bitmaps[textureRef.ID] = bmp; } - public void DrawTexture(CTexture texture) - { - if (texture != null) - DrawTexture(texture, texture.Rect, texture.Color); - } - - public void DrawTexture(CTexture texture, SRectF rect) - { - if (texture != null) - DrawTexture(texture, rect, texture.Color); - } - - public void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false) + public void DrawTexture(CTextureRef texture, SRectF rect, SColorF color, bool mirrored = false) { if (texture != null) DrawTexture(texture, rect, color, rect, mirrored); } - public void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false) + public void DrawTexture(CTextureRef texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false) { if (!_TextureExists(texture)) return; @@ -435,9 +433,9 @@ namespace Vocaluxe.Lib.Draw coloredBitmap.Dispose(); } - public void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end) {} + public void DrawTexture(CTextureRef texture, SRectF rect, SColorF color, float begin, float end) {} - public void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height) {} + public void DrawTextureReflection(CTextureRef texture, SRectF rect, SColorF color, float space, float height) {} public int GetTextureCount() { diff --git a/Vocaluxe/Lib/Draw/COpenGL.cs b/Vocaluxe/Lib/Draw/COpenGL.cs index 43ba70c2..94f0b63d 100644 --- a/Vocaluxe/Lib/Draw/COpenGL.cs +++ b/Vocaluxe/Lib/Draw/COpenGL.cs @@ -15,17 +15,12 @@ // along with Vocaluxe. If not, see . #endregion -using System.Drawing.Drawing2D; using System.Drawing.Imaging; -using System.Threading; using OpenTK; using OpenTK.Graphics; using System; -using System.Collections.Generic; -using System.ComponentModel; using System.Drawing; using System.IO; -using System.Runtime.InteropServices; using System.Windows.Forms; using Vocaluxe.Base; using VocaluxeLib; @@ -33,15 +28,11 @@ using VocaluxeLib.Draw; using BeginMode = OpenTK.Graphics.OpenGL.BeginMode; using BlendingFactorDest = OpenTK.Graphics.OpenGL.BlendingFactorDest; using BlendingFactorSrc = OpenTK.Graphics.OpenGL.BlendingFactorSrc; -using BufferAccess = OpenTK.Graphics.OpenGL.BufferAccess; -using BufferTarget = OpenTK.Graphics.OpenGL.BufferTarget; -using BufferUsageHint = OpenTK.Graphics.OpenGL.BufferUsageHint; using ClearBufferMask = OpenTK.Graphics.OpenGL.ClearBufferMask; using DepthFunction = OpenTK.Graphics.OpenGL.DepthFunction; using EnableCap = OpenTK.Graphics.OpenGL.EnableCap; using GL = OpenTK.Graphics.OpenGL.GL; using GenerateMipmapTarget = OpenTK.Graphics.OpenGL.GenerateMipmapTarget; -using KeyPressEventArgs = System.Windows.Forms.KeyPressEventArgs; using MatrixMode = OpenTK.Graphics.OpenGL.MatrixMode; using PixelFormat = OpenTK.Graphics.OpenGL.PixelFormat; using PixelInternalFormat = OpenTK.Graphics.OpenGL.PixelInternalFormat; @@ -54,67 +45,61 @@ using TextureTarget = OpenTK.Graphics.OpenGL.TextureTarget; namespace Vocaluxe.Lib.Draw { - struct SClientRect + class CFormHook : Form, IFormHook { - public Point Location; - public int Width; - public int Height; - }; + public MessageEventHandler OnMessage { private get; set; } - struct STextureQueue - { - public readonly int ID; - public readonly int TextureWidth; - public readonly int TextureHeight; - public readonly int DataWidth; - public readonly int DataHeight; - public readonly byte[] Data; - - public STextureQueue(int id, int textureWidth, int textureHeight, int dataWidth, int dataHeight, byte[] data) + protected override void WndProc(ref Message m) { - ID = id; - TextureWidth = textureWidth; - TextureHeight = textureHeight; - DataWidth = dataWidth; - DataHeight = dataHeight; - Data = data; + if (OnMessage == null || OnMessage(ref m)) + base.WndProc(ref m); } } - class COpenGL : Form, IDraw + class COGLTexture : CTextureBase + { + //The texture "name" according to the specs + public readonly int Name; + + public COGLTexture(int name, Size dataSize, int texWidth = 0, int texHeight = 0) : base(dataSize, texWidth, texHeight) + { + Name = name; + if (name == 0) + return; + GL.BindTexture(TextureTarget.Texture2D, Name); + + GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, W2, H2, 0, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero); + + GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.ClampToEdge); + GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.ClampToEdge); + GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); + GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.LinearMipmapLinear); + + GL.BindTexture(TextureTarget.Texture2D, 0); + } + + public override bool IsLoaded + { + get { return Name != 0; } + } + + public override void Dispose() + { + base.Dispose(); + if (Name != 0) + GL.DeleteTexture(Name); + } + } + + class COpenGL : CDrawBaseWindows, IDraw { #region private vars - private const int _MaxID = 100000; - - private readonly CKeys _Keys; - private readonly CMouse _Mouse; - private bool _Run; - private readonly GLControl _Control; - - private SClientRect _Restore; - private bool _Fullscreen; - - private readonly Dictionary _Textures = new Dictionary(); - private readonly Queue _IDs = new Queue(_MaxID); - private readonly Queue _TexturesToLoad = new Queue(); - - private readonly Object _MutexTexture = new Object(); - - private int _H = 1; - private int _W = 1; - private int _Y; - private int _X; - - private bool _UsePBO; #endregion private vars public COpenGL() { - Icon = new Icon(Path.Combine(CSettings.ProgramFolder, CSettings.FileNameIcon)); - - for (int i = 1; i < _MaxID; i++) - _IDs.Enqueue(i); + _Form = new CFormHook(); //Check AA Mode CConfig.AAMode = (EAntiAliasingModes)_CheckAntiAliasingMode((int)CConfig.AAMode); @@ -138,20 +123,13 @@ namespace Vocaluxe.Lib.Draw _Control.MakeCurrent(); _Control.VSync = CConfig.VSync == EOffOn.TR_CONFIG_ON; - Controls.Add(_Control); + _Form.Controls.Add(_Control); + _Control.KeyDown += _OnKeyDown; + _Control.PreviewKeyDown += _OnPreviewKeyDown; + _Control.KeyPress += _OnKeyPress; + _Control.KeyUp += _OnKeyUp; - _Keys = new CKeys(); - Paint += _OnPaintEvent; - Closing += _OnClosingEvent; - Resize += _OnResizeEvent; - - _Control.KeyDown += _OnKeyDownEvent; - _Control.PreviewKeyDown += _OnPreviewKeyDownEvent; - _Control.KeyPress += _OnKeyPressEvent; - _Control.KeyUp += _OnKeyUpEvent; - - _Mouse = new CMouse(); _Control.MouseMove += _OnMouseMove; _Control.MouseWheel += _OnMouseWheel; _Control.MouseDown += _OnMouseDown; @@ -159,12 +137,11 @@ namespace Vocaluxe.Lib.Draw _Control.MouseLeave += _OnMouseLeave; _Control.MouseEnter += _OnMouseEnter; - ClientSize = new Size(CConfig.ScreenW, CConfig.ScreenH); - CenterToScreen(); + _NonPowerOf2TextureSupported = false; } #region Helpers - private int _CheckAntiAliasingMode(int setValue) + private static int _CheckAntiAliasingMode(int setValue) { int samples = 0; @@ -223,189 +200,37 @@ namespace Vocaluxe.Lib.Draw return result - 8; } */ - - private void _ToggleFullScreen() - { - if (!_Fullscreen) - _EnterFullScreen(); - else - _LeaveFullScreen(); - } - - private void _EnterFullScreen() - { - _Fullscreen = true; - - _Restore.Location = Location; - _Restore.Width = Width; - _Restore.Height = Height; - - FormBorderStyle = FormBorderStyle.None; - - int screenNr = 0; - for (int i = 0; i < Screen.AllScreens.Length; i++) - { - Screen scr = Screen.AllScreens[i]; - if (scr.Bounds.Top <= Top && scr.Bounds.Left <= Left) - screenNr = i; - } - - DesktopBounds = new Rectangle(Screen.AllScreens[screenNr].Bounds.Location, new Size(Screen.AllScreens[screenNr].Bounds.Width, Screen.AllScreens[screenNr].Bounds.Height)); - - if (WindowState == FormWindowState.Maximized) - { - WindowState = FormWindowState.Normal; - _DoResize(); - WindowState = FormWindowState.Maximized; - } - else - _DoResize(); - } - - private void _LeaveFullScreen() - { - _Fullscreen = false; - - FormBorderStyle = FormBorderStyle.Sizable; - DesktopBounds = new Rectangle(_Restore.Location, new Size(_Restore.Width, _Restore.Height)); - } #endregion Helpers #region form events - private void _OnPaintEvent(object sender, PaintEventArgs e) {} - - private void _OnResizeEvent(object sender, EventArgs e) {} - - private void _OnClosingEvent(object sender, CancelEventArgs e) + protected override void _OnResize(object sender, EventArgs e) { - _Run = false; - } - - protected override void OnLoad(EventArgs e) - { - GL.ClearColor(Color.Black); - } - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - _Control.ClientSize = ClientSize; - _DoResize(); - } - - protected override void WndProc(ref Message m) - { - switch (m.Msg) - { - case 0x112: // WM_SYSCOMMAND - switch ((int)m.WParam & 0xFFF0) - { - case 0xF100: // SC_KEYMENU - m.Result = IntPtr.Zero; - break; - case 0xF140: // SC_SCREENSAVER - case 0xF170: // SC_MONITORPOWER - break; - default: - base.WndProc(ref m); - break; - } - break; - default: - base.WndProc(ref m); - break; - } + _Control.ClientSize = _Form.ClientSize; + base._OnResize(sender, e); } #endregion form events - #region mouse event handlers - private void _OnMouseMove(object sender, MouseEventArgs e) - { - _Mouse.MouseMove(e); - } - - private void _OnMouseWheel(object sender, MouseEventArgs e) - { - _Mouse.MouseWheel(e); - } - - private void _OnMouseDown(object sender, MouseEventArgs e) - { - _Mouse.MouseDown(e); - } - - private void _OnMouseUp(object sender, MouseEventArgs e) - { - _Mouse.MouseUp(e); - } - - private void _OnMouseLeave(object sender, EventArgs e) - { - _Mouse.Visible = false; - Cursor.Show(); - } - - private void _OnMouseEnter(object sender, EventArgs e) - { - Cursor.Hide(); - _Mouse.Visible = true; - } - #endregion - - #region keyboard event handlers - private void _OnPreviewKeyDownEvent(object sender, PreviewKeyDownEventArgs e) - { - _OnKeyDownEvent(sender, new KeyEventArgs(e.KeyData)); - } - - private void _OnKeyDownEvent(object sender, KeyEventArgs e) - { - _Keys.KeyDown(e); - } - - private void _OnKeyPressEvent(object sender, KeyPressEventArgs e) - { - _Keys.KeyPress(e); - } - - private void _OnKeyUpEvent(object sender, KeyEventArgs e) - { - _Keys.KeyUp(e); - } - #endregion keyboard event handlers - - private void _DoResize() + protected override void _DoResize() { _H = _Control.Height; _W = _Control.Width; - _Y = 0; - _X = 0; + _CurrentAlignment = CConfig.ScreenAlignment; - - if (_W / (float)_H > CSettings.GetRenderAspect()) - { - _W = (int)Math.Round(_H * CSettings.GetRenderAspect()); - _X = (_Control.Width - _W) / 2; - } - else - { - _H = (int)Math.Round(_W / CSettings.GetRenderAspect()); - _Y = (_Control.Height - _H) / 2; - } - - GL.MatrixMode(MatrixMode.Projection); - GL.LoadIdentity(); - GL.Ortho(0, CSettings.RenderW, CSettings.RenderH, 0, CSettings.ZNear, CSettings.ZFar); + _AdjustAspect(true); + _AdjustNewBorders(); GL.Viewport(_X, _Y, _W, _H); } #region implementation #region main stuff - public bool Init() + public override bool Init() { - Text = CSettings.GetFullVersionText(); + if (!base.Init()) + return false; + + //OpenGL needs that here but D3D needs it in the constructor, so do NOT unify! + _Form.ClientSize = new Size(CConfig.ScreenW, CConfig.ScreenH); // Init Texturing GL.Enable(EnableCap.Texture2D); @@ -416,59 +241,20 @@ namespace Vocaluxe.Lib.Draw GL.DepthRange(CSettings.ZFar, CSettings.ZNear); GL.DepthFunc(DepthFunction.Lequal); GL.Enable(EnableCap.DepthTest); + GL.ClearColor(Color.Black); return true; } - public void MainLoop() + protected override void _OnBeforeDraw() { - _Run = true; - int delay = 0; - Show(); - - if (CConfig.FullScreen == EOffOn.TR_CONFIG_ON) - _EnterFullScreen(); - - while (_Run) - { - ClearScreen(); - if (!CGraphics.Draw()) - _Run = false; - if (!CGraphics.UpdateGameLogic(_Keys, _Mouse)) - _Run = false; - - _Control.SwapBuffers(); - - if ((CConfig.FullScreen == EOffOn.TR_CONFIG_ON) != _Fullscreen) - _ToggleFullScreen(); - - _CheckQueue(); - - if (CTime.IsRunning()) - delay = (int)Math.Floor(CConfig.CalcCycleTime() - CTime.GetMilliseconds()); - - if (delay >= 1 && CConfig.VSync == EOffOn.TR_CONFIG_OFF) - Thread.Sleep(delay); - - CTime.CalculateFPS(); - CTime.Restart(); - - Application.DoEvents(); - } - Close(); + //Nothing to do } - public void Unload() + protected override void _OnAfterDraw() { - try - { - Close(); - } - catch {} - var textures = new CTexture[_Textures.Count]; - _Textures.Values.CopyTo(textures, 0); - for (int i = 0; i < _Textures.Count; i++) - RemoveTexture(ref textures[i]); + _Control.SwapBuffers(); + Application.DoEvents(); } public int GetScreenWidth() @@ -480,56 +266,17 @@ namespace Vocaluxe.Lib.Draw { return _Control.Height; } - #endregion main stuff - #region Basic Draw Methods - public void ClearScreen() + protected override void _ClearScreen() { GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); } - public CTexture CopyScreen() + protected override void _AdjustNewBorders() { - CTexture texture = _GetNewTexture(_W, _H); - - texture.Name = GL.GenTexture(); - GL.BindTexture(TextureTarget.Texture2D, texture.Name); - - GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, texture.W2, texture.H2, 0, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero); - GL.CopyTexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, _X, _Y, _W, _H); - - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); - - GL.BindTexture(TextureTarget.Texture2D, 0); - - // Add to Texture List - - lock (_MutexTexture) - { - texture.ID = _IDs.Dequeue(); - _Textures[texture.ID] = texture; - } - - return texture; - } - - public void CopyScreen(ref CTexture texture) - { - //Check for actual texture sizes as it may be downsized compared to OrigSize - if (!_TextureExists(texture) || texture.UsedWidth != GetScreenWidth() || texture.UsedHeight != GetScreenHeight()) - { - RemoveTexture(ref texture); - texture = CopyScreen(); - } - else - { - GL.BindTexture(TextureTarget.Texture2D, texture.Name); - - GL.CopyTexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, 0, 0, GetScreenWidth(), GetScreenHeight()); - - GL.BindTexture(TextureTarget.Texture2D, 0); - } + GL.MatrixMode(MatrixMode.Projection); + GL.LoadIdentity(); + GL.Ortho(-CConfig.BorderLeft, CConfig.BorderRight + CSettings.RenderW, CConfig.BorderBottom + CSettings.RenderH, -CConfig.BorderTop, CSettings.ZNear, CSettings.ZFar); } public void MakeScreenShot() @@ -550,36 +297,63 @@ namespace Vocaluxe.Lib.Draw screen.Save(file, ImageFormat.Bmp); } } + #endregion main stuff - public void DrawLine(int a, int r, int g, int b, int w, int x1, int y1, int x2, int y2) + #region Basic Draw Methods + public CTextureRef CopyScreen() { - GL.Enable(EnableCap.Blend); - GL.Color4(r, g, b, a * CGraphics.GlobalAlpha); + //TODO: Check if _W,_H needs to be used or not + Size size = new Size(GetScreenWidth(), GetScreenHeight()); + COGLTexture texture = _CreateTexture(size); - GL.Begin(BeginMode.Lines); - GL.Vertex3(x1, y1, CGraphics.ZOffset); - GL.Vertex3(x2, y2, CGraphics.ZOffset); - GL.End(); + GL.BindTexture(TextureTarget.Texture2D, texture.Name); + GL.CopyTexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, 0, 0, size.Width, size.Height); //TODO: Use _X,_Y and _W,_H? + GL.BindTexture(TextureTarget.Texture2D, 0); - GL.Disable(EnableCap.Blend); + return _GetTextureReference(size, texture); } - public void DrawColor(SColorF color, SRectF rect) + public void CopyScreen(ref CTextureRef textureRef) + { + COGLTexture texture; + //Check for actual texture sizes as it may be downsized compared to OrigSize + if (!_GetTexture(textureRef, out texture) || texture.DataSize.Width != GetScreenWidth() || texture.DataSize.Height != GetScreenHeight()) + { + RemoveTexture(ref textureRef); + textureRef = CopyScreen(); + } + else + { + GL.BindTexture(TextureTarget.Texture2D, texture.Name); + GL.CopyTexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, 0, 0, GetScreenWidth(), GetScreenHeight()); + GL.BindTexture(TextureTarget.Texture2D, 0); + } + } + + public void DrawRect(SColorF color, SRectF rect) { GL.Enable(EnableCap.Blend); GL.Color4(color.R, color.G, color.B, color.A * CGraphics.GlobalAlpha); GL.Begin(BeginMode.Quads); + GL.MatrixMode(MatrixMode.Color); + GL.PushMatrix(); + if (Math.Abs(rect.Rotation) > 0.001) + { + GL.Translate(0.5f, 0.5f, 0); + GL.Rotate(-rect.Rotation, 0f, 0f, 1f); + GL.Translate(-0.5f, -0.5f, 0); + } GL.Vertex3(rect.X, rect.Y, rect.Z + CGraphics.ZOffset); GL.Vertex3(rect.X, rect.Y + rect.H, rect.Z + CGraphics.ZOffset); GL.Vertex3(rect.X + rect.W, rect.Y + rect.H, rect.Z + CGraphics.ZOffset); GL.Vertex3(rect.X + rect.W, rect.Y, rect.Z + CGraphics.ZOffset); GL.End(); - + GL.PopMatrix(); GL.Disable(EnableCap.Blend); } - public void DrawColorReflection(SColorF color, SRectF rect, float space, float height) + public void DrawRectReflection(SColorF color, SRectF rect, float space, float height) { if (rect.H < height) height = rect.H; @@ -603,7 +377,8 @@ namespace Vocaluxe.Lib.Draw GL.Enable(EnableCap.Blend); - + GL.MatrixMode(MatrixMode.Texture); + GL.PushMatrix(); if (Math.Abs(rect.Rotation) > 0.001) { GL.Translate(0.5f, 0.5f, 0); @@ -626,299 +401,113 @@ namespace Vocaluxe.Lib.Draw GL.Vertex3(rx1, ry1, rect.Z + CGraphics.ZOffset); GL.End(); - + GL.PopMatrix(); GL.Disable(EnableCap.Blend); } #endregion Basic Draw Methods #region Textures - - #region adding - public CTexture AddTexture(string texturePath) + protected override COGLTexture _CreateTexture(Size dataSize) { - if (!File.Exists(texturePath)) - { - CLog.LogError("Can't find File: " + texturePath); - return null; - } - Bitmap bmp; - try - { - bmp = new Bitmap(texturePath); - } - catch (Exception) - { - CLog.LogError("Error loading Texture: " + texturePath); - return null; - } - try - { - return AddTexture(bmp); - } - finally - { - bmp.Dispose(); - } - } - - public CTexture AddTexture(Bitmap bmp) - { - if (bmp.Height == 0 || bmp.Width == 0) - return null; - - int maxSize; - switch (CConfig.TextureQuality) - { - case ETextureQuality.TR_CONFIG_TEXTURE_LOWEST: - maxSize = 128; - break; - case ETextureQuality.TR_CONFIG_TEXTURE_LOW: - maxSize = 256; - break; - case ETextureQuality.TR_CONFIG_TEXTURE_MEDIUM: - maxSize = 512; - break; - case ETextureQuality.TR_CONFIG_TEXTURE_HIGH: - maxSize = 1024; - break; - case ETextureQuality.TR_CONFIG_TEXTURE_HIGHEST: - maxSize = 2048; - break; - default: - maxSize = 512; - break; - } - - int w = Math.Min(bmp.Width, maxSize); - int h = Math.Min(bmp.Height, maxSize); - w = MathHelper.NextPowerOfTwo(w); - h = MathHelper.NextPowerOfTwo(h); - - var texture = new CTexture(bmp.Width, bmp.Height, w, h, true) {Name = GL.GenTexture()}; - - GL.BindTexture(TextureTarget.Texture2D, texture.Name); - Bitmap bmp2 = null; - try - { - if (bmp.Width != w || bmp.Height != h) - { - //Create a new Bitmap with the new sizes - bmp2 = new Bitmap(w, h); - //Scale the texture - using (Graphics g = Graphics.FromImage(bmp2)) - { - g.InterpolationMode = InterpolationMode.HighQualityBicubic; - g.SmoothingMode = SmoothingMode.HighQuality; - g.DrawImage(bmp, new Rectangle(0, 0, bmp2.Width, bmp2.Height)); - } - bmp = bmp2; - } - - BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); - GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, texture.W2, texture.H2, 0, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero); - GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, bmpData.Width, bmpData.Height, PixelFormat.Bgra, PixelType.UnsignedByte, bmpData.Scan0); - bmp.UnlockBits(bmpData); - } - finally - { - if (bmp2 != null) - bmp2.Dispose(); - } - - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureParameterName.ClampToEdge); - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureParameterName.ClampToEdge); - - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.LinearMipmapLinear); - GL.Ext.GenerateMipmap(GenerateMipmapTarget.Texture2D); - - GL.BindTexture(TextureTarget.Texture2D, 0); - // Add to Texture List - texture.TexturePath = String.Empty; - - lock (_MutexTexture) - { - texture.ID = _IDs.Dequeue(); - _Textures[texture.ID] = texture; - } + if (dataSize.Width < 0) + return new COGLTexture(0, dataSize); + COGLTexture texture = new COGLTexture(GL.GenTexture(), dataSize, _CheckForNextPowerOf2(dataSize.Width), _CheckForNextPowerOf2(dataSize.Height)); return texture; } - public CTexture AddTexture(int w, int h, byte[] data) + protected override void _WriteDataToTexture(COGLTexture texture, byte[] data) { - CTexture texture = _GetNewTexture(w, h); - - _CreateTexture(texture, w, h, data); - - lock (_MutexTexture) - { - texture.ID = _IDs.Dequeue(); - _Textures[texture.ID] = texture; - } - - return texture; - } - - private void _CreateTexture(CTexture texture, int w, int h, byte[] data) - { - if (_UsePBO) - { - try - { - GL.GenBuffers(1, out texture.PBO); - GL.BindBuffer(BufferTarget.PixelUnpackBuffer, texture.PBO); - GL.BufferData(BufferTarget.PixelUnpackBuffer, (IntPtr)data.Length, IntPtr.Zero, BufferUsageHint.StreamDraw); - GL.BindBuffer(BufferTarget.PixelUnpackBuffer, 0); - } - catch (Exception) - { - //throw; - _UsePBO = false; - } - } - - texture.Name = GL.GenTexture(); GL.BindTexture(TextureTarget.Texture2D, texture.Name); - GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, texture.W2, texture.H2, 0, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero); - GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, w, h, PixelFormat.Bgra, PixelType.UnsignedByte, data); - - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureParameterName.ClampToEdge); - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureParameterName.ClampToEdge); - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.LinearMipmapLinear); + GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, texture.DataSize.Width, texture.DataSize.Height, PixelFormat.Bgra, PixelType.UnsignedByte, data); GL.Ext.GenerateMipmap(GenerateMipmapTarget.Texture2D); GL.BindTexture(TextureTarget.Texture2D, 0); } - public CTexture EnqueueTexture(int w, int h, byte[] data) + protected override void _WriteDataToTexture(COGLTexture texture, IntPtr data) { - CTexture texture = _GetNewTexture(w, h); - - lock (_MutexTexture) - { - texture.ID = _IDs.Dequeue(); - var queue = new STextureQueue(texture.ID, texture.W2, texture.H2, w, h, data); - _TexturesToLoad.Enqueue(queue); - _Textures[texture.ID] = texture; - } - - return texture; - } - - private static CTexture _GetNewTexture(int w, int h) - { - return new CTexture(w, h, MathHelper.NextPowerOfTwo(w), MathHelper.NextPowerOfTwo(h)); - } - #endregion adding - - #region updating - public bool UpdateTexture(CTexture texture, int w, int h, byte[] data) - { - //Check if texture exists and extend matches - if (!_TextureExists(texture) || texture.UsedWidth != w || texture.UsedHeight != h) - return false; - if (_UsePBO) - { - GL.BindBuffer(BufferTarget.PixelUnpackBuffer, texture.PBO); - - IntPtr buffer = GL.MapBuffer(BufferTarget.PixelUnpackBuffer, BufferAccess.WriteOnly); - Marshal.Copy(data, 0, buffer, data.Length); - - GL.UnmapBuffer(BufferTarget.PixelUnpackBuffer); - - GL.BindTexture(TextureTarget.Texture2D, texture.Name); - - GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, w, h, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero); - - GL.Ext.GenerateMipmap(GenerateMipmapTarget.Texture2D); - - GL.BindTexture(TextureTarget.Texture2D, 0); - GL.BindBuffer(BufferTarget.PixelUnpackBuffer, 0); - - return true; - } - GL.BindTexture(TextureTarget.Texture2D, texture.Name); - GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, w, h, PixelFormat.Bgra, PixelType.UnsignedByte, data); - + GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, texture.DataSize.Width, texture.DataSize.Height, PixelFormat.Bgra, PixelType.UnsignedByte, data); GL.Ext.GenerateMipmap(GenerateMipmapTarget.Texture2D); GL.BindTexture(TextureTarget.Texture2D, 0); - - return true; - } - - public bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data) - { - if (!UpdateTexture(texture, w, h, data)) - { - RemoveTexture(ref texture); - texture = AddTexture(w, h, data); - } - return true; - } - #endregion updating - - public void RemoveTexture(ref CTexture texture) - { - if (_TextureExists(texture, false)) - { - lock (_MutexTexture) - { - _IDs.Enqueue(texture.ID); - GL.DeleteTexture(texture.Name); - if (texture.PBO > 0) - GL.DeleteBuffers(1, ref texture.PBO); - _Textures.Remove(texture.ID); - } - } - texture = null; - } - - private bool _TextureExists(CTexture texture, bool checkIfLoaded = true) - { - lock (_MutexTexture) - { - if (texture != null && _Textures.ContainsKey(texture.ID)) - { - if (!checkIfLoaded || _Textures[texture.ID].Name > 0) - return true; - } - } - return false; } #region drawing - public void DrawTexture(CTexture texture) + public void DrawTexture(CTextureRef textureRef, SRectF rect, SColorF color, bool mirrored = false) { - if (texture == null) - return; - DrawTexture(texture, texture.Rect, texture.Color); - } - - public void DrawTexture(CTexture texture, SRectF rect) - { - if (texture == null) - return; - DrawTexture(texture, rect, texture.Color); - } - - public void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false) - { - DrawTexture(texture, rect, color, new SRectF(0, 0, CSettings.RenderW, CSettings.RenderH, rect.Z), mirrored); - } - - public void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false) - { - if (!_TextureExists(texture)) + COGLTexture texture; + if (!_GetTexture(textureRef, out texture)) return; - if (Math.Abs(rect.W) < float.Epsilon || Math.Abs(rect.H) < float.Epsilon || Math.Abs(bounds.H) < float.Epsilon || Math.Abs(bounds.W) < float.Epsilon || - Math.Abs(color.A) < float.Epsilon) + if (Math.Abs(rect.W) < 1 || Math.Abs(rect.H) < 1 || Math.Abs(color.A) < 0.01) + return; + + GL.BindTexture(TextureTarget.Texture2D, texture.Name); + + const float x1 = 0; + float x2 = texture.WidthRatio; + float y1 = 0; + float y2 = texture.HeightRatio; + + float rx1 = rect.X; + float rx2 = rect.X + rect.W; + float ry1 = rect.Y; + float ry2 = rect.Y + rect.H; + + GL.Enable(EnableCap.Blend); + GL.Color4(color.R, color.G, color.B, color.A * CGraphics.GlobalAlpha); + + GL.MatrixMode(MatrixMode.Texture); + GL.PushMatrix(); + + if (Math.Abs(rect.Rotation) > float.Epsilon) + { + GL.Translate(0.5f, 0.5f, 0); + GL.Rotate(-rect.Rotation, 0f, 0f, 1f); + GL.Translate(-0.5f, -0.5f, 0); + } + + if (mirrored) + { + float tmp = y2; + y2 = y1; + y1 = tmp; + } + + GL.Begin(BeginMode.Quads); + + GL.TexCoord2(x1, y1); + GL.Vertex3(rx1, ry1, rect.Z + CGraphics.ZOffset); + + GL.TexCoord2(x1, y2); + GL.Vertex3(rx1, ry2, rect.Z + CGraphics.ZOffset); + + GL.TexCoord2(x2, y2); + GL.Vertex3(rx2, ry2, rect.Z + CGraphics.ZOffset); + + GL.TexCoord2(x2, y1); + GL.Vertex3(rx2, ry1, rect.Z + CGraphics.ZOffset); + + GL.End(); + + GL.PopMatrix(); + + GL.Disable(EnableCap.Blend); + GL.BindTexture(TextureTarget.Texture2D, 0); + } + + public void DrawTexture(CTextureRef textureRef, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false) + { + COGLTexture texture; + if (!_GetTexture(textureRef, out texture)) + return; + + if (Math.Abs(rect.W) < 1 || Math.Abs(rect.H) < 1 || Math.Abs(bounds.H) < 1 || Math.Abs(bounds.W) < 1 || + Math.Abs(color.A) < 0.01) return; if (bounds.X > rect.X + rect.W || bounds.X + bounds.W < rect.X) @@ -977,42 +566,28 @@ namespace Vocaluxe.Lib.Draw GL.Translate(-0.5f, -0.5f, 0); } - if (!mirrored) + if (mirrored) { - GL.Begin(BeginMode.Quads); - - GL.TexCoord2(x1, y1); - GL.Vertex3(rx1, ry1, rect.Z + CGraphics.ZOffset); - - GL.TexCoord2(x1, y2); - GL.Vertex3(rx1, ry2, rect.Z + CGraphics.ZOffset); - - GL.TexCoord2(x2, y2); - GL.Vertex3(rx2, ry2, rect.Z + CGraphics.ZOffset); - - GL.TexCoord2(x2, y1); - GL.Vertex3(rx2, ry1, rect.Z + CGraphics.ZOffset); - - GL.End(); + float tmp = y2; + y2 = y1; + y1 = tmp; } - else - { - GL.Begin(BeginMode.Quads); - GL.TexCoord2(x2, y2); - GL.Vertex3(rx2, ry1, rect.Z + CGraphics.ZOffset); + GL.Begin(BeginMode.Quads); - GL.TexCoord2(x2, y1); - GL.Vertex3(rx2, ry2, rect.Z + CGraphics.ZOffset); + GL.TexCoord2(x1, y1); + GL.Vertex3(rx1, ry1, rect.Z + CGraphics.ZOffset); - GL.TexCoord2(x1, y1); - GL.Vertex3(rx1, ry2, rect.Z + CGraphics.ZOffset); + GL.TexCoord2(x1, y2); + GL.Vertex3(rx1, ry2, rect.Z + CGraphics.ZOffset); - GL.TexCoord2(x1, y2); - GL.Vertex3(rx1, ry1, rect.Z + CGraphics.ZOffset); + GL.TexCoord2(x2, y2); + GL.Vertex3(rx2, ry2, rect.Z + CGraphics.ZOffset); - GL.End(); - } + GL.TexCoord2(x2, y1); + GL.Vertex3(rx2, ry1, rect.Z + CGraphics.ZOffset); + + GL.End(); GL.PopMatrix(); @@ -1020,10 +595,12 @@ namespace Vocaluxe.Lib.Draw GL.BindTexture(TextureTarget.Texture2D, 0); } - public void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end) + public void DrawTexture(CTextureRef textureRef, SRectF rect, SColorF color, float begin, float end) { - if (!_TextureExists(texture)) + COGLTexture texture; + if (!_GetTexture(textureRef, out texture)) return; + GL.BindTexture(TextureTarget.Texture2D, texture.Name); GL.Enable(EnableCap.Blend); @@ -1046,47 +623,28 @@ namespace Vocaluxe.Lib.Draw GL.End(); - GL.Disable(EnableCap.Blend); GL.BindTexture(TextureTarget.Texture2D, 0); } - public void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height) + public void DrawTextureReflection(CTextureRef textureRef, SRectF rect, SColorF color, float space, float height) { - if (!_TextureExists(texture)) + COGLTexture texture; + if (!_GetTexture(textureRef, out texture)) return; - if (Math.Abs(rect.W) < float.Epsilon || Math.Abs(rect.H) < float.Epsilon || Math.Abs(bounds.H) < float.Epsilon || Math.Abs(bounds.W) < float.Epsilon || - Math.Abs(color.A) < float.Epsilon || height <= float.Epsilon) + if (Math.Abs(rect.W) < float.Epsilon || Math.Abs(rect.H) < float.Epsilon || Math.Abs(color.A) < float.Epsilon || height <= float.Epsilon) return; - if (bounds.X > rect.X + rect.W || bounds.X + bounds.W < rect.X) - return; - - if (bounds.Y > rect.Y + rect.H || bounds.Y + bounds.H < rect.Y) - return; - - if (height > bounds.H) - height = bounds.H; + if (height > rect.H) + height = rect.H; GL.BindTexture(TextureTarget.Texture2D, texture.Name); - float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio; - float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio; - float y1 = (bounds.Y - rect.Y + rect.H - height) / rect.H * texture.HeightRatio; - float y2 = (bounds.Y + bounds.H - rect.Y) / rect.H * texture.HeightRatio; - - if (x1 < 0) - x1 = 0f; - - if (x2 > texture.WidthRatio) - x2 = texture.WidthRatio; - - if (y1 < 0) - y1 = 0f; - - if (y2 > texture.HeightRatio) - y2 = texture.HeightRatio; + const float x1 = 0; + float x2 = texture.WidthRatio; + float y1 = (rect.H - height) / rect.H * texture.HeightRatio; + float y2 = texture.HeightRatio; float rx1 = rect.X; @@ -1094,18 +652,6 @@ namespace Vocaluxe.Lib.Draw float ry1 = rect.Y + rect.H + space; float ry2 = rect.Y + rect.H + space + height; - if (rx1 < bounds.X) - rx1 = bounds.X; - - if (rx2 > bounds.X + bounds.W) - rx2 = bounds.X + bounds.W; - - if (ry1 < bounds.Y + space) - ry1 = bounds.Y + space; - - if (ry2 > bounds.Y + bounds.H + space + height) - ry2 = bounds.Y + bounds.H + space + height; - GL.Enable(EnableCap.Blend); GL.MatrixMode(MatrixMode.Texture); @@ -1118,7 +664,6 @@ namespace Vocaluxe.Lib.Draw GL.Translate(-0.5f, -0.5f, 0); } - GL.Begin(BeginMode.Quads); GL.Color4(color.R, color.G, color.B, color.A * CGraphics.GlobalAlpha); @@ -1139,7 +684,6 @@ namespace Vocaluxe.Lib.Draw GL.End(); - GL.PopMatrix(); GL.Disable(EnableCap.Blend); @@ -1147,26 +691,6 @@ namespace Vocaluxe.Lib.Draw } #endregion drawing - public int GetTextureCount() - { - return _Textures.Count; - } - - private void _CheckQueue() - { - lock (_MutexTexture) - { - while (_TexturesToLoad.Count > 0) - { - STextureQueue q = _TexturesToLoad.Dequeue(); - CTexture texture; - if (!_Textures.TryGetValue(q.ID, out texture)) - continue; - - _CreateTexture(texture, q.DataWidth, q.DataHeight, q.Data); - } - } - } #endregion Textures #endregion implementation diff --git a/Vocaluxe/Lib/Draw/CTextureBase.cs b/Vocaluxe/Lib/Draw/CTextureBase.cs new file mode 100644 index 00000000..eb9d11bf --- /dev/null +++ b/Vocaluxe/Lib/Draw/CTextureBase.cs @@ -0,0 +1,96 @@ +using System; +using System.Drawing; + +namespace Vocaluxe.Lib.Draw +{ + abstract class CTextureBase : IDisposable + { + public int RefCount; + public string TexturePath; + + private Size _DataSize; + /// + /// Size of data used (mostly equal to OrigSize but due to resizing this might change) + /// + public Size DataSize + { + get { return _DataSize; } + set + { + _DataSize = value; + _CalcRatios(); + } + } + + /// + /// texture width (on device), a power of 2 if necessary + /// + public int W2 { get; protected set; } + /// + /// texture height (on device), a power of 2 if necessary + /// + public int H2 { get; protected set; } + + /// + /// Specifies which part of texture memory is actually used + /// + public float WidthRatio { get; private set; } + /// + /// Specifies which part of texture memory is actually used + /// + public float HeightRatio { get; private set; } + + /// + /// True if the texture contains usefull data + /// + public abstract bool IsLoaded { get; } + + /// + /// Creates a new texture + /// + /// Size of the data used + /// Width in video memory + /// Height in video memory + protected CTextureBase(Size dataSize, int texWidth = 0, int texHeight = 0) + { + _DataSize = dataSize; + W2 = (texWidth > 0) ? texWidth : dataSize.Width; + H2 = (texHeight > 0) ? texHeight : dataSize.Height; + + _CalcRatios(); + } + + private void _CalcRatios() + { + // OpenGL has a problem with partial (NPOT) textures, so we remove 1 pixel + if (_DataSize.Width == W2) + WidthRatio = 1f; + else + { + int mod = 0; + if (_DataSize.Width > 1) + mod = -1; + WidthRatio = (float)(_DataSize.Width + mod) / W2; + } + if (_DataSize.Height == H2) + HeightRatio = 1f; + else + { + int mod = 0; + if (_DataSize.Height > 1) + mod = -1; + HeightRatio = (float)(_DataSize.Height + mod) / H2; + } + } + + private bool _IsDisposed; + + public virtual void Dispose() + { + if (_IsDisposed) + throw new ObjectDisposedException(GetType().Name); + RefCount = 0; + _IsDisposed = true; + } + } +} \ No newline at end of file diff --git a/Vocaluxe/Lib/Draw/IDraw.cs b/Vocaluxe/Lib/Draw/IDraw.cs index f5e3fad3..0b2421ff 100644 --- a/Vocaluxe/Lib/Draw/IDraw.cs +++ b/Vocaluxe/Lib/Draw/IDraw.cs @@ -32,30 +32,30 @@ namespace Vocaluxe.Lib.Draw int GetTextureCount(); - void ClearScreen(); - CTexture CopyScreen(); - void CopyScreen(ref CTexture texture); + CTextureRef CopyScreen(); + void CopyScreen(ref CTextureRef texture); void MakeScreenShot(); - CTexture AddTexture(string texturePath); - CTexture AddTexture(Bitmap bitmap); - CTexture AddTexture(int w, int h, byte[] data); - CTexture EnqueueTexture(int w, int h, byte[] data); - bool UpdateTexture(CTexture texture, int w, int h, byte[] data); - bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data); - void RemoveTexture(ref CTexture texture); + CTextureRef AddTexture(string texturePath); + CTextureRef AddTexture(Bitmap bitmap); + CTextureRef AddTexture(int w, int h, byte[] data); + void UpdateTexture(CTextureRef texture, Bitmap bmp); + void UpdateTexture(CTextureRef texture, int w, int h, byte[] data); + CTextureRef EnqueueTexture(string texturePath); + CTextureRef EnqueueTexture(Bitmap bmp); + CTextureRef EnqueueTexture(int w, int h, byte[] data); + void EnqueueTextureUpdate(CTextureRef textureRef, Bitmap bmp); + CTextureRef CopyTexture(CTextureRef textureRef); + void RemoveTexture(ref CTextureRef texture); // 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 DrawRect(SColorF color, SRectF rect); + void DrawRectReflection(SColorF color, SRectF rect, float space, float height); - void DrawTexture(CTexture texture); - void DrawTexture(CTexture texture, SRectF rect); - void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false); - void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false); - void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end); + void DrawTexture(CTextureRef texture, SRectF rect, SColorF color, bool mirrored = false); + void DrawTexture(CTextureRef texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false); + void DrawTexture(CTextureRef texture, SRectF rect, SColorF color, float begin, float end); - void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height); + void DrawTextureReflection(CTextureRef texture, SRectF rect, SColorF color, float space, float height); } } \ No newline at end of file diff --git a/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudio.cs b/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudio.cs index 651dcd21..e32d3795 100644 --- a/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudio.cs +++ b/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudio.cs @@ -16,6 +16,8 @@ #endregion using Gst; +using System; +using Vocaluxe.Base; namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp { @@ -25,16 +27,23 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp { if (_Initialized) return false; + #if ARCH_X86 - const string path = ".\\x86\\gstreamer"; + const string varName = "GSTREAMER_1_0_ROOT_X86"; #endif #if ARCH_X64 - const string path = ".\\x64\\gstreamer"; + const string varName = "GSTREAMER_1_0_ROOT_X86_64"; #endif - //SetDllDirectory(path); + string gstreamerEnvVar = Environment.GetEnvironmentVariable(varName, EnvironmentVariableTarget.User); + if (gstreamerEnvVar == null) + { + CLog.LogError("Gstreamer not found! Make sure you installed it correctly and if it set the environment variable '" + varName + "'!", true); + return false; + } + string dllDirectory = gstreamerEnvVar + "bin\\"; + COSFunctions.AddEnvironmentPath(dllDirectory); + Application.Init(); - Registry reg = Registry.Get(); - reg.ScanPath(path); _Initialized = Application.IsInitialized; return _Initialized; diff --git a/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs b/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs index d7ac9f72..2ecd795a 100644 --- a/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs +++ b/Vocaluxe/Lib/Sound/Playback/GstreamerSharp/CGstreamerSharpAudioStream.cs @@ -253,7 +253,7 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp _UpdateDuration(); break; } - msg.Unref(); + msg.Dispose(); } public override void Update() diff --git a/Vocaluxe/Lib/Video/Acinerella/CDecoder.cs b/Vocaluxe/Lib/Video/Acinerella/CDecoder.cs index 9203b118..823c5290 100644 --- a/Vocaluxe/Lib/Video/Acinerella/CDecoder.cs +++ b/Vocaluxe/Lib/Video/Acinerella/CDecoder.cs @@ -102,7 +102,7 @@ namespace Vocaluxe.Lib.Video.Acinerella Finished = true; } - public bool GetFrame(ref CTexture frame, float time, out float videoTime) + public bool GetFrame(ref CTextureRef frame, float time, out float videoTime) { if (Finished) { diff --git a/Vocaluxe/Lib/Video/Acinerella/CDecoderThread.cs b/Vocaluxe/Lib/Video/Acinerella/CDecoderThread.cs index 0ff06799..78707644 100644 --- a/Vocaluxe/Lib/Video/Acinerella/CDecoderThread.cs +++ b/Vocaluxe/Lib/Video/Acinerella/CDecoderThread.cs @@ -193,7 +193,7 @@ namespace Vocaluxe.Lib.Video.Acinerella /// Maximum start time for frame /// Set to whether there are no more frames (stream finished, no loop, future calls will always return false) /// True if a new frame was gotten - public bool GetFrame(ref CTexture frame, ref float time, out bool finished) + public bool GetFrame(ref CTextureRef frame, ref float time, out bool finished) { bool result; if (Math.Abs(_LastShownTime - time) < _FrameDuration && frame != null) //Check 1 frame difference @@ -206,7 +206,10 @@ namespace Vocaluxe.Lib.Video.Acinerella CFramebuffer.CFrame curFrame = _FindFrame(time); if (curFrame != null) { - CDraw.UpdateOrAddTexture(ref frame, _Width, _Height, curFrame.Data); + if (frame == null) + frame = CDraw.AddTexture(_Width, _Height, curFrame.Data); + else + CDraw.UpdateTexture(frame, _Width, _Height, curFrame.Data); if (!_Paused) curFrame.SetRead(); time = curFrame.Time; diff --git a/Vocaluxe/Lib/Video/CVideoDecoderFFmpeg.cs b/Vocaluxe/Lib/Video/CVideoDecoderFFmpeg.cs index 27f2baeb..045a6344 100644 --- a/Vocaluxe/Lib/Video/CVideoDecoderFFmpeg.cs +++ b/Vocaluxe/Lib/Video/CVideoDecoderFFmpeg.cs @@ -69,7 +69,7 @@ namespace Vocaluxe.Lib.Video return _Decoder.Count; } - public bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime) + public bool GetFrame(int streamID, ref CTextureRef frame, float time, out float videoTime) { CDecoder decoder; if (_Decoder.TryGetValue(streamID, out decoder)) diff --git a/Vocaluxe/Lib/Video/IVideoDecoder.cs b/Vocaluxe/Lib/Video/IVideoDecoder.cs index b1da1feb..ebf5e575 100644 --- a/Vocaluxe/Lib/Video/IVideoDecoder.cs +++ b/Vocaluxe/Lib/Video/IVideoDecoder.cs @@ -73,7 +73,7 @@ namespace Vocaluxe.Lib.Video /// /// The actual position in s of the returned frame. Should be ~ time+VideoGap /// True if frame is valid, false: frame and videoTime might be unchanged or invalid - bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime); + bool GetFrame(int streamID, ref CTextureRef frame, float time, out float videoTime); /// /// Seeks to given position diff --git a/Vocaluxe/Lib/Webcam/CAForgeNet.cs b/Vocaluxe/Lib/Webcam/CAForgeNet.cs index 13bc4d20..0d6e9918 100644 --- a/Vocaluxe/Lib/Webcam/CAForgeNet.cs +++ b/Vocaluxe/Lib/Webcam/CAForgeNet.cs @@ -201,13 +201,16 @@ namespace Vocaluxe.Lib.Webcam } } - public bool GetFrame(ref CTexture frame) + public bool GetFrame(ref CTextureRef frame) { lock (_MutexData) { if (_Data != null && _Data.Length == _Width * _Height * 4 && _NewFrameAvailable) { - CDraw.UpdateOrAddTexture(ref frame, _Width, _Height, _Data); + if (frame == null) + frame = CDraw.AddTexture(_Width, _Height, _Data); + else + CDraw.UpdateTexture(frame, _Width, _Height, _Data); _NewFrameAvailable = false; return true; } diff --git a/Vocaluxe/Lib/Webcam/IWebcam.cs b/Vocaluxe/Lib/Webcam/IWebcam.cs index 98ae1804..9960b979 100644 --- a/Vocaluxe/Lib/Webcam/IWebcam.cs +++ b/Vocaluxe/Lib/Webcam/IWebcam.cs @@ -58,7 +58,7 @@ namespace Vocaluxe.Lib.Webcam /// /// /// - bool GetFrame(ref CTexture frame); + bool GetFrame(ref CTextureRef frame); /// /// Gets the last captured frame as a bitma diff --git a/Vocaluxe/Program.cs b/Vocaluxe/Program.cs index 6f8390e2..65e9a06d 100644 --- a/Vocaluxe/Program.cs +++ b/Vocaluxe/Program.cs @@ -81,7 +81,7 @@ namespace Vocaluxe { // Init Log CLog.Init(); - + CLog.StartBenchmark("Init Program"); if (!CProgrammHelper.CheckRequirements()) return; CProgrammHelper.Init(); @@ -236,6 +236,7 @@ namespace Vocaluxe //Only reasonable point to call GC.Collect() because initialization may cause lots of garbage //Rely on GC doing its job afterwards and call Dispose methods where appropriate GC.Collect(); + CLog.StopBenchmark("Init Program"); } catch (Exception e) { @@ -251,7 +252,6 @@ namespace Vocaluxe // Start Main Loop if (_SplashScreen != null) _SplashScreen.Close(); - CVocaluxeServer.Start(); CDraw.MainLoop(); } diff --git a/Vocaluxe/Screens/CPopupScreenPlayerControl.cs b/Vocaluxe/Screens/CPopupScreenPlayerControl.cs index e0c1cdf2..4475e1da 100644 --- a/Vocaluxe/Screens/CPopupScreenPlayerControl.cs +++ b/Vocaluxe/Screens/CPopupScreenPlayerControl.cs @@ -195,7 +195,7 @@ namespace Vocaluxe.Screens return false; _Statics[_StaticCover].Texture = CBackgroundMusic.Cover; if (CBackgroundMusic.VideoEnabled && _VideoPreview && CBackgroundMusic.SongHasVideo) - CDraw.DrawTexture(_Statics[_StaticCover], CBackgroundMusic.GetVideoTexture(), EAspect.Crop); + CDraw.DrawTexture(CBackgroundMusic.GetVideoTexture(), _Statics[_StaticCover].Rect, EAspect.Crop); _Buttons[_ButtonPause].Visible = CBackgroundMusic.IsPlaying; _Buttons[_ButtonPlay].Visible = !CBackgroundMusic.IsPlaying; _Texts[_TextCurrentSong].Text = CBackgroundMusic.ArtistAndTitle; diff --git a/Vocaluxe/Screens/CPopupScreenServerQR.cs b/Vocaluxe/Screens/CPopupScreenServerQR.cs index febb08a2..e6d4beeb 100644 --- a/Vocaluxe/Screens/CPopupScreenServerQR.cs +++ b/Vocaluxe/Screens/CPopupScreenServerQR.cs @@ -33,11 +33,11 @@ namespace Vocaluxe.Screens get { return 1; } } - private CTexture _QRServerAddress; - private CTexture _QRAndroidLink; - private CTexture _QRSymbianLink; - private CTexture _QRWebOSLink; - private CTexture _QRWindowsPhoneLink; + private CTextureRef _QRServerAddress; + private CTextureRef _QRAndroidLink; + private CTextureRef _QRSymbianLink; + private CTextureRef _QRWebOSLink; + private CTextureRef _QRWindowsPhoneLink; private const string _StaticQRServer = "StaticQRServer"; private const string _StaticQRAndroid = "StaticQRAndroid"; diff --git a/Vocaluxe/Screens/CScreenCredits.cs b/Vocaluxe/Screens/CScreenCredits.cs index 7c340a7a..dc9904fc 100644 --- a/Vocaluxe/Screens/CScreenCredits.cs +++ b/Vocaluxe/Screens/CScreenCredits.cs @@ -106,7 +106,7 @@ namespace Vocaluxe.Screens } } - class CScreenCredits : CMenu + public class CScreenCredits : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion @@ -126,21 +126,21 @@ namespace Vocaluxe.Screens private List _Paragraphs; private List _ParagraphTexts; - private CTexture _TexLogo; - private CTexture _TexPerfectNoteStar; + private CTextureRef _TexLogo; + private CTextureRef _TexPerfectNoteStar; - private CTexture _TexRedDot; - private CTexture _TexBlueDot; + private CTextureRef _TexRedDot; + private CTextureRef _TexBlueDot; - private CTexture _TexNameBrunzel; - private CTexture _TexNameDarkice; - private CTexture _TexNameFlokuep; - private CTexture _TexNameFlamefire; - private CTexture _TexNameMesand; - private CTexture _TexNameBohning; - private CTexture _TexNameBabene03; - private CTexture _TexNamePantero; - private CTexture _TexNamePinky007; + private CTextureRef _TexNameBrunzel; + private CTextureRef _TexNameDarkice; + private CTextureRef _TexNameFlokuep; + private CTextureRef _TexNameFlamefire; + private CTextureRef _TexNameMesand; + private CTextureRef _TexNameBohning; + private CTextureRef _TexNameBabene03; + private CTextureRef _TexNamePantero; + private CTextureRef _TexNamePinky007; public override void Init() { @@ -286,12 +286,12 @@ namespace Vocaluxe.Screens return GetNewParticleEffect(numStars, partColor, rect, _TexPerfectNoteStar, partSize, EParticleType.Star); } - private void _AddNewCreditName(CTexture texture, int particleOffsetX, int particleOffsetY, bool bigParticles) + private void _AddNewCreditName(CTextureRef texture, int particleOffsetX, int particleOffsetY, bool bigParticles) { bool isRight = _CreditNames.Count % 2 == 0; int partRectSize = bigParticles ? 25 : 20; int partCount = bigParticles ? 8 : 6; - CTexture texDot = isRight ? _TexRedDot : _TexBlueDot; + CTextureRef texDot = isRight ? _TexRedDot : _TexBlueDot; CStatic image = GetNewStatic(texture, new SColorF(1, 1, 1, 1), new SRectF(-1, -1, 400, 120, -4)); @@ -360,7 +360,7 @@ namespace Vocaluxe.Screens base.Draw(); //Draw background - CDraw.DrawColor(new SColorF(0, 0.18f, 0.474f, 1), new SRectF(0, 0, CSettings.RenderW, CSettings.RenderH, 0)); + CDraw.DrawRect(new SColorF(0, 0.18f, 0.474f, 1), new SRectF(0, 0, CSettings.RenderW, CSettings.RenderH, 0)); //Draw stars _StarsBlue.Draw(); diff --git a/Vocaluxe/Screens/CScreenHighscore.cs b/Vocaluxe/Screens/CScreenHighscore.cs index 010a3cce..6f0f5913 100644 --- a/Vocaluxe/Screens/CScreenHighscore.cs +++ b/Vocaluxe/Screens/CScreenHighscore.cs @@ -27,7 +27,7 @@ using VocaluxeLib.Songs; namespace Vocaluxe.Screens { - class CScreenHighscore : CMenu + public class CScreenHighscore : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenLoad.cs b/Vocaluxe/Screens/CScreenLoad.cs index 50c57008..1aa190d3 100644 --- a/Vocaluxe/Screens/CScreenLoad.cs +++ b/Vocaluxe/Screens/CScreenLoad.cs @@ -23,7 +23,7 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenLoad : CMenu + public class CScreenLoad : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenMain.cs b/Vocaluxe/Screens/CScreenMain.cs index 6cd878bc..c932a1d6 100644 --- a/Vocaluxe/Screens/CScreenMain.cs +++ b/Vocaluxe/Screens/CScreenMain.cs @@ -22,12 +22,12 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenMain : CMenu + public class CScreenMain : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion { - get { return 1; } + get { return 2; } } private const string _ButtonSing = "ButtonSing"; @@ -35,23 +35,30 @@ namespace Vocaluxe.Screens private const string _ButtonOptions = "ButtonOptions"; private const string _ButtonProfiles = "ButtonProfiles"; private const string _ButtonExit = "ButtonExit"; - - private CText _ReleaseText; + private const string _StaticWarningProfiles = "StaticWarningProfiles"; + private const string _TextWarningProfiles = "TextWarningProfiles"; + private const string _TextRelease = "TextRelease"; //CParticleEffect Snowflakes; public override void Init() { base.Init(); - _ThemeStatics = new string[] {"StaticMenuBar"}; + _ThemeStatics = new string[] {"StaticMenuBar", _StaticWarningProfiles}; _ThemeButtons = new string[] {_ButtonSing, _ButtonParty, _ButtonOptions, _ButtonProfiles, _ButtonExit}; + _ThemeTexts = new string[] {_TextRelease, _TextWarningProfiles}; } public override void LoadTheme(string xmlPath) { base.LoadTheme(xmlPath); - _ReleaseText = GetNewText(10, 690, -1, 15, -1, EAlignment.Left, EStyle.Normal, "Normal", new SColorF(1f, 1f, 1f, 1f), CSettings.GetFullVersionText()); + _Texts[_TextRelease].Text = CSettings.GetFullVersionText(); + // ReSharper disable ConditionIsAlwaysTrueOrFalse + _Texts[_TextRelease].Visible = CSettings.VersionRevision != ERevision.Release; + // ReSharper restore ConditionIsAlwaysTrueOrFalse + _Statics[_StaticWarningProfiles].Visible = false; + _Texts[_TextWarningProfiles].Visible = false; } public override bool HandleInput(SKeyEvent keyEvent) @@ -68,7 +75,8 @@ namespace Vocaluxe.Screens break; case Keys.S: - CGraphics.FadeTo(EScreens.ScreenSong); + if (CProfiles.NumProfiles > 0) + CGraphics.FadeTo(EScreens.ScreenSong); break; case Keys.C: @@ -145,6 +153,11 @@ namespace Vocaluxe.Screens public override bool UpdateGame() { + bool profileOK = CProfiles.NumProfiles > 0; + _Statics[_StaticWarningProfiles].Visible = !profileOK; + _Texts[_TextWarningProfiles].Visible = !profileOK; + _Buttons[_ButtonSing].Enabled = profileOK; + _Buttons[_ButtonParty].Enabled = profileOK; return true; } @@ -159,11 +172,6 @@ namespace Vocaluxe.Screens //Snowflakes.Draw(); _DrawFG(); - // ReSharper disable ConditionIsAlwaysTrueOrFalse - if (CSettings.VersionRevision != ERevision.Release) - // ReSharper restore ConditionIsAlwaysTrueOrFalse - _ReleaseText.Draw(); - return true; } diff --git a/Vocaluxe/Screens/CScreenNames.cs b/Vocaluxe/Screens/CScreenNames.cs index 945e6731..4e9b3b06 100644 --- a/Vocaluxe/Screens/CScreenNames.cs +++ b/Vocaluxe/Screens/CScreenNames.cs @@ -27,7 +27,7 @@ using VocaluxeLib.Profile; namespace Vocaluxe.Screens { - class CScreenNames : CMenu + public class CScreenNames : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion @@ -55,7 +55,7 @@ namespace Vocaluxe.Screens {"EqualizerPlayer1", "EqualizerPlayer2", "EqualizerPlayer3", "EqualizerPlayer4", "EqualizerPlayer5", "EqualizerPlayer6"}; private readonly string[] _SelectSlideDuetPlayer = new string[] {"SelectSlideDuetPlayer1", "SelectSlideDuetPlayer2", "SelectSlideDuetPlayer3", "SelectSlideDuetPlayer4", "SelectSlideDuetPlayer5", "SelectSlideDuetPlayer6"}; - private readonly CTexture[] _OriginalPlayerAvatarTextures = new CTexture[CSettings.MaxNumPlayer]; + private readonly CTextureRef[] _OriginalPlayerAvatarTextures = new CTextureRef[CSettings.MaxNumPlayer]; private bool _SelectingKeyboardActive; private bool _SelectingFast; diff --git a/Vocaluxe/Screens/CScreenOptions.cs b/Vocaluxe/Screens/CScreenOptions.cs index 627b6027..12fba76d 100644 --- a/Vocaluxe/Screens/CScreenOptions.cs +++ b/Vocaluxe/Screens/CScreenOptions.cs @@ -22,7 +22,7 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenOptions : CMenu + public class CScreenOptions : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenOptionsGame.cs b/Vocaluxe/Screens/CScreenOptionsGame.cs index 4ed5c752..aec51f65 100644 --- a/Vocaluxe/Screens/CScreenOptionsGame.cs +++ b/Vocaluxe/Screens/CScreenOptionsGame.cs @@ -22,7 +22,7 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenOptionsGame : CMenu + public class CScreenOptionsGame : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenOptionsLyrics.cs b/Vocaluxe/Screens/CScreenOptionsLyrics.cs index e2093af4..6a7f6c79 100644 --- a/Vocaluxe/Screens/CScreenOptionsLyrics.cs +++ b/Vocaluxe/Screens/CScreenOptionsLyrics.cs @@ -22,7 +22,7 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenOptionsLyrics : CMenu + public class CScreenOptionsLyrics : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenOptionsRecord.cs b/Vocaluxe/Screens/CScreenOptionsRecord.cs index 1a658fe5..59044c04 100644 --- a/Vocaluxe/Screens/CScreenOptionsRecord.cs +++ b/Vocaluxe/Screens/CScreenOptionsRecord.cs @@ -25,7 +25,7 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenOptionsRecord : CMenu + public class CScreenOptionsRecord : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenOptionsSound.cs b/Vocaluxe/Screens/CScreenOptionsSound.cs index 0d711fd0..1976d3ca 100644 --- a/Vocaluxe/Screens/CScreenOptionsSound.cs +++ b/Vocaluxe/Screens/CScreenOptionsSound.cs @@ -22,7 +22,7 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenOptionsSound : CMenu + public class CScreenOptionsSound : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenOptionsTheme.cs b/Vocaluxe/Screens/CScreenOptionsTheme.cs index a58226a8..e692728b 100644 --- a/Vocaluxe/Screens/CScreenOptionsTheme.cs +++ b/Vocaluxe/Screens/CScreenOptionsTheme.cs @@ -23,7 +23,7 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenOptionsTheme : CMenu + public class CScreenOptionsTheme : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenOptionsVideo.cs b/Vocaluxe/Screens/CScreenOptionsVideo.cs index a2bf330d..81fdb4eb 100644 --- a/Vocaluxe/Screens/CScreenOptionsVideo.cs +++ b/Vocaluxe/Screens/CScreenOptionsVideo.cs @@ -25,7 +25,7 @@ using VocaluxeLib.Draw; namespace Vocaluxe.Screens { - class CScreenOptionsVideo : CMenu + public class CScreenOptionsVideo : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion @@ -49,7 +49,7 @@ namespace Vocaluxe.Screens private const string _TextWebcamResolution = "TextWebcamResolution"; private SWebcamConfig _Config; - private CTexture _WebcamTexture; + private CTextureRef _WebcamTexture; private int _DeviceNr; private int _CapabilityNr; diff --git a/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs b/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs index 6c22392b..5759652c 100644 --- a/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs +++ b/Vocaluxe/Screens/CScreenOptionsVideoAdjustments.cs @@ -22,7 +22,7 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenOptionsVideoAdjustments : CMenu + public class CScreenOptionsVideoAdjustments : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenParty.cs b/Vocaluxe/Screens/CScreenParty.cs index ab6d5131..6465b65c 100644 --- a/Vocaluxe/Screens/CScreenParty.cs +++ b/Vocaluxe/Screens/CScreenParty.cs @@ -23,7 +23,7 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenParty : CMenu + public class CScreenParty : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenProfiles.cs b/Vocaluxe/Screens/CScreenProfiles.cs index c8fdacfb..532f3a8a 100644 --- a/Vocaluxe/Screens/CScreenProfiles.cs +++ b/Vocaluxe/Screens/CScreenProfiles.cs @@ -35,7 +35,7 @@ namespace Vocaluxe.Screens PlayerName } - class CScreenProfiles : CMenu + public class CScreenProfiles : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion @@ -64,7 +64,7 @@ namespace Vocaluxe.Screens private EEditMode _EditMode; - private CTexture _WebcamTexture; + private CTextureRef _WebcamTexture; private Bitmap _Snapshot; public override void Init() diff --git a/Vocaluxe/Screens/CScreenScore.cs b/Vocaluxe/Screens/CScreenScore.cs index bbf4aaf4..a0f7e64d 100644 --- a/Vocaluxe/Screens/CScreenScore.cs +++ b/Vocaluxe/Screens/CScreenScore.cs @@ -28,7 +28,7 @@ using VocaluxeLib.Songs; namespace Vocaluxe.Screens { - class CScreenScore : CMenu + public class CScreenScore : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Screens/CScreenSing.cs b/Vocaluxe/Screens/CScreenSing.cs index 7bdb548d..5e3183d6 100644 --- a/Vocaluxe/Screens/CScreenSing.cs +++ b/Vocaluxe/Screens/CScreenSing.cs @@ -31,7 +31,7 @@ using VocaluxeLib.Songs; namespace Vocaluxe.Screens { - class CScreenSing : CMenu + public class CScreenSing : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion @@ -99,9 +99,9 @@ namespace Vocaluxe.Screens private const float _Volume = 100f; private int _CurrentVideo = -1; private EAspect _VideoAspect = EAspect.Crop; - private CTexture _CurrentVideoTexture; - private CTexture _CurrentWebcamFrameTexture; - private CTexture _Background; + private CTextureRef _CurrentVideoTexture; + private CTextureRef _CurrentWebcamFrameTexture; + private CTextureRef _Background; private float _CurrentTime; private float _FinishTime; @@ -271,6 +271,19 @@ namespace Vocaluxe.Screens CSound.SetGlobalVolume(CConfig.GameMusicVolume); } break; + + case Keys.V: + if (_VideoAspect == EAspect.Zoom2) + _VideoAspect = EAspect.Crop; + else + _VideoAspect++; + + CSong song = CGame.GetSong(); + song.VideoAspect = _VideoAspect; + + if (CConfig.SaveModifiedSongs == EOffOn.TR_CONFIG_ON) + song.Save(); + break; } } @@ -450,7 +463,7 @@ namespace Vocaluxe.Screens { if (_Active) { - CTexture background; + CTextureRef background; var aspect = EAspect.Crop; if (_CurrentVideo != -1 && CConfig.VideosInSongs == EOffOn.TR_CONFIG_ON && !_Webcam) { @@ -466,11 +479,8 @@ namespace Vocaluxe.Screens background = _Background; if (background != null) { - var bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH); - RectangleF rect; - CHelper.SetRect(bounds, out rect, background.OrigAspect, aspect); - CDraw.DrawTexture(background, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, 0f), - background.Color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f)); + var bounds = new SRectF(0, 0, CSettings.RenderW, CSettings.RenderH, 0); + CDraw.DrawTexture(background, bounds, aspect, background.Color); } else if (_SlideShow != null) _SlideShow.Draw(); @@ -1203,8 +1213,8 @@ namespace Vocaluxe.Screens } else { - _Statics[_StaticSongText].Color.A = 10f - t / 3f; - _Texts[_TextSongName].Color.A = 10f - t / 3f; + _Statics[_StaticSongText].Color.A = (10f - t) / 3f; + _Texts[_TextSongName].Color.A = (10f - t) / 3f; } } else diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs index ace7503d..b55968fd 100644 --- a/Vocaluxe/Screens/CScreenSong.cs +++ b/Vocaluxe/Screens/CScreenSong.cs @@ -29,7 +29,7 @@ using VocaluxeLib.Songs; namespace Vocaluxe.Screens { - class CScreenSong : CMenu + public class CScreenSong : CMenu { private enum ESongOptionsView { @@ -413,7 +413,7 @@ namespace Vocaluxe.Screens _SongMenu.Active = !_PlaylistActive; _ToggleSongOptions(ESongOptionsView.None); } - else if (CHelper.IsInBounds(_SongMenu.Rect, mouseEvent.X, mouseEvent.Y)) + else if (CHelper.IsInBounds(_SongMenu.Rect, mouseEvent)) { _PlaylistActive = false; _Playlist.Selected = _PlaylistActive; diff --git a/Vocaluxe/Screens/CScreenTest.cs b/Vocaluxe/Screens/CScreenTest.cs index 1d571be9..7ccc303d 100644 --- a/Vocaluxe/Screens/CScreenTest.cs +++ b/Vocaluxe/Screens/CScreenTest.cs @@ -23,7 +23,7 @@ using VocaluxeLib.Menu; namespace Vocaluxe.Screens { - class CScreenTest : CMenu + public class CScreenTest : CMenu { // Version number for theme files. Increment it, if you've changed something on the theme files! protected override int _ScreenVersion diff --git a/Vocaluxe/Vocaluxe.csproj b/Vocaluxe/Vocaluxe.csproj index 3f2feb0d..48110d1e 100644 --- a/Vocaluxe/Vocaluxe.csproj +++ b/Vocaluxe/Vocaluxe.csproj @@ -225,6 +225,9 @@ + + + diff --git a/VocaluxeLib/CEncoding.cs b/VocaluxeLib/CEncoding.cs new file mode 100644 index 00000000..7b763d5b --- /dev/null +++ b/VocaluxeLib/CEncoding.cs @@ -0,0 +1,39 @@ +using System.Text; + +namespace VocaluxeLib +{ + static class CEncoding + { + public static Encoding GetEncoding(this string encodingName) + { + switch (encodingName) + { + case "AUTO": + return Encoding.Default; + case "CP1250": + return Encoding.GetEncoding(1250); + case "CP1252": + return Encoding.GetEncoding(1252); + case "LOCALE": + return Encoding.Default; + case "UTF8": + return Encoding.UTF8; + default: + return Encoding.Default; + } + } + + public static string GetEncodingName(this Encoding enc) + { + string result = "UTF8"; + + if (enc.CodePage == 1250) + result = "CP1250"; + + if (enc.CodePage == 1252) + result = "CP1252"; + + return result; + } + } +} \ No newline at end of file diff --git a/VocaluxeLib/CHelper.cs b/VocaluxeLib/CHelper.cs index aaadf7bc..d54a2d00 100644 --- a/VocaluxeLib/CHelper.cs +++ b/VocaluxeLib/CHelper.cs @@ -17,11 +17,9 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using System.Drawing; using System.Globalization; using System.IO; -using System.Text; namespace VocaluxeLib { @@ -64,52 +62,6 @@ namespace VocaluxeLib return (int)result; } - public static bool InRange(this T val, T min, T max) where T : IComparable - { - Debug.Assert(min.CompareTo(max) <= 0); - return val.CompareTo(min) >= 0 && val.CompareTo(max) <= 0; - } - - /// - /// Makes sure val is between min and max - /// Asserts that min<=max - /// - /// - /// - /// - /// - /// Clamped value - public static T Clamp(this T val, T min, T max) where T : IComparable - { - Debug.Assert(min.CompareTo(max) <= 0); - if (val.CompareTo(min) < 0) - return min; - if (val.CompareTo(max) > 0) - return max; - return val; - } - - /// - /// Makes sure val is between min and max but also handles the case where min>max - /// - /// - /// - /// - /// - /// - /// Clamped value - public static T Clamp(this T val, T min, T max, bool preferMin) where T : IComparable - { - if (min.CompareTo(max) > 0) - { - if (preferMin) - max = min; - else - min = max; - } - return Clamp(val, min, max); - } - /// /// Concat strings into one string with ", " as separator. /// @@ -126,66 +78,88 @@ namespace VocaluxeLib return result; } - public static void SetRect(SRectF bounds, out SRectF rect, float rectAspect, EAspect aspect) + /// + /// Places a rect within the bounds maintaining the aspectRatio and using the given aspect + /// + /// Bounds to fit the rect in + /// The original aspectRatio of the rect/image/... + /// + /// Crop: Fit fully in bounds cutting off overhanging parts (same on both sides)
+ /// LetterBox: Fit the long side possibly leaving some space on the other (rect will be centered)
+ /// StretcH: Just fit the rect in the bounds (rect=bounds) + /// + public static SRectF FitInBounds(SRectF bounds, float aspectRatio, EAspect aspect) { - var bounds2 = new RectangleF(bounds.X, bounds.Y, bounds.W, bounds.H); - RectangleF rect2; - SetRect(bounds2, out rect2, rectAspect, aspect); + if (aspect == EAspect.Stretch) + return bounds; - rect = new SRectF(rect2.X, rect2.Y, rect2.Width, rect2.Height, bounds.Z); - } + float boundsAspectRatio = bounds.W / bounds.H; - public static void SetRect(RectangleF bounds, out RectangleF rect, float rectAspect, EAspect aspect) - { - float boundsW = bounds.Width; - float boundsH = bounds.Height; - float boundsAspect = boundsW / boundsH; - - float scaledWidth; - float scaledHeight; + float scaledWidth, scaledHeight; switch (aspect) { case EAspect.Crop: - if (boundsAspect >= rectAspect) + if (boundsAspectRatio >= aspectRatio) { - scaledWidth = boundsW; - scaledHeight = boundsW / rectAspect; + scaledWidth = bounds.W; + scaledHeight = bounds.W / aspectRatio; } else { - scaledHeight = boundsH; - scaledWidth = boundsH * rectAspect; + scaledHeight = bounds.H; + scaledWidth = bounds.H * aspectRatio; + } + break; + case EAspect.Zoom1: + if (boundsAspectRatio >= aspectRatio) + { + scaledWidth = bounds.W * 1.33f; + scaledHeight = bounds.W * 1.33f / aspectRatio; + } + else + { + scaledHeight = bounds.H / 1.33f; + scaledWidth = bounds.H / 1.33f * aspectRatio; + } + break; + case EAspect.Zoom2: + if (boundsAspectRatio >= aspectRatio) + { + scaledWidth = bounds.W * 1.17f; + scaledHeight = bounds.W * 1.17f / aspectRatio; + } + else + { + scaledHeight = bounds.H / 1.17f; + scaledWidth = bounds.H / 1.17f * aspectRatio; } break; case EAspect.LetterBox: - if (boundsAspect <= rectAspect) + if (boundsAspectRatio <= aspectRatio) { - scaledWidth = boundsW; - scaledHeight = boundsW / rectAspect; + scaledWidth = bounds.W; + scaledHeight = bounds.W / aspectRatio; } else { - scaledHeight = boundsH; - scaledWidth = boundsH * rectAspect; + scaledHeight = bounds.H; + scaledWidth = bounds.H * aspectRatio; } break; default: - scaledWidth = boundsW; - scaledHeight = boundsH; - break; + return bounds; } + float left = (bounds.W - scaledWidth) / 2 + bounds.X; + float top = (bounds.H - scaledHeight) / 2 + bounds.Y; - float left = (boundsW - scaledWidth) / 2 + bounds.Left; - float upper = (boundsH - scaledHeight) / 2 + bounds.Top; - - rect = new RectangleF(left, upper, scaledWidth, scaledHeight); + return new SRectF(left, top, scaledWidth, scaledHeight, bounds.Z); } /// /// Returns a list with all files in the given path that match a given pattern /// - /// Path to search for + /// Path to search /// Pattern to match (e.g. "*.jpg") /// Search directories recursively /// False for just file names, True for full path @@ -283,7 +257,7 @@ namespace VocaluxeLib public static bool IsInBounds(SRectF bounds, int x, int y) { - return (bounds.X <= x) && (bounds.X + bounds.W >= x) && (bounds.Y <= y) && (bounds.Y + bounds.H >= y); + return ((float)x).IsInRange(bounds.X, bounds.X + bounds.W) && ((float)y).IsInRange(bounds.Y, bounds.Y + bounds.H); } /// @@ -308,40 +282,35 @@ namespace VocaluxeLib filename = Path.Combine(path, filename); return filename + ext; } - } - static class CEncoding - { - public static Encoding GetEncoding(this string encodingName) + public static int Sum(int n) { - switch (encodingName) - { - case "AUTO": - return Encoding.Default; - case "CP1250": - return Encoding.GetEncoding(1250); - case "CP1252": - return Encoding.GetEncoding(1252); - case "LOCALE": - return Encoding.Default; - case "UTF8": - return Encoding.UTF8; - default: - return Encoding.Default; - } + return (n * n + n) / 2; } - public static string GetEncodingName(this Encoding enc) + /// + /// Loads a bitmap from a file logging errors + /// + /// Full path to image file + /// Bitmap or null on error + public static Bitmap LoadBitmap(string filePath) { - string result = "UTF8"; - - if (enc.CodePage == 1250) - result = "CP1250"; - - if (enc.CodePage == 1252) - result = "CP1252"; - - return result; + if (!File.Exists(filePath)) + { + CBase.Log.LogError("Can't find File: " + filePath); + return null; + } + Bitmap bmp; + try + { + bmp = new Bitmap(filePath); + } + catch (Exception) + { + CBase.Log.LogError("Error loading bitmap: " + filePath); + return null; + } + return bmp; } } } \ No newline at end of file diff --git a/VocaluxeLib/CXMLReader.cs b/VocaluxeLib/CXMLReader.cs index 8ebf0d19..3f06c661 100644 --- a/VocaluxeLib/CXMLReader.cs +++ b/VocaluxeLib/CXMLReader.cs @@ -97,7 +97,7 @@ namespace VocaluxeLib public bool TryGetNormalizedFloatValue(string xPath, ref float value) { string val; - return GetValue(xPath, out val, value.ToString()) && CHelper.TryParse(val, out value) && value.InRange(0f, 1f); + return GetValue(xPath, out val, value.ToString()) && CHelper.TryParse(val, out value) && value.IsInRange(0f, 1f); } public bool TryGetColorFromRGBA(string xPath, ref SColorF value) diff --git a/VocaluxeLib/Draw/CTexture.cs b/VocaluxeLib/Draw/CTexture.cs deleted file mode 100644 index 76a03818..00000000 --- a/VocaluxeLib/Draw/CTexture.cs +++ /dev/null @@ -1,149 +0,0 @@ -#region license -// This file is part of Vocaluxe. -// -// Vocaluxe is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Vocaluxe is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Vocaluxe. If not, see . -#endregion - -using System.Drawing; - -namespace VocaluxeLib.Draw -{ - public class CTexture - { - public int ID = -1; - public int PBO; - //Only used by OpenGL (the texture "name" according to the specs) - public int Name = -1; - - public string TexturePath = ""; - - /// - /// Original size (e.g. of bmp) - /// - public readonly Size OrigSize; - public float OrigAspect - { - get { return (float)OrigSize.Width / OrigSize.Height; } - } - - /// - /// Current size when drawn - /// - public SRectF Rect; - - public SColorF Color = new SColorF(1f, 1f, 1f, 1f); - - private int _W2, _H2; - private readonly bool _UseFullTexture; - /// - /// Internal texture width (on device), a power of 2 if necessary - /// - public int W2 - { - get { return _W2; } - set - { - _W2 = value; - if (_UseFullTexture) - WidthRatio = 1; - else - WidthRatio = (float)OrigSize.Width / _W2; - } - } - /// - /// Internal texture height (on device), a power of 2 if necessary - /// - public int H2 - { - get { return _H2; } - set - { - _H2 = value; - if (_UseFullTexture) - HeightRatio = 1; - else - HeightRatio = (float)OrigSize.Height / _H2; - } - } - - /// - /// Internal use. Specifies which part of texture memory is actually used - /// - public float WidthRatio { get; private set; } - /// - /// Internal use. Specifies which part of texture memory is actually used - /// - public float HeightRatio { get; private set; } - - /// - /// Actual texture space used in x direction - /// - public int UsedWidth - { - get { return (int)(_W2 * WidthRatio); } - } - - /// - /// Actual texture space used in y direction - /// - public int UsedHeight - { - get { return (int)(_H2 * HeightRatio); } - } - - /* - /// - /// Internal use. Specifies if full texture memory should be used - /// Set to true if you resized the original image to the maximum - /// - public bool UseFullTexture - { - get { return _UseFullTexture; } - set - { - _UseFullTexture = value; - if (value) - { - WidthRatio = 1; - HeightRatio = 1; - } - else - { - WidthRatio = (float)OrigSize.Width / _W2; - HeightRatio = (float)OrigSize.Height / _H2; - } - } - } -*/ - - /// - /// Creates a new texture reference - /// - /// Original width (Bitmap size) - /// Original height (Bitmap size) - /// Width in video memory - /// Height in video memory - /// True if it is using the full size of the video memory (no blank parts due to Pow-2-Issue) - public CTexture(int origWidth, int origHeight, int texWidth = 0, int texHeight = 0, bool useFullTexture = false) - { - OrigSize = new Size(origWidth, origHeight); - Rect = new SRectF(0f, 0f, origWidth, origHeight, 0f); - _UseFullTexture = useFullTexture; - - //IMPORTANT: Use setter here to calculate ratios! - W2 = (texWidth > 0) ? texWidth : origWidth; - H2 = (texHeight > 0) ? texHeight : origHeight; - } - } -} \ No newline at end of file diff --git a/VocaluxeLib/Draw/CTextureRef.cs b/VocaluxeLib/Draw/CTextureRef.cs new file mode 100644 index 00000000..d593cb12 --- /dev/null +++ b/VocaluxeLib/Draw/CTextureRef.cs @@ -0,0 +1,87 @@ +#region license +// This file is part of Vocaluxe. +// +// Vocaluxe is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Vocaluxe is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Vocaluxe. If not, see . +#endregion + +using System; +using System.Drawing; + +namespace VocaluxeLib.Draw +{ + /// + /// Reference to a texture in the drawing driver + /// + public class CTextureRef : IDisposable + { + public int ID { get; private set; } + /// + /// Size of original image (e.g. of bmp) + /// + public Size OrigSize; + + public float OrigAspect + { + get { return (float)OrigSize.Width / OrigSize.Height; } + } + + /// + /// Current size when drawn + /// + public SRectF Rect; + + public SColorF Color = new SColorF(1f, 1f, 1f, 1f); + + /// + /// Creates a new texture reference + /// + /// ID of the texture + /// Original size (Bitmap size) + public CTextureRef(int id, Size origSize) + { + ID = id; + OrigSize = origSize; + + Rect = new SRectF(0f, 0f, origSize.Width, origSize.Height, 0f); + } + + ~CTextureRef() + { + Dispose(); + } + + public void Dispose() + { + if (ID >= 0) + { + //Free textures that are no longer referenced + CTextureRef tmp = this; + CBase.Drawing.RemoveTexture(ref tmp); + } + SetRemoved(); + } + + /// + /// Call this from the graphics driver to denote that this reference is remove and no longer valid
+ /// This avoids the finalizer + ///
+ public void SetRemoved() + { + if (ID < 0) + throw new ObjectDisposedException(GetType().Name); + ID = -1; + GC.SuppressFinalize(this); + } + } +} \ No newline at end of file diff --git a/VocaluxeLib/Enums.cs b/VocaluxeLib/Enums.cs index 4db6424c..5a7b4005 100644 --- a/VocaluxeLib/Enums.cs +++ b/VocaluxeLib/Enums.cs @@ -43,7 +43,16 @@ namespace VocaluxeLib { Crop, LetterBox, - Stretch + Stretch, + Zoom1, + Zoom2 + } + + public enum EGeneralAlignment + { + Middle, + Start, + End } public enum EAlignment diff --git a/VocaluxeLib/Extensions.cs b/VocaluxeLib/Extensions.cs index ae3f9c4c..12f06137 100644 --- a/VocaluxeLib/Extensions.cs +++ b/VocaluxeLib/Extensions.cs @@ -17,6 +17,9 @@ using System; using System.Collections.Generic; +using System.Diagnostics; +using System.Drawing; +using System.Drawing.Drawing2D; using System.Globalization; using System.Linq; using System.Text.RegularExpressions; @@ -25,6 +28,60 @@ namespace VocaluxeLib { public static class CExtensions { + /// + /// Makes sure val is between min and max + /// Asserts that min<=max + /// + /// + /// + /// + /// + /// Clamped value + public static T Clamp(this T val, T min, T max) where T : IComparable + { + Debug.Assert(min.CompareTo(max) <= 0); + if (val.CompareTo(min) < 0) + return min; + if (val.CompareTo(max) > 0) + return max; + return val; + } + + /// + /// Makes sure val is between min and max but also handles the case where min>max + /// + /// + /// + /// + /// + /// + /// Clamped value + public static T Clamp(this T val, T min, T max, bool preferMin) where T : IComparable + { + if (min.CompareTo(max) > 0) + { + if (preferMin) + max = min; + else + min = max; + } + return Clamp(val, min, max); + } + + /// + /// Checks if the value is in the specified range + /// + /// + /// + /// + /// + /// + public static bool IsInRange(this T val, T min, T max) where T : IComparable + { + Debug.Assert(min.CompareTo(max) <= 0); + return min.CompareTo(val) <= 0 && max.CompareTo(val) >= 0; + } + /// /// Resizes the given list to the given size. Removes elements or adds default values /// @@ -120,5 +177,47 @@ namespace VocaluxeLib rect.H + 2 * rect.H * (scale - 1f), rect.Z); } + + public static Size GetSize(this Bitmap bmp) + { + return new Size(bmp.Width, bmp.Height); + } + + public static Rectangle GetRect(this Bitmap bmp) + { + return Rectangle.Round(new Rectangle(0, 0, bmp.Width, bmp.Height)); + } + + /// + /// Resizes the bitmap to the given size creating a copy of it + /// + /// + /// + /// Resized bitmap or null on error + public static Bitmap Resize(this Bitmap bmp, Size newSize) + { + Bitmap result = null; + try + { + //Create a new Bitmap with the new sizes + result = new Bitmap(newSize.Width, newSize.Height); + //Scale the texture + using (Graphics g = Graphics.FromImage(result)) + { + g.InterpolationMode = InterpolationMode.HighQualityBicubic; + g.SmoothingMode = SmoothingMode.HighQuality; + g.DrawImage(bmp, result.GetRect()); + } + } + catch (Exception) + { + if (result != null) + { + result.Dispose(); + result = null; + } + } + return result; + } } } \ No newline at end of file diff --git a/VocaluxeLib/IBasic.cs b/VocaluxeLib/IBasic.cs index 3e26bb56..f58ec27b 100644 --- a/VocaluxeLib/IBasic.cs +++ b/VocaluxeLib/IBasic.cs @@ -62,6 +62,8 @@ namespace VocaluxeLib /// Get the uniform settings for writing XML files. ALWAYS use this! ///
XmlWriterSettings GetXMLSettings(); + + bool GetLoadOldThemeFiles(); } public interface ISettings @@ -99,8 +101,8 @@ namespace VocaluxeLib { string GetThemeScreensPath(int partyModeID); int GetSkinIndex(int partyModeID); - CTexture GetSkinTexture(string textureName, int partyModeID); - CTexture GetSkinVideoTexture(string videoName, int partyModeID); + CTextureRef GetSkinTexture(string textureName, int partyModeID); + CTextureRef GetSkinVideoTexture(string videoName, int partyModeID); void SkinVideoResume(string videoName, int partyModeID); void SkinVideoPause(string videoName, int partyModeID); @@ -131,26 +133,27 @@ namespace VocaluxeLib void Play(); void Stop(); - CTexture GetVideoTexture(); + CTextureRef GetVideoTexture(); void LoadPreview(CSong song, float start = 0f); void PlayPreview(float start = -1f); void StopPreview(); - } public interface IDrawing { - void DrawTexture(CTexture texture, SRectF rect); - void DrawTexture(CTexture texture, SRectF rect, SColorF color); - void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false); - void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float reflectionSpace, float reflectionHeight); + void DrawTexture(CTextureRef texture, SRectF rect); + void DrawTexture(CTextureRef texture, SRectF rect, SColorF color); + void DrawTexture(CTextureRef texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false); + void DrawTexture(CTextureRef textureRef, SRectF bounds, EAspect aspect); + void DrawTexture(CTextureRef textureRef, SRectF bounds, EAspect aspect, SColorF color); + void DrawTextureReflection(CTextureRef texture, SRectF rect, SColorF color, float reflectionSpace, float reflectionHeight); - CTexture AddTexture(string fileName); - void RemoveTexture(ref CTexture texture); + CTextureRef AddTexture(string fileName); + void RemoveTexture(ref CTextureRef texture); - void DrawColor(SColorF color, SRectF rect); - void DrawColorReflection(SColorF color, SRectF rect, float space, float height); + void DrawRect(SColorF color, SRectF rect); + void DrawRectReflection(SColorF color, SRectF rect, float space, float height); } public interface IGraphics @@ -220,7 +223,7 @@ namespace VocaluxeLib CProfile[] GetProfiles(); EGameDifficulty GetDifficulty(int profileID); string GetPlayerName(int profileID, int playerNum = 0); - CTexture GetAvatar(int profileID); + CTextureRef GetAvatar(int profileID); CAvatar GetAvatarByFilename(string fileName); bool IsProfileIDValid(int profileID); bool IsGuest(int profileID); @@ -261,7 +264,7 @@ namespace VocaluxeLib { int Load(string videoFileName); bool Skip(int streamID, float startPosition, float videoGap); - bool GetFrame(int streamID, ref CTexture videoTexture, float time, out float videoTime); + bool GetFrame(int streamID, ref CTextureRef videoTexture, float time, out float videoTime); bool IsFinished(int streamID); bool Close(int streamID); void SetLoop(int streamID, bool loop = true); @@ -286,12 +289,12 @@ namespace VocaluxeLib public interface ICover { - CTexture GetNoCover(); + CTextureRef GetNoCover(); } public interface IDataBase { - bool GetCover(string fileName, ref CTexture texture, int coverSize); + bool GetCover(string fileName, ref CTextureRef texture, int coverSize); bool GetDataBaseSongInfos(string artist, string title, out int numPlayed, out DateTime dateAdded, out int highscoreID); } @@ -330,10 +333,9 @@ namespace VocaluxeLib void Load(CSong song, float start = 0f); void Stop(); void TogglePause(); - CTexture GetCover(); - CTexture GetVideoTexture(); + CTextureRef GetCover(); + CTextureRef GetVideoTexture(); bool IsPlaying(); float GetLength(); - } } \ No newline at end of file diff --git a/VocaluxeLib/Menu/CBackground.cs b/VocaluxeLib/Menu/CBackground.cs index 67ba0755..9faeb4c9 100644 --- a/VocaluxeLib/Menu/CBackground.cs +++ b/VocaluxeLib/Menu/CBackground.cs @@ -16,8 +16,8 @@ #endregion using System; -using System.Drawing; using System.Xml; +using System.Xml.Serialization; using System.Diagnostics; using System.Collections.Generic; using VocaluxeLib.Draw; @@ -33,18 +33,20 @@ namespace VocaluxeLib.Menu Video } - struct SThemeBackground + [XmlType("Background")] + public struct SThemeBackground { + [XmlAttributeAttribute(AttributeName = "Name")] public string Name; - + [XmlElement("Type")] public EBackgroundTypes Type; - + [XmlArray] public List SlideShowTextures; - + [XmlElement("Video")] public string VideoName; + [XmlElement("Skin")] public string TextureName; - - public string ColorName; + public SThemeColor Color; } public class CBackground : IMenuElement @@ -55,9 +57,13 @@ namespace VocaluxeLib.Menu private int _SlideShowCurrent; private readonly Stopwatch _SlideShowTimer = new Stopwatch(); - private readonly List _SlideShowTextures = new List(); + private readonly List _SlideShowTextures = new List(); public SColorF Color; + public bool ThemeLoaded + { + get { return _ThemeLoaded; } + } public string GetThemeName() { @@ -73,6 +79,14 @@ namespace VocaluxeLib.Menu Color = new SColorF(0f, 0f, 0f, 1f); } + + public CBackground(SThemeBackground theme, int partyModeID) + { + _Theme = theme; + _PartyModeID = partyModeID; + + LoadTextures(); + } #endregion Constructors #region public @@ -87,8 +101,8 @@ namespace VocaluxeLib.Menu bool tex = xmlReader.GetValue(item + "/Skin", out _Theme.TextureName, String.Empty); _ThemeLoaded &= vid || tex || _Theme.Type == EBackgroundTypes.None; - if (xmlReader.GetValue(item + "/Color", out _Theme.ColorName, String.Empty)) - _ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out Color); + if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty)) + _ThemeLoaded &= CBase.Theme.GetColor(_Theme.Color.Name, skinIndex, out Color); else { bool success = true; @@ -101,6 +115,8 @@ namespace VocaluxeLib.Menu _ThemeLoaded &= success; } + _Theme.Color.Color = new SColorF(Color); + int i = 1; while (xmlReader.ItemExists(item + "/SlideShow" + i)) @@ -120,46 +136,6 @@ namespace VocaluxeLib.Menu return _ThemeLoaded; } - public bool SaveTheme(XmlWriter writer) - { - if (_ThemeLoaded) - { - writer.WriteStartElement(_Theme.Name); - - writer.WriteComment(": Background type: " + CHelper.ListStrings(Enum.GetNames(typeof(EBackgroundTypes)))); - writer.WriteElementString("Type", Enum.GetName(typeof(EBackgroundTypes), _Theme.Type)); - - writer.WriteComment("