diff --git a/Output/Languages/English.xml b/Output/Languages/English.xml
index c8eacb20..50888f4f 100644
--- a/Output/Languages/English.xml
+++ b/Output/Languages/English.xml
@@ -73,6 +73,10 @@
All
Only names and avatars
Nothing
+ Bottom
+ Top
+ Top and bottom
+ Dynamic
Loading
Total
Songs
@@ -188,7 +192,7 @@
Cover Loading Behavior
Lyrics Options
Style
- Lyrics on top
+ Lyrics position
Video Options
Video Backgrounds
Video Preview
diff --git a/Output/Languages/German.xml b/Output/Languages/German.xml
index e19f5319..61e0890c 100644
--- a/Output/Languages/German.xml
+++ b/Output/Languages/German.xml
@@ -73,6 +73,10 @@
Alle
Nur Namen und Avatar
Keine
+ Unten
+ Oben
+ Oben und unten
+ Dynamisch
Laden
Gesamt
Lieder
@@ -188,7 +192,7 @@
Cover Ladeverhalten
Songtexteinstellungen
Stil
- Oben anzeigen
+ Position
Videoeinstellungen
Video-Hintergründe
Video-Vorschau
diff --git a/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml b/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml
index 10c5c9e9..a1e0b31f 100644
--- a/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml
+++ b/Output/Themes/Ambient/Screens/PopupScreenPlayerControl.xml
@@ -37,7 +37,7 @@
410
- 4
+ 8
0,00
@@ -53,7 +53,7 @@
Left
- Center
+ Center
@@ -98,7 +98,7 @@
Center
- Center
+ Center
@@ -147,7 +147,7 @@
Center
- Center
+ Center
@@ -196,7 +196,7 @@
Center
- Center
+ Center
@@ -245,7 +245,7 @@
Center
- Center
+ Center
@@ -294,7 +294,7 @@
Center
- Center
+ Center
@@ -343,7 +343,7 @@
Center
- Center
+ Center
@@ -392,7 +392,7 @@
Center
- Center
+ Center
@@ -441,7 +441,7 @@
Center
- Center
+ Center
diff --git a/Output/Themes/Ambient/Screens/PopupScreenVolumeControl.xml b/Output/Themes/Ambient/Screens/PopupScreenVolumeControl.xml
index 324d6cc7..80b47b72 100644
--- a/Output/Themes/Ambient/Screens/PopupScreenVolumeControl.xml
+++ b/Output/Themes/Ambient/Screens/PopupScreenVolumeControl.xml
@@ -21,7 +21,7 @@
1067
- 680
+ 682
-2,00
@@ -37,7 +37,7 @@
Left
- Center
+ Center
@@ -118,4 +118,4 @@
1
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenHighscore.xml b/Output/Themes/Ambient/Screens/ScreenHighscore.xml
index 94bb3d88..2af500cc 100644
--- a/Output/Themes/Ambient/Screens/ScreenHighscore.xml
+++ b/Output/Themes/Ambient/Screens/ScreenHighscore.xml
@@ -48,7 +48,7 @@
60
- 48
+ 50
0,00
@@ -63,7 +63,7 @@
Left
- Center
+ Center
@@ -77,7 +77,7 @@
640
- 48
+ 50
0,00
@@ -92,7 +92,7 @@
Center
- Center
+ Center
@@ -106,7 +106,7 @@
1220
- 48
+ 50
0,00
@@ -121,7 +121,7 @@
Right
- Center
+ Center
@@ -135,7 +135,7 @@
120
- 100
+ 103
0,00
@@ -150,7 +150,7 @@
Right
- Center
+ Center
@@ -179,7 +179,7 @@
Right
- Center
+ Center
@@ -193,7 +193,7 @@
120
- 220
+ 223
0,00
@@ -208,7 +208,7 @@
Right
- Center
+ Center
@@ -222,7 +222,7 @@
120
- 280
+ 283
0,00
@@ -237,7 +237,7 @@
Right
- Center
+ Center
@@ -251,7 +251,7 @@
120
- 340
+ 343
0,00
@@ -266,7 +266,7 @@
Right
- Center
+ Center
@@ -280,7 +280,7 @@
120
- 400
+ 403
0,00
@@ -295,7 +295,7 @@
Right
- Center
+ Center
@@ -309,7 +309,7 @@
120
- 460
+ 463
0,00
@@ -324,7 +324,7 @@
Right
- Center
+ Center
@@ -338,7 +338,7 @@
120
- 520
+ 523
0,00
@@ -353,7 +353,7 @@
Right
- Center
+ Center
@@ -367,7 +367,7 @@
120
- 580
+ 583
0,00
@@ -382,7 +382,7 @@
Right
- Center
+ Center
@@ -396,7 +396,7 @@
120
- 640
+ 643
0,00
@@ -411,7 +411,7 @@
Right
- Center
+ Center
@@ -425,7 +425,7 @@
200
- 100
+ 103
0,00
@@ -440,7 +440,7 @@
Left
- Center
+ Center
@@ -454,7 +454,7 @@
200
- 160
+ 163
0,00
@@ -469,7 +469,7 @@
Left
- Center
+ Center
@@ -483,7 +483,7 @@
200
- 220
+ 223
0,00
@@ -498,7 +498,7 @@
Left
- Center
+ Center
@@ -512,7 +512,7 @@
200
- 280
+ 283
0,00
@@ -527,7 +527,7 @@
Left
- Center
+ Center
@@ -541,7 +541,7 @@
200
- 340
+ 343
0,00
@@ -556,7 +556,7 @@
Left
- Center
+ Center
@@ -570,7 +570,7 @@
200
- 400
+ 403
0,00
@@ -585,7 +585,7 @@
Left
- Center
+ Center
@@ -599,7 +599,7 @@
200
- 460
+ 463
0,00
@@ -614,7 +614,7 @@
Left
- Center
+ Center
@@ -628,7 +628,7 @@
200
- 520
+ 523
0,00
@@ -643,7 +643,7 @@
Left
- Center
+ Center
@@ -657,7 +657,7 @@
200
- 580
+ 583
0,00
@@ -672,7 +672,7 @@
Left
- Center
+ Center
@@ -686,7 +686,7 @@
200
- 640
+ 643
0,00
@@ -701,7 +701,7 @@
Left
- Center
+ Center
@@ -715,7 +715,7 @@
800
- 100
+ 103
0,00
@@ -730,7 +730,7 @@
Left
- Center
+ Center
@@ -744,7 +744,7 @@
800
- 160
+ 163
0,00
@@ -759,7 +759,7 @@
Left
- Center
+ Center
@@ -773,7 +773,7 @@
800
- 220
+ 223
0,00
@@ -788,7 +788,7 @@
Left
- Center
+ Center
@@ -802,7 +802,7 @@
800
- 280
+ 283
0,00
@@ -817,7 +817,7 @@
Left
- Center
+ Center
@@ -831,7 +831,7 @@
800
- 340
+ 343
0,00
@@ -846,7 +846,7 @@
Left
- Center
+ Center
@@ -860,7 +860,7 @@
800
- 400
+ 403
0,00
@@ -875,7 +875,7 @@
Left
- Center
+ Center
@@ -889,7 +889,7 @@
800
- 460
+ 463
0,00
@@ -904,7 +904,7 @@
Left
- Center
+ Center
@@ -918,7 +918,7 @@
800
- 520
+ 523
0,00
@@ -933,7 +933,7 @@
Left
- Center
+ Center
@@ -947,7 +947,7 @@
800
- 580
+ 583
0,00
@@ -962,7 +962,7 @@
Left
- Center
+ Center
@@ -976,7 +976,7 @@
800
- 640
+ 643
0,00
@@ -991,7 +991,7 @@
Left
- Center
+ Center
@@ -1005,7 +1005,7 @@
1000
- 100
+ 103
0,00
@@ -1020,7 +1020,7 @@
Left
- Center
+ Center
@@ -1034,7 +1034,7 @@
1000
- 160
+ 163
0,00
@@ -1049,7 +1049,7 @@
Left
- Center
+ Center
@@ -1063,7 +1063,7 @@
1000
- 220
+ 223
0,00
@@ -1078,7 +1078,7 @@
Left
- Center
+ Center
@@ -1092,7 +1092,7 @@
1000
- 280
+ 283
0,00
@@ -1107,7 +1107,7 @@
Left
- Center
+ Center
@@ -1121,7 +1121,7 @@
1000
- 340
+ 343
0,00
@@ -1136,7 +1136,7 @@
Left
- Center
+ Center
@@ -1150,7 +1150,7 @@
1000
- 400
+ 403
0,00
@@ -1165,7 +1165,7 @@
Left
- Center
+ Center
@@ -1179,7 +1179,7 @@
1000
- 460
+ 463
0,00
@@ -1194,7 +1194,7 @@
Left
- Center
+ Center
@@ -1208,7 +1208,7 @@
1000
- 520
+ 523
0,00
@@ -1223,7 +1223,7 @@
Left
- Center
+ Center
@@ -1237,7 +1237,7 @@
1000
- 580
+ 583
0,00
@@ -1252,7 +1252,7 @@
Left
- Center
+ Center
@@ -1266,7 +1266,7 @@
1000
- 640
+ 643
0,00
@@ -1281,7 +1281,7 @@
Left
- Center
+ Center
@@ -1483,4 +1483,4 @@
250
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenNames.xml b/Output/Themes/Ambient/Screens/ScreenNames.xml
index 4f81074c..4efddb2d 100644
--- a/Output/Themes/Ambient/Screens/ScreenNames.xml
+++ b/Output/Themes/Ambient/Screens/ScreenNames.xml
@@ -29,102 +29,6 @@
-
-
- PlayerSelector
-
- 15
- 100
- -2,00
- 118
- 118
-
-
- Player1
-
-
-
-
-
-
- PlayerSelector
-
- 15
- 255
- -2,00
- 118
- 118
-
-
- Player2
-
-
-
-
-
-
- PlayerSelector
-
- 15
- 410
- -2,00
- 118
- 118
-
-
- Player3
-
-
-
-
-
-
- PlayerSelector
-
- 1147
- 100
- -2,00
- 118
- 118
-
-
- Player4
-
-
-
-
-
-
- PlayerSelector
-
- 1147
- 255
- -2,00
- 118
- 118
-
-
- Player5
-
-
-
-
-
-
- PlayerSelector
-
- 1147
- 410
- -2,00
- 118
- 118
-
-
- Player6
-
-
-
-
Invisible
@@ -221,6 +125,102 @@
+
+
+ PlayerSelector
+
+ 15
+ 100
+ -2,00
+ 118
+ 118
+
+
+ Player1
+
+
+
+
+
+
+ PlayerSelector
+
+ 15
+ 255
+ -2,00
+ 118
+ 118
+
+
+ Player2
+
+
+
+
+
+
+ PlayerSelector
+
+ 15
+ 410
+ -2,00
+ 118
+ 118
+
+
+ Player3
+
+
+
+
+
+
+ PlayerSelector
+
+ 1147
+ 100
+ -2,00
+ 118
+ 118
+
+
+ Player4
+
+
+
+
+
+
+ PlayerSelector
+
+ 1147
+ 255
+ -2,00
+ 118
+ 118
+
+
+ Player5
+
+
+
+
+
+
+ PlayerSelector
+
+ 1147
+ 410
+ -2,00
+ 118
+ 118
+
+
+ Player6
+
+
+
+
Invisible
@@ -256,7 +256,7 @@
640
- 48
+ 50
0,00
@@ -271,7 +271,7 @@
Center
- Center
+ Center
@@ -285,7 +285,7 @@
640
- 615
+ 617
0,00
@@ -301,7 +301,7 @@
Center
- Center
+ Center
@@ -315,7 +315,7 @@
640
- 650
+ 652
0,00
@@ -331,7 +331,7 @@
Center
- Center
+ Center
@@ -360,7 +360,7 @@
Center
- Center
+ Center
@@ -389,7 +389,7 @@
Center
- Center
+ Center
@@ -418,7 +418,7 @@
Center
- Center
+ Center
@@ -447,7 +447,7 @@
Center
- Center
+ Center
@@ -476,7 +476,7 @@
Center
- Center
+ Center
@@ -505,7 +505,7 @@
Center
- Center
+ Center
@@ -536,7 +536,7 @@
75
- 10
+ 12
27
@@ -550,7 +550,7 @@
Center
- Center
+ Center
@@ -593,7 +593,7 @@
75
- 10
+ 12
27
@@ -607,7 +607,7 @@
Center
- Center
+ Center
@@ -1305,4 +1305,4 @@
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenOptions.xml b/Output/Themes/Ambient/Screens/ScreenOptions.xml
index c31b5c68..de798ca2 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptions.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptions.xml
@@ -32,7 +32,7 @@
60
- 41
+ 43
0,00
@@ -47,7 +47,7 @@
Left
- Center
+ Center
@@ -78,7 +78,7 @@
75
- 10
+ 12
27
@@ -92,7 +92,7 @@
Center
- Center
+ Center
@@ -135,7 +135,7 @@
75
- 10
+ 12
27
@@ -149,7 +149,7 @@
Center
- Center
+ Center
@@ -192,7 +192,7 @@
75
- 10
+ 12
27
@@ -206,7 +206,7 @@
Center
- Center
+ Center
@@ -249,7 +249,7 @@
75
- 10
+ 12
27
@@ -263,7 +263,7 @@
Center
- Center
+ Center
@@ -306,7 +306,7 @@
75
- 10
+ 12
27
@@ -320,7 +320,7 @@
Center
- Center
+ Center
@@ -363,7 +363,7 @@
75
- 10
+ 12
27
@@ -377,7 +377,7 @@
Center
- Center
+ Center
@@ -401,4 +401,4 @@
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml b/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml
index a8cf9fee..6f758a46 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml
@@ -128,7 +128,7 @@
640
- 48
+ 50
0,00
@@ -143,7 +143,7 @@
Center
- Center
+ Center
@@ -157,7 +157,7 @@
75
- 105
+ 107
0,00
@@ -172,7 +172,7 @@
Left
- Center
+ Center
@@ -186,7 +186,7 @@
75
- 165
+ 167
0,00
@@ -201,7 +201,7 @@
Left
- Center
+ Center
@@ -215,7 +215,7 @@
75
- 225
+ 227
0,00
@@ -230,7 +230,7 @@
Left
- Center
+ Center
@@ -244,7 +244,7 @@
75
- 285
+ 287
0,00
@@ -259,7 +259,7 @@
Left
- Center
+ Center
@@ -273,7 +273,7 @@
75
- 345
+ 347
0,00
@@ -288,7 +288,7 @@
Left
- Center
+ Center
@@ -302,7 +302,7 @@
75
- 405
+ 407
0,00
@@ -317,7 +317,7 @@
Left
- Center
+ Center
@@ -348,7 +348,7 @@
75
- 10
+ 12
27
@@ -362,7 +362,7 @@
Center
- Center
+ Center
@@ -788,4 +788,4 @@
3
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml b/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml
index b78b9b2f..2fa9d49b 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsLyrics.xml
@@ -32,7 +32,7 @@
640
- 48
+ 50
0,00
@@ -47,7 +47,7 @@
Center
- Center
+ Center
@@ -61,7 +61,7 @@
75
- 105
+ 107
0,00
@@ -76,7 +76,7 @@
Left
- Center
+ Center
@@ -90,7 +90,7 @@
75
- 165
+ 167
0,00
@@ -105,7 +105,7 @@
Left
- Center
+ Center
@@ -136,7 +136,7 @@
75
- 10
+ 12
27
@@ -150,7 +150,7 @@
Center
- Center
+ Center
@@ -308,4 +308,4 @@
2
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml b/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml
index 14ce5e7b..89dce324 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml
@@ -160,7 +160,7 @@
640
- 53
+ 55
0,00
@@ -175,7 +175,7 @@
Center
- Center
+ Center
@@ -189,7 +189,7 @@
75
- 104
+ 106
0,00
@@ -204,7 +204,7 @@
Left
- Center
+ Center
@@ -218,7 +218,7 @@
75
- 225
+ 227
0,00
@@ -233,7 +233,7 @@
Left
- Center
+ Center
@@ -247,7 +247,7 @@
75
- 285
+ 287
0,00
@@ -262,7 +262,7 @@
Left
- Center
+ Center
@@ -276,7 +276,7 @@
75
- 345
+ 347
0,00
@@ -291,7 +291,7 @@
Left
- Center
+ Center
@@ -305,7 +305,7 @@
640
- 535
+ 537
0,00
@@ -321,7 +321,7 @@
Center
- Center
+ Center
@@ -335,7 +335,7 @@
330
- 225
+ 227
-1,00
@@ -350,7 +350,7 @@
Right
- Center
+ Center
@@ -364,7 +364,7 @@
330
- 285
+ 287
-1,00
@@ -379,7 +379,7 @@
Right
- Center
+ Center
@@ -410,7 +410,7 @@
75
- 14
+ 16
27
@@ -424,7 +424,7 @@
Center
- Center
+ Center
@@ -467,7 +467,7 @@
75
- 14
+ 16
27
@@ -481,7 +481,7 @@
Center
- Center
+ Center
@@ -559,7 +559,7 @@
TextSColor
- 27
+ 27,00
@@ -626,7 +626,7 @@
TextSColor
- 27
+ 27,00
@@ -693,7 +693,7 @@
TextSColor
- 27
+ 27,00
@@ -760,7 +760,7 @@
TextSColor
- 27
+ 27,00
@@ -835,4 +835,4 @@
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
index dd87144c..3472b1ab 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
@@ -32,7 +32,7 @@
640
- 48
+ 50
0,00
@@ -47,7 +47,7 @@
Center
- Center
+ Center
@@ -61,7 +61,7 @@
75
- 105
+ 107
0,00
@@ -76,7 +76,7 @@
Left
- Center
+ Center
@@ -90,7 +90,7 @@
75
- 165
+ 167
0,00
@@ -105,7 +105,7 @@
Left
- Center
+ Center
@@ -119,7 +119,7 @@
75
- 225
+ 227
0,00
@@ -134,7 +134,7 @@
Left
- Center
+ Center
@@ -148,7 +148,7 @@
75
- 285
+ 287
0,00
@@ -163,7 +163,7 @@
Left
- Center
+ Center
@@ -177,7 +177,7 @@
75
- 345
+ 347
0,00
@@ -192,7 +192,7 @@
Left
- Center
+ Center
@@ -223,7 +223,7 @@
75
- 10
+ 12
27
@@ -237,7 +237,7 @@
Center
- Center
+ Center
@@ -596,4 +596,4 @@
3
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml b/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml
index 372c93e8..a66566e2 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml
@@ -160,7 +160,7 @@
640
- 48
+ 50
0,00
@@ -175,7 +175,7 @@
Center
- Center
+ Center
@@ -189,7 +189,7 @@
75
- 105
+ 107
0,00
@@ -204,7 +204,7 @@
Left
- Center
+ Center
@@ -218,7 +218,7 @@
75
- 165
+ 167
0,00
@@ -233,7 +233,7 @@
Left
- Center
+ Center
@@ -247,7 +247,7 @@
75
- 225
+ 227
0,00
@@ -262,7 +262,7 @@
Left
- Center
+ Center
@@ -276,7 +276,7 @@
75
- 285
+ 287
0,00
@@ -291,7 +291,7 @@
Left
- Center
+ Center
@@ -305,7 +305,7 @@
75
- 345
+ 347
0,00
@@ -320,7 +320,7 @@
Left
- Center
+ Center
@@ -334,7 +334,7 @@
75
- 405
+ 407
0,00
@@ -349,7 +349,7 @@
Left
- Center
+ Center
@@ -363,7 +363,7 @@
75
- 465
+ 467
0,00
@@ -378,7 +378,7 @@
Left
- Center
+ Center
@@ -392,7 +392,7 @@
75
- 525
+ 527
0,00
@@ -407,7 +407,7 @@
Left
- Center
+ Center
@@ -438,7 +438,7 @@
75
- 10
+ 12
27
@@ -452,7 +452,7 @@
Center
- Center
+ Center
@@ -1012,4 +1012,4 @@
1
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml b/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml
index b6d039cc..5bbf6015 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml
@@ -96,7 +96,7 @@
640
- 48
+ 50
0,00
@@ -111,7 +111,7 @@
Center
- Center
+ Center
@@ -125,7 +125,7 @@
75
- 105
+ 107
0,00
@@ -140,7 +140,7 @@
Left
- Center
+ Center
@@ -154,7 +154,7 @@
75
- 165
+ 167
0,00
@@ -169,7 +169,7 @@
Left
- Center
+ Center
@@ -183,7 +183,7 @@
75
- 225
+ 227
0,00
@@ -198,7 +198,7 @@
Left
- Center
+ Center
@@ -212,7 +212,7 @@
75
- 285
+ 287
0,00
@@ -227,7 +227,7 @@
Left
- Center
+ Center
@@ -241,7 +241,7 @@
75
- 345
+ 347
0,00
@@ -256,7 +256,7 @@
Left
- Center
+ Center
@@ -270,7 +270,7 @@
75
- 405
+ 407
0,00
@@ -285,7 +285,7 @@
Left
- Center
+ Center
@@ -316,7 +316,7 @@
75
- 10
+ 12
27
@@ -330,7 +330,7 @@
Center
- Center
+ Center
@@ -756,4 +756,4 @@
3
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenParty.xml b/Output/Themes/Ambient/Screens/ScreenParty.xml
index d6d81cbd..b55de8be 100644
--- a/Output/Themes/Ambient/Screens/ScreenParty.xml
+++ b/Output/Themes/Ambient/Screens/ScreenParty.xml
@@ -32,7 +32,7 @@
640
- 48
+ 50
0,00
@@ -47,7 +47,7 @@
Center
- Center
+ Center
@@ -61,7 +61,7 @@
75
- 105
+ 107
0,00
@@ -76,7 +76,7 @@
Left
- Center
+ Center
@@ -90,7 +90,7 @@
75
- 165
+ 167
0,00
@@ -105,7 +105,7 @@
Left
- Center
+ Center
@@ -119,7 +119,7 @@
75
- 225
+ 227
0,00
@@ -134,7 +134,7 @@
Left
- Center
+ Center
@@ -148,7 +148,7 @@
75
- 285
+ 287
0,00
@@ -163,7 +163,7 @@
Left
- Center
+ Center
@@ -177,7 +177,7 @@
75
- 345
+ 347
0,00
@@ -192,7 +192,7 @@
Left
- Center
+ Center
@@ -206,7 +206,7 @@
75
- 405
+ 407
0,00
@@ -221,7 +221,7 @@
Left
- Center
+ Center
@@ -235,7 +235,7 @@
75
- 465
+ 467
0,00
@@ -250,7 +250,7 @@
Left
- Center
+ Center
@@ -264,7 +264,7 @@
850
- 165
+ 167
0,00
@@ -280,7 +280,7 @@
Center
- Center
+ Center
@@ -294,7 +294,7 @@
850
- 225
+ 227
0,00
@@ -310,7 +310,7 @@
Center
- Center
+ Center
@@ -324,7 +324,7 @@
850
- 285
+ 287
0,00
@@ -340,7 +340,7 @@
Center
- Center
+ Center
@@ -354,7 +354,7 @@
850
- 345
+ 347
0,00
@@ -370,7 +370,7 @@
Center
- Center
+ Center
@@ -384,7 +384,7 @@
850
- 405
+ 407
0,00
@@ -400,7 +400,7 @@
Center
- Center
+ Center
@@ -414,7 +414,7 @@
850
- 465
+ 467
0,00
@@ -430,7 +430,7 @@
Center
- Center
+ Center
@@ -444,7 +444,7 @@
850
- 525
+ 527
0,00
@@ -460,7 +460,7 @@
Center
- Center
+ Center
@@ -491,7 +491,7 @@
75
- 10
+ 12
27
@@ -505,7 +505,7 @@
Center
- Center
+ Center
@@ -548,7 +548,7 @@
75
- 10
+ 12
27
@@ -562,7 +562,7 @@
Center
- Center
+ Center
@@ -653,4 +653,4 @@
1
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenProfiles.xml b/Output/Themes/Ambient/Screens/ScreenProfiles.xml
index b996f2aa..fe74a016 100644
--- a/Output/Themes/Ambient/Screens/ScreenProfiles.xml
+++ b/Output/Themes/Ambient/Screens/ScreenProfiles.xml
@@ -128,7 +128,7 @@
640
- 48
+ 50
0,00
@@ -143,7 +143,7 @@
Center
- Center
+ Center
@@ -157,7 +157,7 @@
75
- 285
+ 287
0,00
@@ -172,7 +172,7 @@
Left
- Center
+ Center
@@ -186,7 +186,7 @@
75
- 345
+ 347
0,00
@@ -201,7 +201,7 @@
Left
- Center
+ Center
@@ -215,7 +215,7 @@
75
- 405
+ 407
0,00
@@ -230,7 +230,7 @@
Left
- Center
+ Center
@@ -244,7 +244,7 @@
75
- 465
+ 467
0,00
@@ -259,7 +259,7 @@
Left
- Center
+ Center
@@ -273,7 +273,7 @@
75
- 525
+ 527
0,00
@@ -288,7 +288,7 @@
Left
- Center
+ Center
@@ -319,7 +319,7 @@
355
- 8
+ 10
27
@@ -333,7 +333,7 @@
Center
- Center
+ Center
@@ -368,7 +368,7 @@
75
- 10
+ 12
27
@@ -382,7 +382,7 @@
Center
- Center
+ Center
@@ -425,7 +425,7 @@
75
- 10
+ 12
27
@@ -439,7 +439,7 @@
Center
- Center
+ Center
@@ -482,7 +482,7 @@
75
- 10
+ 12
27
@@ -496,7 +496,7 @@
Center
- Center
+ Center
@@ -539,7 +539,7 @@
75
- 10
+ 12
27
@@ -553,7 +553,7 @@
Center
- Center
+ Center
@@ -596,7 +596,7 @@
75
- 10
+ 12
27
@@ -610,7 +610,7 @@
Center
- Center
+ Center
@@ -653,7 +653,7 @@
75
- 10
+ 12
27
@@ -667,7 +667,7 @@
Center
- Center
+ Center
@@ -702,7 +702,7 @@
75
- 10
+ 12
27
@@ -716,7 +716,7 @@
Center
- Center
+ Center
@@ -751,7 +751,7 @@
75
- 10
+ 12
27
@@ -765,7 +765,7 @@
Center
- Center
+ Center
@@ -1124,4 +1124,4 @@
2
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenScore.xml b/Output/Themes/Ambient/Screens/ScreenScore.xml
index 96b8f80d..a07f386c 100644
--- a/Output/Themes/Ambient/Screens/ScreenScore.xml
+++ b/Output/Themes/Ambient/Screens/ScreenScore.xml
@@ -1206,7 +1206,7 @@
60
- 48
+ 50
0,00
@@ -1221,7 +1221,7 @@
Left
- Center
+ Center
@@ -1235,7 +1235,7 @@
640
- 48
+ 50
0,00
@@ -1250,7 +1250,7 @@
Center
- Center
+ Center
@@ -1279,7 +1279,7 @@
Center
- Center
+ Center
@@ -1293,7 +1293,7 @@
640
- 140
+ 142
0,00
@@ -1308,7 +1308,7 @@
Center
- Center
+ Center
@@ -1322,7 +1322,7 @@
640
- 105
+ 107
0,00
@@ -1337,7 +1337,7 @@
Center
- Center
+ Center
@@ -1366,7 +1366,7 @@
Center
- Center
+ Center
@@ -1395,7 +1395,7 @@
Center
- Center
+ Center
@@ -1409,7 +1409,7 @@
432
- 140
+ 142
0,00
@@ -1424,7 +1424,7 @@
Center
- Center
+ Center
@@ -1438,7 +1438,7 @@
432
- 105
+ 107
0,00
@@ -1453,7 +1453,7 @@
Center
- Center
+ Center
@@ -1482,7 +1482,7 @@
Center
- Center
+ Center
@@ -1511,7 +1511,7 @@
Center
- Center
+ Center
@@ -1525,7 +1525,7 @@
848
- 140
+ 142
0,00
@@ -1540,7 +1540,7 @@
Center
- Center
+ Center
@@ -1554,7 +1554,7 @@
848
- 105
+ 107
0,00
@@ -1569,7 +1569,7 @@
Center
- Center
+ Center
@@ -1598,7 +1598,7 @@
Center
- Center
+ Center
@@ -1627,7 +1627,7 @@
Center
- Center
+ Center
@@ -1641,7 +1641,7 @@
318
- 140
+ 142
0,00
@@ -1656,7 +1656,7 @@
Center
- Center
+ Center
@@ -1670,7 +1670,7 @@
318
- 105
+ 107
0,00
@@ -1685,7 +1685,7 @@
Center
- Center
+ Center
@@ -1714,7 +1714,7 @@
Center
- Center
+ Center
@@ -1743,7 +1743,7 @@
Center
- Center
+ Center
@@ -1757,7 +1757,7 @@
640
- 140
+ 142
0,00
@@ -1772,7 +1772,7 @@
Center
- Center
+ Center
@@ -1786,7 +1786,7 @@
640
- 105
+ 107
0,00
@@ -1801,7 +1801,7 @@
Center
- Center
+ Center
@@ -1830,7 +1830,7 @@
Center
- Center
+ Center
@@ -1859,7 +1859,7 @@
Center
- Center
+ Center
@@ -1873,7 +1873,7 @@
962
- 140
+ 142
0,00
@@ -1888,7 +1888,7 @@
Center
- Center
+ Center
@@ -1902,7 +1902,7 @@
962
- 105
+ 107
0,00
@@ -1917,7 +1917,7 @@
Center
- Center
+ Center
@@ -1946,7 +1946,7 @@
Center
- Center
+ Center
@@ -1975,7 +1975,7 @@
Center
- Center
+ Center
@@ -1989,7 +1989,7 @@
270
- 140
+ 142
0,00
@@ -2004,7 +2004,7 @@
Center
- Center
+ Center
@@ -2018,7 +2018,7 @@
270
- 105
+ 107
0,00
@@ -2034,7 +2034,7 @@
Center
- Center
+ Center
@@ -2063,7 +2063,7 @@
Center
- Center
+ Center
@@ -2092,7 +2092,7 @@
Center
- Center
+ Center
@@ -2106,7 +2106,7 @@
502
- 140
+ 142
0,00
@@ -2121,7 +2121,7 @@
Center
- Center
+ Center
@@ -2135,7 +2135,7 @@
502
- 105
+ 107
0,00
@@ -2151,7 +2151,7 @@
Center
- Center
+ Center
@@ -2180,7 +2180,7 @@
Center
- Center
+ Center
@@ -2209,7 +2209,7 @@
Center
- Center
+ Center
@@ -2223,7 +2223,7 @@
734
- 140
+ 142
0,00
@@ -2238,7 +2238,7 @@
Center
- Center
+ Center
@@ -2252,7 +2252,7 @@
734
- 105
+ 107
0,00
@@ -2268,7 +2268,7 @@
Center
- Center
+ Center
@@ -2297,7 +2297,7 @@
Center
- Center
+ Center
@@ -2326,7 +2326,7 @@
Center
- Center
+ Center
@@ -2340,7 +2340,7 @@
966
- 140
+ 142
0,00
@@ -2355,7 +2355,7 @@
Center
- Center
+ Center
@@ -2369,7 +2369,7 @@
966
- 105
+ 107
0,00
@@ -2385,7 +2385,7 @@
Center
- Center
+ Center
@@ -2414,7 +2414,7 @@
Center
- Center
+ Center
@@ -2444,7 +2444,7 @@
Center
- Center
+ Center
@@ -2458,7 +2458,7 @@
224
- 140
+ 142
0,00
@@ -2474,7 +2474,7 @@
Center
- Center
+ Center
@@ -2488,7 +2488,7 @@
224
- 105
+ 107
0,00
@@ -2504,7 +2504,7 @@
Center
- Center
+ Center
@@ -2534,7 +2534,7 @@
Center
- Center
+ Center
@@ -2564,7 +2564,7 @@
Center
- Center
+ Center
@@ -2578,7 +2578,7 @@
432
- 140
+ 142
0,00
@@ -2594,7 +2594,7 @@
Center
- Center
+ Center
@@ -2608,7 +2608,7 @@
432
- 105
+ 107
0,00
@@ -2624,7 +2624,7 @@
Center
- Center
+ Center
@@ -2654,7 +2654,7 @@
Center
- Center
+ Center
@@ -2684,7 +2684,7 @@
Center
- Center
+ Center
@@ -2698,7 +2698,7 @@
640
- 140
+ 142
0,00
@@ -2714,7 +2714,7 @@
Center
- Center
+ Center
@@ -2728,7 +2728,7 @@
640
- 105
+ 107
0,00
@@ -2744,7 +2744,7 @@
Center
- Center
+ Center
@@ -2774,7 +2774,7 @@
Center
- Center
+ Center
@@ -2804,7 +2804,7 @@
Center
- Center
+ Center
@@ -2818,7 +2818,7 @@
848
- 140
+ 142
0,00
@@ -2834,7 +2834,7 @@
Center
- Center
+ Center
@@ -2848,7 +2848,7 @@
848
- 105
+ 107
0,00
@@ -2864,7 +2864,7 @@
Center
- Center
+ Center
@@ -2894,7 +2894,7 @@
Center
- Center
+ Center
@@ -2924,7 +2924,7 @@
Center
- Center
+ Center
@@ -2938,7 +2938,7 @@
1056
- 140
+ 142
0,00
@@ -2954,7 +2954,7 @@
Center
- Center
+ Center
@@ -2968,7 +2968,7 @@
1056
- 105
+ 107
0,00
@@ -2984,7 +2984,7 @@
Center
- Center
+ Center
@@ -3014,7 +3014,7 @@
Center
- Center
+ Center
@@ -3044,7 +3044,7 @@
Center
- Center
+ Center
@@ -3058,7 +3058,7 @@
125
- 140
+ 142
0,00
@@ -3074,7 +3074,7 @@
Center
- Center
+ Center
@@ -3088,7 +3088,7 @@
125
- 105
+ 107
0,00
@@ -3104,7 +3104,7 @@
Center
- Center
+ Center
@@ -3134,7 +3134,7 @@
Center
- Center
+ Center
@@ -3164,7 +3164,7 @@
Center
- Center
+ Center
@@ -3178,7 +3178,7 @@
333
- 140
+ 142
0,00
@@ -3194,7 +3194,7 @@
Center
- Center
+ Center
@@ -3208,7 +3208,7 @@
333
- 105
+ 107
0,00
@@ -3224,7 +3224,7 @@
Center
- Center
+ Center
@@ -3254,7 +3254,7 @@
Center
- Center
+ Center
@@ -3284,7 +3284,7 @@
Center
- Center
+ Center
@@ -3298,7 +3298,7 @@
541
- 140
+ 142
0,00
@@ -3314,7 +3314,7 @@
Center
- Center
+ Center
@@ -3328,7 +3328,7 @@
541
- 105
+ 107
0,00
@@ -3344,7 +3344,7 @@
Center
- Center
+ Center
@@ -3374,7 +3374,7 @@
Center
- Center
+ Center
@@ -3404,7 +3404,7 @@
Center
- Center
+ Center
@@ -3418,7 +3418,7 @@
749
- 140
+ 142
0,00
@@ -3434,7 +3434,7 @@
Center
- Center
+ Center
@@ -3448,7 +3448,7 @@
749
- 105
+ 107
0,00
@@ -3464,7 +3464,7 @@
Center
- Center
+ Center
@@ -3494,7 +3494,7 @@
Center
- Center
+ Center
@@ -3524,7 +3524,7 @@
Center
- Center
+ Center
@@ -3538,7 +3538,7 @@
957
- 140
+ 142
0,00
@@ -3554,7 +3554,7 @@
Center
- Center
+ Center
@@ -3568,7 +3568,7 @@
957
- 105
+ 107
0,00
@@ -3584,7 +3584,7 @@
Center
- Center
+ Center
@@ -3614,7 +3614,7 @@
Center
- Center
+ Center
@@ -3644,7 +3644,7 @@
Center
- Center
+ Center
@@ -3658,7 +3658,7 @@
1165
- 140
+ 142
0,00
@@ -3674,7 +3674,7 @@
Center
- Center
+ Center
@@ -3688,7 +3688,7 @@
1165
- 105
+ 107
0,00
@@ -3704,7 +3704,7 @@
Center
- Center
+ Center
@@ -3734,7 +3734,7 @@
Center
- Center
+ Center
@@ -3770,4 +3770,4 @@
Horizontal
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenSing.xml b/Output/Themes/Ambient/Screens/ScreenSing.xml
index abd2fae4..22342fca 100644
--- a/Output/Themes/Ambient/Screens/ScreenSing.xml
+++ b/Output/Themes/Ambient/Screens/ScreenSing.xml
@@ -961,7 +961,7 @@
640
- 18
+ 20
-1,00
@@ -977,7 +977,7 @@
Center
- Center
+ Center
@@ -988,36 +988,6 @@
-
-
- 640
- 18
-
- -1,00
-
- 27
-
-
-
-
- TextColor
-
-
- TextSColor
-
- Left
-
- Center
-
-
-
- Outline
-
-
-
-
-
-
1214
@@ -1036,7 +1006,7 @@
Right
- Center
+ Center
@@ -1065,7 +1035,7 @@
Center
- Center
+ Center
@@ -1094,7 +1064,7 @@
Left
- Center
+ Center
@@ -1123,7 +1093,7 @@
Left
- Center
+ Center
@@ -1134,6 +1104,35 @@
+
+
+ 640
+ 20
+
+ -1,00
+
+ 27
+
+
+
+ TextColor
+
+
+ TextSColor
+
+ Left
+
+ Center
+
+
+
+ Outline
+
+
+
+
+
+
1240
@@ -1152,7 +1151,7 @@
Right
- Center
+ Center
@@ -1184,7 +1183,7 @@
Center
- Center
+ Center
@@ -1213,7 +1212,7 @@
Right
- Center
+ Center
@@ -1245,7 +1244,7 @@
Center
- Center
+ Center
@@ -1274,7 +1273,7 @@
Right
- Center
+ Center
@@ -1306,7 +1305,7 @@
Center
- Center
+ Center
@@ -1335,7 +1334,7 @@
Right
- Center
+ Center
@@ -1367,7 +1366,7 @@
Center
- Center
+ Center
@@ -1396,7 +1395,7 @@
Right
- Center
+ Center
@@ -1428,7 +1427,7 @@
Center
- Center
+ Center
@@ -1457,7 +1456,7 @@
Right
- Center
+ Center
@@ -1489,7 +1488,7 @@
Center
- Center
+ Center
@@ -1518,7 +1517,7 @@
Center
- Center
+ Center
@@ -1550,7 +1549,7 @@
Center
- Center
+ Center
@@ -1579,7 +1578,7 @@
Center
- Center
+ Center
@@ -1611,7 +1610,7 @@
Center
- Center
+ Center
@@ -1640,7 +1639,7 @@
Center
- Center
+ Center
@@ -1672,7 +1671,7 @@
Center
- Center
+ Center
@@ -1701,7 +1700,7 @@
Center
- Center
+ Center
@@ -1733,7 +1732,7 @@
Center
- Center
+ Center
@@ -1762,7 +1761,7 @@
Center
- Center
+ Center
@@ -1794,7 +1793,7 @@
Center
- Center
+ Center
@@ -1823,7 +1822,7 @@
Center
- Center
+ Center
@@ -1855,7 +1854,7 @@
Center
- Center
+ Center
@@ -1884,7 +1883,7 @@
Center
- Center
+ Center
@@ -1916,7 +1915,7 @@
Center
- Center
+ Center
@@ -1945,7 +1944,7 @@
Center
- Center
+ Center
@@ -1977,7 +1976,7 @@
Center
- Center
+ Center
@@ -2006,7 +2005,7 @@
Center
- Center
+ Center
@@ -2038,7 +2037,7 @@
Center
- Center
+ Center
@@ -2067,7 +2066,7 @@
Center
- Center
+ Center
@@ -2099,7 +2098,7 @@
Center
- Center
+ Center
@@ -2128,7 +2127,7 @@
Center
- Center
+ Center
@@ -2160,7 +2159,7 @@
Center
- Center
+ Center
@@ -2189,7 +2188,7 @@
Center
- Center
+ Center
@@ -2221,7 +2220,7 @@
Center
- Center
+ Center
@@ -2250,7 +2249,7 @@
Center
- Center
+ Center
@@ -2282,7 +2281,7 @@
Center
- Center
+ Center
@@ -2311,7 +2310,7 @@
Center
- Center
+ Center
@@ -2343,7 +2342,7 @@
Center
- Center
+ Center
@@ -2372,7 +2371,7 @@
Center
- Center
+ Center
@@ -2404,7 +2403,7 @@
Center
- Center
+ Center
@@ -2435,7 +2434,7 @@
75
- 10
+ 12
27
@@ -2449,7 +2448,7 @@
Center
- Center
+ Center
@@ -2492,7 +2491,7 @@
75
- 10
+ 12
27
@@ -2506,7 +2505,7 @@
Center
- Center
+ Center
@@ -2549,7 +2548,7 @@
75
- 10
+ 12
27
@@ -2563,7 +2562,7 @@
Center
- Center
+ Center
@@ -2801,4 +2800,4 @@
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenSong.xml b/Output/Themes/Ambient/Screens/ScreenSong.xml
index 50a1fe30..194f7518 100644
--- a/Output/Themes/Ambient/Screens/ScreenSong.xml
+++ b/Output/Themes/Ambient/Screens/ScreenSong.xml
@@ -91,7 +91,7 @@
Left
- Center
+ Center
@@ -121,7 +121,7 @@
Left
- Center
+ Center
@@ -151,7 +151,7 @@
Left
- Center
+ Center
@@ -181,7 +181,7 @@
Left
- Center
+ Center
@@ -211,7 +211,7 @@
Left
- Center
+ Center
@@ -241,7 +241,7 @@
Left
- Center
+ Center
@@ -255,7 +255,7 @@
220
- 610
+ 612
0,00
@@ -271,7 +271,7 @@
Center
- Center
+ Center
@@ -289,7 +289,7 @@
825
- 610
+ 612
0,00
@@ -305,7 +305,7 @@
Center
- Center
+ Center
@@ -323,7 +323,7 @@
400
- 610
+ 612
0,00
@@ -338,7 +338,7 @@
Right
- Center
+ Center
@@ -352,7 +352,7 @@
410
- 610
+ 612
0,00
@@ -367,7 +367,7 @@
Left
- Center
+ Center
@@ -381,7 +381,7 @@
220
- 45
+ 47
-2,11
@@ -397,7 +397,7 @@
Center
- Center
+ Center
@@ -428,7 +428,7 @@
40
- 20
+ 23
34
@@ -442,7 +442,7 @@
Center
- Center
+ Center
@@ -477,7 +477,7 @@
40
- 20
+ 23
34
@@ -491,7 +491,7 @@
Center
- Center
+ Center
@@ -526,7 +526,7 @@
40
- 20
+ 23
34
@@ -540,7 +540,7 @@
Center
- Center
+ Center
@@ -575,7 +575,7 @@
40
- 20
+ 23
34
@@ -589,7 +589,7 @@
Center
- Center
+ Center
@@ -624,7 +624,7 @@
40
- 20
+ 23
34
@@ -638,7 +638,7 @@
Center
- Center
+ Center
@@ -673,7 +673,7 @@
40
- 20
+ 23
34
@@ -687,7 +687,7 @@
Center
- Center
+ Center
@@ -722,7 +722,7 @@
180
- 5
+ 7
25
@@ -736,7 +736,7 @@
Center
- Center
+ Center
@@ -771,7 +771,7 @@
180
- 5
+ 7
25
@@ -785,7 +785,7 @@
Center
- Center
+ Center
@@ -820,7 +820,7 @@
180
- 5
+ 7
25
@@ -834,7 +834,7 @@
Center
- Center
+ Center
@@ -869,7 +869,7 @@
180
- 5
+ 7
25
@@ -883,7 +883,7 @@
Center
- Center
+ Center
@@ -918,7 +918,7 @@
180
- 5
+ 7
25
@@ -932,7 +932,7 @@
Center
- Center
+ Center
@@ -967,7 +967,7 @@
180
- 5
+ 7
25
@@ -981,7 +981,7 @@
Center
- Center
+ Center
@@ -1016,7 +1016,7 @@
180
- 5
+ 7
25
@@ -1030,7 +1030,7 @@
Center
- Center
+ Center
@@ -1065,7 +1065,7 @@
180
- 5
+ 7
25
@@ -1079,7 +1079,7 @@
Center
- Center
+ Center
@@ -1114,7 +1114,7 @@
180
- 5
+ 7
25
@@ -1128,7 +1128,7 @@
Center
- Center
+ Center
@@ -1163,7 +1163,7 @@
75
- 10
+ 12
27
@@ -1177,7 +1177,7 @@
Center
- Center
+ Center
@@ -1220,7 +1220,7 @@
180
- 5
+ 7
25
@@ -1234,7 +1234,7 @@
Center
- Center
+ Center
@@ -1269,7 +1269,7 @@
180
- 5
+ 7
25
@@ -1283,7 +1283,7 @@
Center
- Center
+ Center
@@ -1630,7 +1630,7 @@
Center
- Center
+ Center
@@ -1660,7 +1660,7 @@
Center
- Center
+ Center
@@ -1690,7 +1690,7 @@
Center
- Center
+ Center
@@ -1822,7 +1822,7 @@
54
- 4
+ 5
-1,01
@@ -1838,13 +1838,13 @@
Left
- Top
+ Center
Outline
- %a - %t
+
@@ -1999,7 +1999,7 @@
Left
- Center
+ Center
@@ -2034,7 +2034,7 @@
180
- 5
+ 7
25
@@ -2048,7 +2048,7 @@
Center
- Center
+ Center
@@ -2097,7 +2097,7 @@
Center
- Center
+ Center
@@ -2146,7 +2146,7 @@
Center
- Center
+ Center
@@ -2195,7 +2195,7 @@
Center
- Center
+ Center
@@ -2212,4 +2212,4 @@
-
+
\ No newline at end of file
diff --git a/PartyModes/PartyModeChallengeMedley/CChallengeRounds.cs b/PartyModes/PartyModeChallengeMedley/CChallengeRounds.cs
index 4114320b..d2345005 100644
--- a/PartyModes/PartyModeChallengeMedley/CChallengeRounds.cs
+++ b/PartyModes/PartyModeChallengeMedley/CChallengeRounds.cs
@@ -146,7 +146,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
_Rand = rand;
}
- public CCombination GetNextCombination(List playerNrDemand)
+ public CCombination GetNextCombination(IEnumerable playerNrDemand)
{
if (_Combs.Count == 0)
_Create();
diff --git a/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs b/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs
index 7abd44db..f108e66f 100644
--- a/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs
+++ b/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs
@@ -515,6 +515,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
return false;
}
+ // ReSharper disable LoopCanBeConvertedToQuery
foreach (CSong song in visibleSongs)
{
foreach (EGameMode mode in song.AvailableGameModes)
@@ -523,6 +524,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
ids.Add(song.ID);
}
}
+ // ReSharper restore LoopCanBeConvertedToQuery
if (ids.Count == 0)
{
diff --git a/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs b/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs
index e073f362..e4a396fb 100644
--- a/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs
+++ b/PartyModes/PartyModeChallengeMedley/CPartyScreenChallengeMedleyNames.cs
@@ -382,17 +382,8 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
//Show profile only if active
if (CBase.Profiles.GetProfiles()[i].Active == EOffOn.TR_CONFIG_ON)
{
- visible = true;
-
- for (int p = 0; p < _Data.ScreenNames.ProfileIDs.Count; p++)
- {
- //Don't show profile if is selected
- if (_Data.ScreenNames.ProfileIDs[p] == i)
- {
- visible = false;
- break;
- }
- }
+ //Don't show profile if is selected
+ visible = !_Data.ScreenNames.ProfileIDs.Contains(i);
}
if (visible)
_PlayerChooseButtonsVisibleProfiles.Add(i);
diff --git a/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs b/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs
index 2f46b6dd..2e51f184 100644
--- a/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs
+++ b/PartyModes/PartyModeTicTacToe/CPartyModeTicTacToe.cs
@@ -658,7 +658,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
for (int i = 0; i < CBase.Playlist.GetPlaylistSongCount(_GameData.PlaylistID); i++)
{
int id = CBase.Playlist.GetPlaylistSong(_GameData.PlaylistID, i).SongID;
+ // ReSharper disable LoopCanBeConvertedToQuery
foreach (EGameMode mode in CBase.Songs.GetSongByID(id).AvailableGameModes)
+ // ReSharper restore LoopCanBeConvertedToQuery
{
if (mode == gm)
songs.Add(id);
@@ -669,7 +671,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
case ESongSource.TR_ALLSONGS:
for (int i = 0; i < CBase.Songs.GetNumSongs(); i++)
{
+ // ReSharper disable LoopCanBeConvertedToQuery
foreach (EGameMode mode in CBase.Songs.GetSongByID(i).AvailableGameModes)
+ // ReSharper restore LoopCanBeConvertedToQuery
{
if (mode == gm)
songs.Add(i);
@@ -681,7 +685,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
CBase.Songs.SetCategory(_GameData.CategoryID);
for (int i = 0; i < CBase.Songs.NumSongsInCategory(_GameData.CategoryID); i++)
{
+ // ReSharper disable LoopCanBeConvertedToQuery
foreach (EGameMode mode in CBase.Songs.GetVisibleSong(i).AvailableGameModes)
+ // ReSharper restore LoopCanBeConvertedToQuery
{
if (mode == gm)
songs.Add(CBase.Songs.GetVisibleSong(i).ID);
diff --git a/Vocaluxe.sln b/Vocaluxe.sln
index b1eb0f0f..636ec3bf 100644
--- a/Vocaluxe.sln
+++ b/Vocaluxe.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Express 2012 for Windows Desktop
+# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vocaluxe", "Vocaluxe\Vocaluxe.csproj", "{2A1E0F2D-5392-4BB7-B0A1-A9DFA13E79FF}"
ProjectSection(ProjectDependencies) = postProject
{6F3E1874-F28A-40E9-AFBD-31934D593678} = {6F3E1874-F28A-40E9-AFBD-31934D593678}
@@ -128,4 +128,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(Performance) = preSolution
+ HasPerformanceSessions = true
+ EndGlobalSection
EndGlobal
diff --git a/Vocaluxe/Base/CBackgroundMusic.cs b/Vocaluxe/Base/CBackgroundMusic.cs
index c4f40329..26377f1d 100644
--- a/Vocaluxe/Base/CBackgroundMusic.cs
+++ b/Vocaluxe/Base/CBackgroundMusic.cs
@@ -24,6 +24,7 @@ using System.IO;
using System.Linq;
using VocaluxeLib;
using VocaluxeLib.Songs;
+using VocaluxeLib.Draw;
namespace Vocaluxe.Base
{
@@ -39,7 +40,7 @@ namespace Vocaluxe.Base
private static readonly List _PreviousFileNames = new List();
private static int _Video = -1;
- private static STexture _CurrentVideoTexture = new STexture(-1);
+ private static CTexture _CurrentVideoTexture;
private static readonly Stopwatch _FadeTimer = new Stopwatch();
private static bool _VideoEnabled;
@@ -118,7 +119,7 @@ namespace Vocaluxe.Base
}
}
- public static STexture Cover
+ public static CTexture Cover
{
get { return _CurrentPlaylistElement.Cover; }
}
@@ -155,7 +156,7 @@ namespace Vocaluxe.Base
CSound.Fade(_CurrentMusicStream, 100f, CSettings.BackgroundMusicFadeTime);
CSound.Play(_CurrentMusicStream);
if (_VideoEnabled && _Video != -1)
- CVideo.VdResume(_Video);
+ CVideo.Resume(_Video);
IsPlaying = true;
}
else
@@ -173,7 +174,7 @@ namespace Vocaluxe.Base
if (_VideoEnabled && _Video != -1)
{
- CVideo.VdClose(_Video);
+ CVideo.Close(_Video);
CDraw.RemoveTexture(ref _CurrentVideoTexture);
_Video = -1;
}
@@ -191,8 +192,8 @@ namespace Vocaluxe.Base
if (_VideoEnabled && _Video != -1)
{
- CVideo.VdPause(_Video);
- CVideo.VdSkip(_Video, CSound.GetPosition(_CurrentMusicStream) + CSettings.BackgroundMusicFadeTime, _CurrentPlaylistElement.VideoGap);
+ CVideo.Pause(_Video);
+ CVideo.Skip(_Video, CSound.GetPosition(_CurrentMusicStream) + CSettings.BackgroundMusicFadeTime, _CurrentPlaylistElement.VideoGap);
}
CSound.FadeAndPause(_CurrentMusicStream, 0f, CSettings.BackgroundMusicFadeTime);
IsPlaying = false;
@@ -221,9 +222,9 @@ namespace Vocaluxe.Base
if (_VideoEnabled && _Video != -1)
{
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON)
- CVideo.VdSkip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
+ CVideo.Skip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
else
- CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
+ CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
}
}
else
@@ -287,9 +288,9 @@ namespace Vocaluxe.Base
if (_VideoEnabled && _Video != -1)
{
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON)
- CVideo.VdSkip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
+ CVideo.Skip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
else
- CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
+ CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
}
}
else
@@ -319,9 +320,9 @@ namespace Vocaluxe.Base
if (_VideoEnabled && _Video != -1)
{
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON)
- CVideo.VdSkip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
+ CVideo.Skip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
else
- CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
+ CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
}
}
}
@@ -441,14 +442,14 @@ namespace Vocaluxe.Base
if (_VideoEnabled)
{
_VideoEnabled = false;
- CVideo.VdClose(_Video);
+ CVideo.Close(_Video);
_Video = -1;
CDraw.RemoveTexture(ref _CurrentVideoTexture);
return;
}
- if (CVideo.VdFinished(_Video))
+ if (CVideo.Finished(_Video))
{
- CVideo.VdClose(_Video);
+ CVideo.Close(_Video);
CDraw.RemoveTexture(ref _CurrentVideoTexture);
_Video = -1;
}
@@ -457,22 +458,24 @@ namespace Vocaluxe.Base
_LoadVideo();
}
- public static STexture GetVideoTexture()
+ public static CTexture GetVideoTexture()
{
if (_Video != -1)
{
float vtime;
- CVideo.VdGetFrame(_Video, ref _CurrentVideoTexture, CSound.GetPosition(_CurrentMusicStream), out vtime);
- if (_FadeTimer.ElapsedMilliseconds <= 3000L)
- _CurrentVideoTexture.Color.A = _FadeTimer.ElapsedMilliseconds / 3000f;
- else
+ if (CVideo.GetFrame(_Video, ref _CurrentVideoTexture, CSound.GetPosition(_CurrentMusicStream), out vtime))
{
- _CurrentVideoTexture.Color.A = 1f;
- _FadeTimer.Stop();
+ if (_FadeTimer.ElapsedMilliseconds <= 3000L)
+ _CurrentVideoTexture.Color.A = _FadeTimer.ElapsedMilliseconds / 3000f;
+ else
+ {
+ _CurrentVideoTexture.Color.A = 1f;
+ _FadeTimer.Stop();
+ }
+ return _CurrentVideoTexture;
}
- return _CurrentVideoTexture;
}
- return new STexture(-1);
+ return null;
}
private static bool _IsBackgroundFile(CPlaylistElement element)
@@ -484,11 +487,11 @@ namespace Vocaluxe.Base
{
if (_Video == -1)
{
- _Video = CVideo.VdLoad(_CurrentPlaylistElement.VideoFilePath);
+ _Video = CVideo.Load(_CurrentPlaylistElement.VideoFilePath);
if (_CurrentPlaylistElement.Start > 0.001 && CConfig.BackgroundMusicUseStart == EOffOn.TR_CONFIG_ON)
- CVideo.VdSkip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
+ CVideo.Skip(_Video, _CurrentPlaylistElement.Start, _CurrentPlaylistElement.VideoGap);
else
- CVideo.VdSkip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
+ CVideo.Skip(_Video, 0f, _CurrentPlaylistElement.VideoGap);
_VideoEnabled = true;
_FadeTimer.Reset();
_FadeTimer.Start();
@@ -576,7 +579,7 @@ namespace Vocaluxe.Base
}
}
- public STexture Cover
+ public CTexture Cover
{
get
{
diff --git a/Vocaluxe/Base/CConfig.cs b/Vocaluxe/Base/CConfig.cs
index ae7c18af..73be016c 100644
--- a/Vocaluxe/Base/CConfig.cs
+++ b/Vocaluxe/Base/CConfig.cs
@@ -29,7 +29,6 @@ using System.Xml;
using Vocaluxe.Lib.Sound;
using Vocaluxe.Lib.Webcam;
using VocaluxeLib;
-using VocaluxeLib.Menu;
using VocaluxeLib.Profile;
namespace Vocaluxe.Base
@@ -843,13 +842,13 @@ namespace Vocaluxe.Base
CGame.Players[j].ProfileID = -1;
if (Players[j] == "" || profiles == null)
continue;
-
- for (int i = 0; i < profiles.Length; i++)
+
+ foreach (CProfile profile in profiles)
{
- if (Path.GetFileName(profiles[i].FileName) == Players[j] && profiles[i].Active == EOffOn.TR_CONFIG_ON)
+ if (Path.GetFileName(profile.FileName) == Players[j] && profile.Active == EOffOn.TR_CONFIG_ON)
{
//Update Game-infos with player
- CGame.Players[j].ProfileID = profiles[i].ID;
+ CGame.Players[j].ProfileID = profile.ID;
}
}
}
diff --git a/Vocaluxe/Base/CController.cs b/Vocaluxe/Base/CController.cs
index 66874fab..e28bb2ee 100644
--- a/Vocaluxe/Base/CController.cs
+++ b/Vocaluxe/Base/CController.cs
@@ -17,9 +17,7 @@
// */
#endregion
-using System;
using System.Collections.Generic;
-
using Vocaluxe.Base.Server;
using Vocaluxe.Lib.Input;
using Vocaluxe.Lib.Input.WiiMote;
@@ -39,22 +37,18 @@ namespace Vocaluxe.Base
_Controller = new List();
_KeysPool = new List();
_MousePool = new List();
-
+
_Controller.Add(new CWiiMote());
_Controller.Add(CVocaluxeServer.Controller);
foreach (IController controller in _Controller)
- {
controller.Init();
- }
}
public static void Close()
{
foreach (IController controller in _Controller)
- {
controller.Close();
- }
_Controller = new List();
}
@@ -62,17 +56,13 @@ namespace Vocaluxe.Base
public static void Connect()
{
foreach (IController controller in _Controller)
- {
controller.Connect();
- }
}
public static void Disconnect()
{
foreach (IController controller in _Controller)
- {
controller.Disconnect();
- }
}
public static bool IsConnected()
@@ -89,17 +79,12 @@ namespace Vocaluxe.Base
SKeyEvent ke = new SKeyEvent();
while (controller.PollKeyEvent(ref ke))
- {
_KeysPool.Add(ke);
- }
SMouseEvent me = new SMouseEvent();
while (controller.PollMouseEvent(ref me))
- {
_MousePool.Add(me);
- }
}
-
}
public static bool PollKeyEvent(ref SKeyEvent keyEvent)
@@ -127,9 +112,7 @@ namespace Vocaluxe.Base
public static void SetRumble(float duration)
{
foreach (IController controller in _Controller)
- {
controller.SetRumble(duration);
- }
}
}
}
\ No newline at end of file
diff --git a/Vocaluxe/Base/CCover.cs b/Vocaluxe/Base/CCover.cs
index 30c51ef2..0c66fcf3 100644
--- a/Vocaluxe/Base/CCover.cs
+++ b/Vocaluxe/Base/CCover.cs
@@ -24,15 +24,14 @@ using System.Linq;
using System.Text;
using System.Xml;
using VocaluxeLib;
-using VocaluxeLib.Menu;
+using VocaluxeLib.Draw;
namespace Vocaluxe.Base
{
struct SCover
{
public string Name;
- public string Value;
- public STexture Texture;
+ public CTexture Texture;
}
struct SCoverTheme
@@ -47,14 +46,10 @@ namespace Vocaluxe.Base
private static readonly XmlWriterSettings _Settings = new XmlWriterSettings();
private static readonly List _Cover = new List();
private static readonly List _CoverThemes = new List();
- private static STexture _NoCover = new STexture(-1);
private static readonly Object _MutexCover = new Object();
- public static STexture NoCover
- {
- get { return _NoCover; }
- }
+ public static CTexture NoCover { get; private set; }
public static void Init()
{
@@ -98,21 +93,17 @@ namespace Vocaluxe.Base
///
/// Returns a STexture for a given cover name. Returns "NoCover" if the cover does not exist.
///
- public static STexture Cover(string name)
+ public static CTexture Cover(string name)
{
- STexture cov = _NoCover;
lock (_MutexCover)
{
foreach (SCover cover in _Cover)
{
if (cover.Name == name)
- {
- cov = cover.Texture;
- break;
- }
+ return cover.Texture;
}
}
- return cov;
+ return NoCover;
}
///
@@ -133,7 +124,7 @@ namespace Vocaluxe.Base
{
foreach (SCover cover in _Cover)
{
- STexture texture = cover.Texture;
+ CTexture texture = cover.Texture;
CDraw.RemoveTexture(ref texture);
}
_Cover.Clear();
@@ -145,16 +136,12 @@ namespace Vocaluxe.Base
///
private static SCoverTheme _CoverTheme(string coverThemeName)
{
- SCoverTheme coverTheme = new SCoverTheme();
for (int i = 0; i < _CoverThemes.Count; i++)
{
if (_CoverThemes[i].Name == coverThemeName)
- {
- coverTheme = _CoverThemes[i];
- break;
- }
+ return _CoverThemes[i];
}
- return coverTheme;
+ return new SCoverTheme();
}
///
@@ -195,7 +182,7 @@ namespace Vocaluxe.Base
{
SCoverTheme coverTheme = _CoverTheme(coverThemeName);
- if (coverTheme.Name == "")
+ if (String.IsNullOrEmpty(coverTheme.Name))
return;
CXMLReader xmlReader = CXMLReader.OpenFile(Path.Combine(CSettings.FolderCover, coverTheme.File));
@@ -207,31 +194,30 @@ namespace Vocaluxe.Base
List cover = xmlReader.GetValues("Cover");
foreach (string coverName in cover)
{
- SCover sk = new SCover();
string name;
- string value;
+ string filePath;
xmlReader.GetValue("//root/Cover/" + coverName + "/Name", out name, String.Empty);
- xmlReader.GetValue("//root/Cover/" + coverName + "/Path", out value, String.Empty);
- sk.Name = name;
- sk.Value = Path.Combine(coverTheme.Folder, value);
- sk.Texture = File.Exists(Path.Combine(CSettings.FolderCover, sk.Value))
- ? CDraw.AddTexture(Path.Combine(CSettings.FolderCover, Path.Combine(coverTheme.Folder, value))) : _NoCover;
+ xmlReader.GetValue("//root/Cover/" + coverName + "/Path", out filePath, String.Empty);
+ string coverFilePath = Path.Combine(CSettings.FolderCover, Path.Combine(coverTheme.Folder, filePath));
+ if (!File.Exists(coverFilePath))
+ continue;
+ SCover sk = new SCover {Name = name, Texture = CDraw.AddTexture(coverFilePath)};
_Cover.Add(sk);
if (sk.Name == "NoCover")
- _NoCover = sk.Texture;
+ NoCover = sk.Texture;
}
}
}
List files = new List();
- string path = Path.Combine(CSettings.FolderCover, coverTheme.Folder);
- files.AddRange(CHelper.ListFiles(path, "*.png", true, true));
- files.AddRange(CHelper.ListFiles(path, "*.jpg", true, true));
- files.AddRange(CHelper.ListFiles(path, "*.jpeg", true, true));
- files.AddRange(CHelper.ListFiles(path, "*.bmp", true, true));
+ string coverPath = Path.Combine(CSettings.FolderCover, coverTheme.Folder);
+ files.AddRange(CHelper.ListFiles(coverPath, "*.png", true, true));
+ files.AddRange(CHelper.ListFiles(coverPath, "*.jpg", true, true));
+ files.AddRange(CHelper.ListFiles(coverPath, "*.jpeg", true, true));
+ files.AddRange(CHelper.ListFiles(coverPath, "*.bmp", true, true));
foreach (string file in files)
@@ -241,11 +227,9 @@ namespace Vocaluxe.Base
if (_CoverExists(name))
continue;
// ReSharper disable AssignNullToNotNullAttribute
- SCover sk = new SCover {Name = name, Value = Path.Combine(coverTheme.Folder, Path.GetFileName(file))};
+ SCover sk = new SCover {Name = name, Texture = CDraw.AddTexture(file)};
// ReSharper restore AssignNullToNotNullAttribute
- sk.Texture = CDraw.AddTexture(Path.Combine(CSettings.FolderCover, sk.Value));
-
_Cover.Add(sk);
}
}
diff --git a/Vocaluxe/Base/CCursor.cs b/Vocaluxe/Base/CCursor.cs
new file mode 100644
index 00000000..70f1c84b
--- /dev/null
+++ b/Vocaluxe/Base/CCursor.cs
@@ -0,0 +1,157 @@
+#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.Diagnostics;
+using VocaluxeLib;
+using VocaluxeLib.Draw;
+
+namespace Vocaluxe.Base
+{
+ class CCursor
+ {
+ private readonly Stopwatch _CursorFadingTimer = new Stopwatch();
+ private float _CursorTargetAlpha = 1f;
+ private float _CursorStartAlpha;
+ private float _CursorFadingTime = 0.5f;
+ private CTexture _Cursor;
+
+ private readonly Stopwatch _Movetimer = new Stopwatch();
+
+ public bool ShowCursor = true;
+ public bool Visible = true;
+
+ public int X
+ {
+ get { return (int)_Cursor.Rect.X; }
+ }
+
+ public int Y
+ {
+ get { return (int)_Cursor.Rect.Y; }
+ }
+
+ public bool IsActive
+ {
+ get { return _Movetimer.IsRunning; }
+ }
+
+ public void Draw()
+ {
+ if (_Movetimer.IsRunning && _Movetimer.ElapsedMilliseconds / 1000f > CSettings.MouseMoveOffTime)
+ {
+ _Movetimer.Stop();
+ _Fade(0f, 0.5f);
+ }
+
+
+ if (_CursorFadingTimer.IsRunning)
+ {
+ float t = _CursorFadingTimer.ElapsedMilliseconds / 1000f;
+ if (t < _CursorFadingTime)
+ {
+ if (_CursorTargetAlpha >= _CursorStartAlpha)
+ _Cursor.Color.A = _CursorStartAlpha + (_CursorTargetAlpha - _CursorStartAlpha) * t / _CursorFadingTime;
+ else
+ _Cursor.Color.A = (_CursorStartAlpha - _CursorTargetAlpha) * (1f - t / _CursorFadingTime);
+ }
+ else
+ {
+ _CursorFadingTimer.Stop();
+ _Cursor.Color.A = _CursorTargetAlpha;
+ }
+ }
+
+ if (Visible && (CSettings.GameState == EGameState.EditTheme || ShowCursor))
+ CDraw.DrawTexture(_Cursor);
+ }
+
+ public void UpdatePosition(int x, int y)
+ {
+ if (Math.Abs(_Cursor.Rect.X - x) > CSettings.MouseMoveDiffMin ||
+ Math.Abs(_Cursor.Rect.Y - y) > CSettings.MouseMoveDiffMin)
+ {
+ if (_CursorTargetAlpha < 0.01)
+ _Fade(1f, 0.2f);
+
+ _Movetimer.Reset();
+ _Movetimer.Start();
+ CSettings.MouseActive();
+ }
+
+ _Cursor.Rect.X = x;
+ _Cursor.Rect.Y = y;
+ }
+
+ public void LoadTextures()
+ {
+ _Cursor = CDraw.AddTexture(CTheme.GetSkinFilePath(CTheme.Cursor.SkinName, -1));
+
+ _Cursor.Color = !String.IsNullOrEmpty(CTheme.Cursor.Color)
+ ? CTheme.GetColor(CTheme.Cursor.Color, -1) : new SColorF(CTheme.Cursor.R, CTheme.Cursor.G, CTheme.Cursor.B, CTheme.Cursor.A);
+ _Cursor.Rect.W = CTheme.Cursor.W;
+ _Cursor.Rect.H = CTheme.Cursor.H;
+ _Cursor.Rect.Z = CSettings.ZNear;
+ }
+
+ public void UnloadTextures()
+ {
+ CDraw.RemoveTexture(ref _Cursor);
+ }
+
+ public void ReloadTextures()
+ {
+ int x = X;
+ int y = Y;
+ UnloadTextures();
+ LoadTextures();
+ UpdatePosition(x, y);
+ }
+
+ public void FadeOut()
+ {
+ _Movetimer.Stop();
+ _Fade(0f, 0.5f);
+ }
+
+ public void FadeIn()
+ {
+ _Movetimer.Reset();
+ _Movetimer.Start();
+ _Fade(1f, 0.2f);
+ }
+
+ private void _Fade(float targetAlpha, float time)
+ {
+ _CursorFadingTimer.Stop();
+ _CursorFadingTimer.Reset();
+
+ if (targetAlpha >= 0f && targetAlpha <= 1f)
+ _CursorTargetAlpha = targetAlpha;
+ else
+ _CursorTargetAlpha = 1f;
+
+ if (time >= 0f)
+ _CursorFadingTime = time;
+
+ _CursorStartAlpha = _Cursor.Color.A;
+ _CursorFadingTimer.Start();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Vocaluxe/Base/CDataBase.cs b/Vocaluxe/Base/CDataBase.cs
index 35deea77..2e9c4b65 100644
--- a/Vocaluxe/Base/CDataBase.cs
+++ b/Vocaluxe/Base/CDataBase.cs
@@ -37,6 +37,7 @@ using SQLiteDataReader = Mono.Data.Sqlite.SqliteDataReader;
using Community.CsharpSqlite;
using VocaluxeLib;
using VocaluxeLib.Songs;
+using VocaluxeLib.Draw;
namespace Vocaluxe.Base
{
@@ -912,7 +913,7 @@ namespace Vocaluxe.Base
#endregion Highscores
#region Cover
- public static bool GetCover(string coverPath, ref STexture tex, int maxSize)
+ public static bool GetCover(string coverPath, ref CTexture tex, int maxSize)
{
if (!File.Exists(coverPath))
{
@@ -1141,7 +1142,7 @@ namespace Vocaluxe.Base
#endregion Cover
#region CreditsRessources
- public static bool GetCreditsRessource(string fileName, ref STexture tex)
+ public static bool GetCreditsRessource(string fileName, ref CTexture tex)
{
bool result = false;
diff --git a/Vocaluxe/Base/CDraw.cs b/Vocaluxe/Base/CDraw.cs
index f9166042..3969658a 100644
--- a/Vocaluxe/Base/CDraw.cs
+++ b/Vocaluxe/Base/CDraw.cs
@@ -21,6 +21,7 @@ using System;
using System.Drawing;
using Vocaluxe.Lib.Draw;
using VocaluxeLib;
+using VocaluxeLib.Draw;
using VocaluxeLib.Menu;
namespace Vocaluxe.Base
@@ -125,12 +126,12 @@ namespace Vocaluxe.Base
_Draw.ClearScreen();
}
- public static STexture CopyScreen()
+ public static CTexture CopyScreen()
{
return _Draw.CopyScreen();
}
- public static void CopyScreen(ref STexture texture)
+ public static void CopyScreen(ref CTexture texture)
{
_Draw.CopyScreen(ref texture);
}
@@ -140,75 +141,80 @@ namespace Vocaluxe.Base
_Draw.MakeScreenShot();
}
- public static STexture AddTexture(Bitmap bitmap)
+ public static CTexture AddTexture(Bitmap bitmap)
{
return _Draw.AddTexture(bitmap);
}
- public static STexture AddTexture(string texturePath)
+ public static CTexture AddTexture(string texturePath)
{
return _Draw.AddTexture(texturePath);
}
- public static STexture AddTexture(int w, int h, byte[] data)
+ public static CTexture AddTexture(int w, int h, byte[] data)
{
return _Draw.AddTexture(w, h, data);
}
- public static STexture EnqueueTexture(int w, int h, byte[] data)
+ public static CTexture EnqueueTexture(int w, int h, byte[] data)
{
return _Draw.EnqueueTexture(w, h, data);
}
- public static bool UpdateTexture(ref STexture texture, byte[] data)
+ public static bool UpdateTexture(CTexture texture, int w, int h, byte[] data)
{
- return _Draw.UpdateTexture(ref texture, data);
+ return _Draw.UpdateTexture(texture, w, h, data);
}
- public static void RemoveTexture(ref STexture texture)
+ public static bool UpdateOrAddTexture(ref CTexture texture, int w, int h, byte[] data)
+ {
+ return _Draw.UpdateOrAddTexture(ref texture, w, h, data);
+ }
+
+ public static void RemoveTexture(ref CTexture texture)
{
_Draw.RemoveTexture(ref texture);
}
- public static void DrawTexture(STexture texture)
+ public static void DrawTexture(CTexture texture)
{
_Draw.DrawTexture(texture);
}
- public static void DrawTexture(STexture texture, SRectF rect)
+ public static void DrawTexture(CTexture texture, SRectF rect)
{
_Draw.DrawTexture(texture, rect);
}
- public static void DrawTexture(STexture texture, SRectF rect, SColorF color, bool mirrored = false)
+ public static void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false)
{
_Draw.DrawTexture(texture, rect, color, mirrored);
}
- public static void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
+ public static void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
{
_Draw.DrawTexture(texture, rect, color, bounds, mirrored);
}
- public static void DrawTexture(STexture texture, SRectF rect, SColorF color, float begin, float end)
+ 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, STexture texture, EAspect aspect)
+ public static void DrawTexture(CStatic staticBounds, CTexture texture, EAspect aspect)
{
- if (texture.Height <= 0f)
+ if (texture == null)
return;
RectangleF bounds = new RectangleF(staticBounds.Rect.X, staticBounds.Rect.Y, staticBounds.Rect.W, staticBounds.Rect.H);
- RectangleF rect = new RectangleF(0f, 0f, texture.Width, texture.Height);
+ RectangleF rect;
- CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, aspect);
+ 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(STexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height)
+ public static void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height)
{
_Draw.DrawTextureReflection(texture, rect, color, bounds, space, height);
}
diff --git a/Vocaluxe/Base/CGraphics.cs b/Vocaluxe/Base/CGraphics.cs
index df205d9d..f531a3c7 100644
--- a/Vocaluxe/Base/CGraphics.cs
+++ b/Vocaluxe/Base/CGraphics.cs
@@ -30,152 +30,11 @@ using VocaluxeLib.PartyModes;
namespace Vocaluxe.Base
{
- class CCursor
- {
- private readonly Stopwatch _CursorFadingTimer;
- private float _CursorTargetAlpha;
- private float _CursorStartAlpha;
- private float _CursorFadingTime;
- private STexture _Cursor;
- private readonly string _CursorName = String.Empty;
-
- private readonly Stopwatch _Movetimer;
-
- public bool ShowCursor;
- public bool Visible = true;
- public bool CursorVisible = true;
-
- public int X
- {
- get { return (int)_Cursor.Rect.X; }
- set { UpdatePosition(value, (int)_Cursor.Rect.Y); }
- }
-
- public int Y
- {
- get { return (int)_Cursor.Rect.Y; }
- set { UpdatePosition((int)_Cursor.Rect.X, value); }
- }
-
- public bool IsActive
- {
- get { return _Movetimer.IsRunning; }
- }
-
- public CCursor(string textureName, SColorF color, float w, float h, float z)
- {
- _CursorFadingTimer = new Stopwatch();
- ShowCursor = true;
- _CursorTargetAlpha = 1f;
- _CursorStartAlpha = 0f;
- _CursorFadingTime = 0.5f;
-
- _CursorName = textureName;
- _Cursor = CDraw.AddTexture(CTheme.GetSkinFilePath(_CursorName, -1));
-
- _Cursor.Color = color;
- _Cursor.Rect.W = w;
- _Cursor.Rect.H = h;
- _Cursor.Rect.Z = z;
-
- _Movetimer = new Stopwatch();
- }
-
- public void Draw()
- {
- if (_Movetimer.IsRunning && _Movetimer.ElapsedMilliseconds / 1000f > CSettings.MouseMoveOffTime)
- {
- _Movetimer.Stop();
- _Fade(0f, 0.5f);
- }
-
-
- if (_CursorFadingTimer.IsRunning)
- {
- float t = _CursorFadingTimer.ElapsedMilliseconds / 1000f;
- if (t < _CursorFadingTime)
- {
- if (_CursorTargetAlpha >= _CursorStartAlpha)
- _Cursor.Color.A = _CursorStartAlpha + (_CursorTargetAlpha - _CursorStartAlpha) * t / _CursorFadingTime;
- else
- _Cursor.Color.A = (_CursorStartAlpha - _CursorTargetAlpha) * (1f - t / _CursorFadingTime);
- }
- else
- {
- _CursorFadingTimer.Stop();
- _Cursor.Color.A = _CursorTargetAlpha;
- }
- }
-
- if (CursorVisible && (CSettings.GameState == EGameState.EditTheme || ShowCursor))
- CDraw.DrawTexture(_Cursor);
- }
-
- public void UpdatePosition(int x, int y)
- {
- if (Math.Abs(_Cursor.Rect.X - x) > CSettings.MouseMoveDiffMin ||
- Math.Abs(_Cursor.Rect.Y - y) > CSettings.MouseMoveDiffMin)
- {
- if (_CursorTargetAlpha < 0.01)
- _Fade(1f, 0.2f);
-
- _Movetimer.Reset();
- _Movetimer.Start();
- CSettings.MouseActive();
- }
-
- _Cursor.Rect.X = x;
- _Cursor.Rect.Y = y;
- }
-
- public void UnloadTextures()
- {
- CDraw.RemoveTexture(ref _Cursor);
- }
-
- public void ReloadTextures()
- {
- UnloadTextures();
-
- _Cursor = CDraw.AddTexture(CTheme.GetSkinFilePath(_CursorName, -1));
- }
-
- public void FadeOut()
- {
- _Movetimer.Stop();
- _Fade(0f, 0.5f);
- }
-
- public void FadeIn()
- {
- _Movetimer.Reset();
- _Movetimer.Start();
- _Fade(1f, 0.2f);
- }
-
- private void _Fade(float targetAlpha, float time)
- {
- _CursorFadingTimer.Stop();
- _CursorFadingTimer.Reset();
-
- if (targetAlpha >= 0f && targetAlpha <= 1f)
- _CursorTargetAlpha = targetAlpha;
- else
- _CursorTargetAlpha = 1f;
-
- if (time >= 0f)
- _CursorFadingTime = time;
-
- _CursorStartAlpha = _Cursor.Color.A;
- _CursorFadingTimer.Start();
- }
- }
-
static class CGraphics
{
private static bool _Fading;
private static Stopwatch _FadingTimer;
- private static CCursor _Cursor;
+ private static readonly CCursor _Cursor = new CCursor();
private static float _GlobalAlpha;
private static float _ZOffset;
@@ -252,12 +111,7 @@ namespace Vocaluxe.Base
public static void LoadTheme()
{
- _Cursor = new CCursor(
- CTheme.Cursor.SkinName,
- new SColorF(CTheme.Cursor.R, CTheme.Cursor.G, CTheme.Cursor.B, CTheme.Cursor.A),
- CTheme.Cursor.W,
- CTheme.Cursor.H,
- CSettings.ZNear);
+ _Cursor.LoadTextures();
for (int i = 0; i < _Screens.Count; i++)
{
@@ -276,7 +130,7 @@ namespace Vocaluxe.Base
public static void ReloadTheme()
{
- _ReloadCursor();
+ _Cursor.ReloadTextures();
foreach (IMenu screen in _Screens)
screen.ReloadTheme(CTheme.GetThemeScreensPath(-1));
@@ -286,7 +140,7 @@ namespace Vocaluxe.Base
public static void ReloadSkin()
{
- _ReloadCursor();
+ _Cursor.ReloadTextures();
foreach (IMenu menu in _Screens)
menu.ReloadTextures();
@@ -313,7 +167,7 @@ namespace Vocaluxe.Base
public static bool UpdateGameLogic(CKeys keys, CMouse mouse)
{
bool run = true;
- _Cursor.CursorVisible = mouse.Visible;
+ _Cursor.Visible = mouse.Visible;
mouse.CopyEvents();
keys.CopyEvents();
@@ -783,27 +637,6 @@ namespace Vocaluxe.Base
y += rect.Height;
}
}
-
- private static void _ReloadCursor()
- {
- _Cursor.UnloadTextures();
-
- if (CTheme.Cursor.Color != "")
- {
- SColorF color = CTheme.GetColor(CTheme.Cursor.Color, -1);
- CTheme.Cursor.R = color.R;
- CTheme.Cursor.G = color.G;
- CTheme.Cursor.B = color.B;
- CTheme.Cursor.A = color.A;
- }
-
- _Cursor = new CCursor(
- CTheme.Cursor.SkinName,
- new SColorF(CTheme.Cursor.R, CTheme.Cursor.G, CTheme.Cursor.B, CTheme.Cursor.A),
- CTheme.Cursor.W,
- CTheme.Cursor.H,
- CSettings.ZNear);
- }
#endregion private stuff
}
}
\ No newline at end of file
diff --git a/Vocaluxe/Base/CLanguage.cs b/Vocaluxe/Base/CLanguage.cs
index 7482ffba..ede9e021 100644
--- a/Vocaluxe/Base/CLanguage.cs
+++ b/Vocaluxe/Base/CLanguage.cs
@@ -24,7 +24,6 @@ using System.Linq;
using System.Text;
using System.Xml;
using VocaluxeLib;
-using VocaluxeLib.Menu;
namespace Vocaluxe.Base
{
diff --git a/Vocaluxe/Base/CMain.cs b/Vocaluxe/Base/CMain.cs
index 852f731a..cd0ad057 100644
--- a/Vocaluxe/Base/CMain.cs
+++ b/Vocaluxe/Base/CMain.cs
@@ -24,8 +24,8 @@ using System.Drawing;
using Vocaluxe.Base.Fonts;
using VocaluxeLib;
using VocaluxeLib.Game;
+using VocaluxeLib.Draw;
using VocaluxeLib.Menu;
-using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.Songs;
using VocaluxeLib.Profile;
@@ -233,12 +233,12 @@ namespace Vocaluxe.Base
return CTheme.GetSkinIndex(partyModeID);
}
- public STexture GetSkinTexture(string textureName, int partyModeID)
+ public CTexture GetSkinTexture(string textureName, int partyModeID)
{
return CTheme.GetSkinTexture(textureName, partyModeID);
}
- public STexture GetSkinVideoTexture(string videoName, int partyModeID)
+ public CTexture GetSkinVideoTexture(string videoName, int partyModeID)
{
return CTheme.GetSkinVideoTexture(videoName, partyModeID);
}
@@ -341,7 +341,7 @@ namespace Vocaluxe.Base
CBackgroundMusic.ApplyVolume();
}
- public STexture GetVideoTexture()
+ public CTexture GetVideoTexture()
{
return CBackgroundMusic.GetVideoTexture();
}
@@ -349,32 +349,32 @@ namespace Vocaluxe.Base
class CBdraw : IDrawing
{
- public void DrawTexture(STexture texture, SRectF rect)
+ public void DrawTexture(CTexture texture, SRectF rect)
{
CDraw.DrawTexture(texture, rect);
}
- public void DrawTexture(STexture texture, SRectF rect, SColorF color)
+ public void DrawTexture(CTexture texture, SRectF rect, SColorF color)
{
CDraw.DrawTexture(texture, rect, color);
}
- public void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
+ public void DrawTexture(CTexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false)
{
CDraw.DrawTexture(texture, rect, color, bounds, mirrored);
}
- public void DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float reflectionSpace, float reflectionHeight)
+ public void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float reflectionSpace, float reflectionHeight)
{
CDraw.DrawTextureReflection(texture, rect, color, bounds, reflectionSpace, reflectionHeight);
}
- public STexture AddTexture(string fileName)
+ public CTexture AddTexture(string fileName)
{
return CDraw.AddTexture(fileName);
}
- public void RemoveTexture(ref STexture texture)
+ public void RemoveTexture(ref CTexture texture)
{
CDraw.RemoveTexture(ref texture);
}
@@ -686,27 +686,27 @@ namespace Vocaluxe.Base
{
public int Load(string videoFileName)
{
- return CVideo.VdLoad(videoFileName);
+ return CVideo.Load(videoFileName);
}
public bool Skip(int videoStream, float startPosition, float videoGap)
{
- return CVideo.VdSkip(videoStream, startPosition, videoGap);
+ return CVideo.Skip(videoStream, startPosition, videoGap);
}
- public bool GetFrame(int videoStream, ref STexture videoTexture, float time, out float videoTime)
+ public bool GetFrame(int videoStream, ref CTexture videoTexture, float time, out float videoTime)
{
- return CVideo.VdGetFrame(videoStream, ref videoTexture, time, out videoTime);
+ return CVideo.GetFrame(videoStream, ref videoTexture, time, out videoTime);
}
public bool IsFinished(int videoStream)
{
- return CVideo.VdFinished(videoStream);
+ return CVideo.Finished(videoStream);
}
public bool Close(int videoStream)
{
- return CVideo.VdClose(videoStream);
+ return CVideo.Close(videoStream);
}
}
@@ -765,7 +765,7 @@ namespace Vocaluxe.Base
class CBcover : ICover
{
- public STexture GetNoCover()
+ public CTexture GetNoCover()
{
return CCover.NoCover;
}
@@ -773,7 +773,7 @@ namespace Vocaluxe.Base
class CBdataBase : IDataBase
{
- public bool GetCover(string fileName, ref STexture texture, int coverSize)
+ public bool GetCover(string fileName, ref CTexture texture, int coverSize)
{
return CDataBase.GetCover(fileName, ref texture, coverSize);
}
diff --git a/Vocaluxe/Base/CParty.cs b/Vocaluxe/Base/CParty.cs
index f2b87093..461f2269 100644
--- a/Vocaluxe/Base/CParty.cs
+++ b/Vocaluxe/Base/CParty.cs
@@ -302,6 +302,7 @@ namespace Vocaluxe.Base
return pm;
}
pm.PartyMode.Initialize();
+ pm.PartyMode.SetFolder(Path.Combine(Directory.GetCurrentDirectory(), Path.Combine(CSettings.FolderPartyModes, pm.Folder)));
if (!CTheme.AddTheme(Path.Combine(Directory.GetCurrentDirectory(), Path.Combine(Path.Combine(CSettings.FolderPartyModes, pm.Folder), "Theme.xml")), pm.PartyModeID))
return pm;
diff --git a/Vocaluxe/Base/CPlaylists.cs b/Vocaluxe/Base/CPlaylists.cs
index 8c6cb840..1dc0493b 100644
--- a/Vocaluxe/Base/CPlaylists.cs
+++ b/Vocaluxe/Base/CPlaylists.cs
@@ -21,6 +21,7 @@ using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
+using System.Linq;
using System.Text;
using Vocaluxe.Lib.Playlist;
using VocaluxeLib;
@@ -40,13 +41,7 @@ namespace Vocaluxe.Base
public static List PlaylistNames
{
- get
- {
- List names = new List();
- for (int i = 0; i < _Playlists.Count; i++)
- names.Add(_Playlists[i].PlaylistName);
- return names;
- }
+ get { return _Playlists.Select(t => t.PlaylistName).ToList(); }
}
public static int NumPlaylists
diff --git a/Vocaluxe/Base/CProfiles.cs b/Vocaluxe/Base/CProfiles.cs
index 0143edaf..5c7ec480 100644
--- a/Vocaluxe/Base/CProfiles.cs
+++ b/Vocaluxe/Base/CProfiles.cs
@@ -20,11 +20,9 @@
using System;
using System.Collections.Generic;
using System.IO;
-using System.Text;
-using System.Xml;
using VocaluxeLib;
-using VocaluxeLib.Game;
using VocaluxeLib.Profile;
+using VocaluxeLib.Draw;
namespace Vocaluxe.Base
{
@@ -36,12 +34,12 @@ namespace Vocaluxe.Base
Profile = 4
}
- public delegate void ProfileChangedCallback(EProfileChangedFlags TypeChanged);
+ public delegate void ProfileChangedCallback(EProfileChangedFlags typeChanged);
static class CProfiles
{
#region enums and structs
- enum EAction
+ private enum EAction
{
LoadProfiles,
LoadAvatars,
@@ -52,7 +50,7 @@ namespace Vocaluxe.Base
EditAvatar
}
- struct SChange
+ private struct SChange
{
public CProfile Profile;
public CAvatar Avatar;
@@ -68,12 +66,12 @@ namespace Vocaluxe.Base
private static Dictionary _Avatars;
private static Queue _AvatarIDs;
- private static Queue _Queue = new Queue();
- private static Object _QueueMutex = new Object();
+ private static readonly Queue _Queue = new Queue();
+ private static readonly Object _QueueMutex = new Object();
- private static List _ProfileChangedCallbacks = new List();
- private static bool _ProfilesChanged = false;
- private static bool _AvatarsChanged = false;
+ private static readonly List _ProfileChangedCallbacks = new List();
+ private static bool _ProfilesChanged;
+ private static bool _AvatarsChanged;
#endregion private vars
#region properties
@@ -94,16 +92,12 @@ namespace Vocaluxe.Base
_Avatars = new Dictionary();
_AvatarIDs = new Queue(1000);
for (int i = 0; i < 1000; i++)
- {
_AvatarIDs.Enqueue(i);
- }
_Profiles = new Dictionary();
_ProfileIDs = new Queue(100);
for (int i = 0; i < 100; i++)
- {
_ProfileIDs.Enqueue(i);
- }
LoadProfiles();
}
@@ -144,7 +138,7 @@ namespace Vocaluxe.Base
if (change.Profile == null)
break;
- if (!ICProfileIDValid(change.Profile.ID))
+ if (!IsProfileIDValid(change.Profile.ID))
return;
_Profiles[change.Profile.ID] = change.Profile;
@@ -152,7 +146,7 @@ namespace Vocaluxe.Base
break;
case EAction.DeleteProfile:
- if (!ICProfileIDValid(change.ProfileID))
+ if (!IsProfileIDValid(change.ProfileID))
break;
_DeleteProfile(change.ProfileID);
@@ -172,15 +166,12 @@ namespace Vocaluxe.Base
if (change.Avatar == null)
break;
- if (!ICAvatarIDValid(change.Avatar.ID))
+ if (!IsAvatarIDValid(change.Avatar.ID))
return;
_Avatars[change.Avatar.ID] = change.Avatar;
_AvatarsChanged = true;
break;
-
- default:
- break;
}
}
}
@@ -216,15 +207,14 @@ namespace Vocaluxe.Base
_ProfilesChanged = false;
}
- public static void AddProfileChangedCallback(ProfileChangedCallback Notification)
+ public static void AddProfileChangedCallback(ProfileChangedCallback notification)
{
- _ProfileChangedCallbacks.Add(Notification);
+ _ProfileChangedCallbacks.Add(notification);
}
public static void LoadProfiles()
{
- SChange change = new SChange();
- change.Action = EAction.LoadProfiles;
+ SChange change = new SChange {Action = EAction.LoadProfiles};
lock (_QueueMutex)
{
@@ -234,8 +224,7 @@ namespace Vocaluxe.Base
public static void LoadAvatars()
{
- SChange change = new SChange();
- change.Action = EAction.LoadAvatars;
+ SChange change = new SChange {Action = EAction.LoadAvatars};
lock (_QueueMutex)
{
@@ -243,14 +232,12 @@ namespace Vocaluxe.Base
}
}
- public static void AddProfile(CProfile NewProfile)
+ public static void AddProfile(CProfile newProfile)
{
- if (NewProfile == null)
+ if (newProfile == null)
return;
- SChange change = new SChange();
- change.Action = EAction.AddProfile;
- change.Profile = NewProfile;
+ SChange change = new SChange {Action = EAction.AddProfile, Profile = newProfile};
lock (_QueueMutex)
{
@@ -258,14 +245,12 @@ namespace Vocaluxe.Base
}
}
- public static void EditProfile(CProfile EditProfile)
+ public static void EditProfile(CProfile editProfile)
{
- if (EditProfile == null)
+ if (editProfile == null)
return;
- SChange change = new SChange();
- change.Action = EAction.EditProfile;
- change.Profile = EditProfile;
+ SChange change = new SChange {Action = EAction.EditProfile, Profile = editProfile};
lock (_QueueMutex)
{
@@ -275,12 +260,10 @@ namespace Vocaluxe.Base
public static void DeleteProfile(int profileID)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return;
- SChange change = new SChange();
- change.Action = EAction.DeleteProfile;
- change.ProfileID = profileID;
+ SChange change = new SChange {Action = EAction.DeleteProfile, ProfileID = profileID};
lock (_QueueMutex)
{
@@ -288,14 +271,12 @@ namespace Vocaluxe.Base
}
}
- public static void AddAvatar(CAvatar NewAvatar)
+ public static void AddAvatar(CAvatar newAvatar)
{
- if (NewAvatar == null)
+ if (newAvatar == null)
return;
- SChange change = new SChange();
- change.Action = EAction.AddAvatar;
- change.Avatar = NewAvatar;
+ SChange change = new SChange {Action = EAction.AddAvatar, Avatar = newAvatar};
lock (_QueueMutex)
{
@@ -303,50 +284,40 @@ namespace Vocaluxe.Base
}
}
- public static void EditAvatar(CAvatar EditAvatar)
+ public static void EditAvatar(CAvatar editAvatar)
{
- if (EditAvatar == null)
+ if (editAvatar == null)
return;
- SChange change = new SChange();
- change.Action = EAction.EditAvatar;
- change.Avatar = EditAvatar;
+ SChange change = new SChange {Action = EAction.EditAvatar, Avatar = editAvatar};
lock (_QueueMutex)
{
_Queue.Enqueue(change);
}
}
-
+
public static CProfile[] GetProfiles()
{
- List list = new List();
-
if (_Profiles.Count == 0)
- return null;
+ return null;
- CProfile[] result = new CProfile[_Profiles.Count];
- _Profiles.Values.CopyTo(result, 0);
- for (int i = 0; i < result.Length; i++)
- {
- list.Add(result[i]);
- }
+ List list = new List(_Profiles.Values);
list.Sort(_CompareByPlayerName);
return list.ToArray();
}
- public static CAvatar[] GetAvatars()
+ public static IEnumerable GetAvatars()
{
- CAvatar[] result = null;
if (_Avatars.Count == 0)
return null;
-
- result = new CAvatar[_Avatars.Count];
+
+ CAvatar[] result = new CAvatar[_Avatars.Count];
_Avatars.Values.CopyTo(result, 0);
return result;
}
-
+
public static int NewProfile(string fileName = "")
{
CProfile profile = new CProfile
@@ -378,17 +349,15 @@ namespace Vocaluxe.Base
public static void SaveProfiles()
{
foreach (int id in _Profiles.Keys)
- {
_Profiles[id].SaveProfile();
- }
}
- public static bool ICProfileIDValid(int profileID)
+ public static bool IsProfileIDValid(int profileID)
{
return _Profiles.ContainsKey(profileID);
}
- public static bool ICAvatarIDValid(int avatarID)
+ public static bool IsAvatarIDValid(int avatarID)
{
return _Avatars.ContainsKey(avatarID);
}
@@ -397,7 +366,7 @@ namespace Vocaluxe.Base
#region profile properties
public static string GetPlayerName(int profileID, int playerNum = 0)
{
- if (ICProfileIDValid(profileID))
+ if (IsProfileIDValid(profileID))
return _Profiles[profileID].PlayerName;
string playerName = CLanguage.Translate("TR_SCREENNAMES_PLAYER");
@@ -406,25 +375,25 @@ namespace Vocaluxe.Base
return playerName;
}
- public static void SetPlayerName(int profileID, string PlayerName)
+ public static void SetPlayerName(int profileID, string playerName)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return;
- _Profiles[profileID].PlayerName = PlayerName;
+ _Profiles[profileID].PlayerName = playerName;
}
public static string GetProfileFileName(int profileID)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return String.Empty;
return Path.GetFileName(_Profiles[profileID].FileName);
- }
+ }
public static string AddGetPlayerName(int profileID, char chr)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return String.Empty;
_Profiles[profileID].PlayerName += chr;
@@ -433,11 +402,11 @@ namespace Vocaluxe.Base
public static string GetDeleteCharInPlayerName(int profileID)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return String.Empty;
CProfile profile = _Profiles[profileID];
- if (profile.PlayerName != "")
+ if (!String.IsNullOrEmpty(profile.PlayerName))
profile.PlayerName = profile.PlayerName.Remove(profile.PlayerName.Length - 1);
return profile.PlayerName;
@@ -445,12 +414,12 @@ namespace Vocaluxe.Base
public static EGameDifficulty GetDifficulty(int profileID)
{
- return ICProfileIDValid(profileID) ? _Profiles[profileID].Difficulty : EGameDifficulty.TR_CONFIG_NORMAL;
+ return IsProfileIDValid(profileID) ? _Profiles[profileID].Difficulty : EGameDifficulty.TR_CONFIG_NORMAL;
}
public static void SetDifficulty(int profileID, EGameDifficulty difficulty)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return;
_Profiles[profileID].Difficulty = difficulty;
@@ -458,12 +427,12 @@ namespace Vocaluxe.Base
public static EOffOn GetGuestProfile(int profileID)
{
- return ICProfileIDValid(profileID) ? _Profiles[profileID].GuestProfile : EOffOn.TR_CONFIG_OFF;
+ return IsProfileIDValid(profileID) ? _Profiles[profileID].GuestProfile : EOffOn.TR_CONFIG_OFF;
}
public static void SetGuestProfile(int profileID, EOffOn option)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return;
_Profiles[profileID].GuestProfile = option;
@@ -471,12 +440,12 @@ namespace Vocaluxe.Base
public static EOffOn GetActive(int profileID)
{
- return ICProfileIDValid(profileID) ? _Profiles[profileID].Active : EOffOn.TR_CONFIG_OFF;
+ return IsProfileIDValid(profileID) ? _Profiles[profileID].Active : EOffOn.TR_CONFIG_OFF;
}
-
+
public static void SetActive(int profileID, EOffOn option)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return;
_Profiles[profileID].Active = option;
@@ -484,7 +453,7 @@ namespace Vocaluxe.Base
public static bool IsGuestProfile(int profileID)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return true; // this will prevent from saving dummy profiles to highscore db
return _Profiles[profileID].GuestProfile == EOffOn.TR_CONFIG_ON;
@@ -492,14 +461,14 @@ namespace Vocaluxe.Base
public static bool IsActive(int profileID)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return false;
return _Profiles[profileID].Active == EOffOn.TR_CONFIG_ON;
}
public static void SetAvatar(int profileID, int avatarID)
{
- if (!ICProfileIDValid(profileID) || !ICAvatarIDValid(avatarID))
+ if (!IsProfileIDValid(profileID) || !IsAvatarIDValid(avatarID))
return;
_Profiles[profileID].Avatar = _Avatars[avatarID];
@@ -507,7 +476,7 @@ namespace Vocaluxe.Base
public static int GetAvatarID(int profileID)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return -1;
return _Profiles[profileID].Avatar.ID;
@@ -515,18 +484,18 @@ namespace Vocaluxe.Base
#endregion profile properties
#region avatar texture
- public static STexture GetAvatarTexture(int avatarID)
+ public static CTexture GetAvatarTexture(int avatarID)
{
- if (!ICAvatarIDValid(avatarID))
- return new STexture(-1);
+ if (!IsAvatarIDValid(avatarID))
+ return null;
return _Avatars[avatarID].Texture;
}
- public static STexture GetAvatarTextureFromProfile(int profileID)
+ public static CTexture GetAvatarTextureFromProfile(int profileID)
{
- if (!ICProfileIDValid(profileID))
- return new STexture(-1);
+ if (!IsProfileIDValid(profileID))
+ return null;
return _Profiles[profileID].Avatar.Texture;
}
@@ -542,15 +511,15 @@ namespace Vocaluxe.Base
{
int[] ids = new int[_Profiles.Keys.Count];
_Profiles.Keys.CopyTo(ids, 0);
- for (int i = 0; i < ids.Length; i++)
+ foreach (int id in ids)
{
- if (_Profiles[ids[i]].LoadProfile())
+ if (_Profiles[id].LoadProfile())
{
- _Profiles[ids[i]].Avatar = _GetAvatar(_Profiles[ids[i]].AvatarFileName);
- knownFiles.Add(Path.GetFileName(_Profiles[ids[i]].FileName));
+ _Profiles[id].Avatar = _GetAvatar(_Profiles[id].AvatarFileName);
+ knownFiles.Add(Path.GetFileName(_Profiles[id].FileName));
}
else
- _Profiles.Remove(ids[i]);
+ _Profiles.Remove(id);
}
}
@@ -563,9 +532,9 @@ namespace Vocaluxe.Base
continue;
CProfile profile = new CProfile
- {
- FileName = Path.Combine(CSettings.FolderProfiles, file)
- };
+ {
+ FileName = Path.Combine(CSettings.FolderProfiles, file)
+ };
if (profile.LoadProfile())
{
@@ -584,12 +553,12 @@ namespace Vocaluxe.Base
{
int[] ids = new int[_Avatars.Keys.Count];
_Avatars.Keys.CopyTo(ids, 0);
- for (int i = 0; i < ids.Length; i++)
+ foreach (int id in ids)
{
- if (_Avatars[ids[i]].Reload())
- knownFiles.Add(Path.GetFileName(_Avatars[ids[i]].FileName));
+ if (_Avatars[id].Reload())
+ knownFiles.Add(Path.GetFileName(_Avatars[id].FileName));
else
- _Avatars.Remove(ids[i]);
+ _Avatars.Remove(id);
}
}
@@ -616,7 +585,7 @@ namespace Vocaluxe.Base
private static void _DeleteProfile(int profileID)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return;
if (_Profiles[profileID].FileName == "")
@@ -657,7 +626,7 @@ namespace Vocaluxe.Base
private static void _RemoveProfile(int profileID)
{
- if (!ICProfileIDValid(profileID))
+ if (!IsProfileIDValid(profileID))
return;
_Profiles.Remove(profileID);
@@ -671,11 +640,11 @@ namespace Vocaluxe.Base
private static CAvatar _GetAvatar(string fileName)
{
- string Name = Path.GetFileName(fileName);
+ string name = Path.GetFileName(fileName);
foreach (int id in _Avatars.Keys)
{
- if (Path.GetFileName(_Avatars[id].FileName) == Name)
+ if (Path.GetFileName(_Avatars[id].FileName) == name)
return _Avatars[id];
}
return new CAvatar(-1);
diff --git a/Vocaluxe/Base/CSongCategorizer.cs b/Vocaluxe/Base/CSongCategorizer.cs
index 7a43c210..aba5bb88 100644
--- a/Vocaluxe/Base/CSongCategorizer.cs
+++ b/Vocaluxe/Base/CSongCategorizer.cs
@@ -21,7 +21,6 @@ using System;
using System.Collections.Generic;
using System.Text;
using VocaluxeLib;
-using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.Songs;
namespace Vocaluxe.Base
diff --git a/Vocaluxe/Base/CSongSorter.cs b/Vocaluxe/Base/CSongSorter.cs
index 6409d833..161f3eb4 100644
--- a/Vocaluxe/Base/CSongSorter.cs
+++ b/Vocaluxe/Base/CSongSorter.cs
@@ -140,7 +140,9 @@ namespace Vocaluxe.Base
sortList.Add(new CSongPointer(song.ID, ""));
else
{
+ // ReSharper disable LoopCanBeConvertedToQuery
foreach (String sortString in values)
+ // ReSharper restore LoopCanBeConvertedToQuery
sortList.Add(new CSongPointer(song.ID, sortString));
}
}
diff --git a/Vocaluxe/Base/CSongs.cs b/Vocaluxe/Base/CSongs.cs
index d49b5cef..05f7ac31 100644
--- a/Vocaluxe/Base/CSongs.cs
+++ b/Vocaluxe/Base/CSongs.cs
@@ -23,8 +23,6 @@ using System.Collections.ObjectModel;
using System.Linq;
using System.Threading;
using VocaluxeLib;
-using VocaluxeLib.Menu;
-using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.Songs;
namespace Vocaluxe.Base
@@ -256,7 +254,9 @@ namespace Vocaluxe.Base
List songs = new List();
if (_IsCatIndexValid(_CatIndex))
{
+ // ReSharper disable LoopCanBeConvertedToQuery
foreach (CSongPointer sp in Categories[_CatIndex].Songs)
+ // ReSharper restore LoopCanBeConvertedToQuery
{
if (!sp.IsSung)
songs.Add(_Songs[sp.SongID]);
diff --git a/Vocaluxe/Base/CTheme.cs b/Vocaluxe/Base/CTheme.cs
index e032dcbc..9461dbda 100644
--- a/Vocaluxe/Base/CTheme.cs
+++ b/Vocaluxe/Base/CTheme.cs
@@ -25,7 +25,7 @@ using System.Windows.Forms;
using System.Xml;
using Vocaluxe.Base.Fonts;
using VocaluxeLib;
-using VocaluxeLib.Menu;
+using VocaluxeLib.Draw;
namespace Vocaluxe.Base
{
@@ -49,7 +49,7 @@ namespace Vocaluxe.Base
public string Name;
public string Value;
- public STexture Texture;
+ public CTexture Texture;
public int VideoIndex;
}
@@ -112,7 +112,9 @@ namespace Vocaluxe.Base
get
{
List names = new List();
+ // ReSharper disable LoopCanBeConvertedToQuery
foreach (STheme th in _Themes)
+ // ReSharper restore LoopCanBeConvertedToQuery
{
if (th.PartyModeID == -1)
names.Add(th.Name);
@@ -127,7 +129,9 @@ namespace Vocaluxe.Base
get
{
List names = new List