Merge remote-tracking branch 'remotes/flamefire/develop' into develop

This commit is contained in:
Alexander Eckart committed 2013-05-20 20:56:13 +02:00
commit 1aeb84ffa2
99 files changed
+2670 -2837

No files matched your search

+5 -1
View File
@@ -73,6 +73,10 @@
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">All</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Only names and avatars</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Nothing</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Bottom</string>
<string name="TR_CONFIG_LYRICSPOSITION_TOP">Top</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTH">Top and bottom</string>
<string name="TR_CONFIG_LYRICSPOSITION_DYNAMIC">Dynamic</string>
<string name="TR_SCREENLOAD_LOADING">Loading</string>
<string name="TR_SCREENLOAD_TOTAL">Total</string>
<string name="TR_SCREENLOAD_SONGS">Songs</string>
@@ -188,7 +192,7 @@
<string name="TR_SCREENOTHEME_COVERLOADING">Cover Loading Behavior</string>
<string name="TR_SCREENOLYRICS_OPTIONS">Lyrics Options</string>
<string name="TR_SCREENOLYRICS_STYLE">Style</string>
<string name="TR_SCREENOLYRICS_ONTOP">Lyrics on top</string>
<string name="TR_SCREENOLYRICS_POSTION">Lyrics position</string>
<string name="TR_SCREENOVIDEO_OPTIONS">Video Options</string>
<string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video Backgrounds</string>
<string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video Preview</string>
+5 -1
View File
@@ -73,6 +73,10 @@
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Alle</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Nur Namen und Avatar</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Keine</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Unten</string>
<string name="TR_CONFIG_LYRICSPOSITION_TOP">Oben</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTH">Oben und unten</string>
<string name="TR_CONFIG_LYRICSPOSITION_DYNAMIC">Dynamisch</string>
<string name="TR_SCREENLOAD_LOADING">Laden</string>
<string name="TR_SCREENLOAD_TOTAL">Gesamt</string>
<string name="TR_SCREENLOAD_SONGS">Lieder</string>
@@ -188,7 +192,7 @@
<string name="TR_SCREENOTHEME_COVERLOADING">Cover Ladeverhalten</string>
<string name="TR_SCREENOLYRICS_OPTIONS">Songtexteinstellungen</string>
<string name="TR_SCREENOLYRICS_STYLE">Stil</string>
<string name="TR_SCREENOLYRICS_ONTOP">Oben anzeigen</string>
<string name="TR_SCREENOLYRICS_POSITION">Position</string>
<string name="TR_SCREENOVIDEO_OPTIONS">Videoeinstellungen</string>
<string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video-Hintergründe</string>
<string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video-Vorschau</string>
@@ -37,7 +37,7 @@
<TextCurrentSong>
<!--<X>, <Y>: Text position-->
<X>410</X>
<Y>4</Y>
<Y>8</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -53,7 +53,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -98,7 +98,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -147,7 +147,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -196,7 +196,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -245,7 +245,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -294,7 +294,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -343,7 +343,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -392,7 +392,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -441,7 +441,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -21,7 +21,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>1067</X>
<Y>680</Y>
<Y>682</Y>
<!--<Z>: Text position-->
<Z>-2,00</Z>
<!--<H>: Text height-->
@@ -37,7 +37,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -118,4 +118,4 @@
<NumVisible>1</NumVisible>
</SelectSlideVolume>
</PopupScreenVolumeControl>
</root>
</root>
@@ -48,7 +48,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>60</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -63,7 +63,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -77,7 +77,7 @@
<TextSongName>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -92,7 +92,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -106,7 +106,7 @@
<TextSongMode>
<!--<X>, <Y>: Text position-->
<X>1220</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -121,7 +121,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -135,7 +135,7 @@
<TextNumber1>
<!--<X>, <Y>: Text position-->
<X>120</X>
<Y>100</Y>
<Y>103</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -150,7 +150,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -179,7 +179,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -193,7 +193,7 @@
<TextNumber3>
<!--<X>, <Y>: Text position-->
<X>120</X>
<Y>220</Y>
<Y>223</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -208,7 +208,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -222,7 +222,7 @@
<TextNumber4>
<!--<X>, <Y>: Text position-->
<X>120</X>
<Y>280</Y>
<Y>283</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -237,7 +237,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -251,7 +251,7 @@
<TextNumber5>
<!--<X>, <Y>: Text position-->
<X>120</X>
<Y>340</Y>
<Y>343</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -266,7 +266,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -280,7 +280,7 @@
<TextNumber6>
<!--<X>, <Y>: Text position-->
<X>120</X>
<Y>400</Y>
<Y>403</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -295,7 +295,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -309,7 +309,7 @@
<TextNumber7>
<!--<X>, <Y>: Text position-->
<X>120</X>
<Y>460</Y>
<Y>463</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -324,7 +324,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -338,7 +338,7 @@
<TextNumber8>
<!--<X>, <Y>: Text position-->
<X>120</X>
<Y>520</Y>
<Y>523</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -353,7 +353,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -367,7 +367,7 @@
<TextNumber9>
<!--<X>, <Y>: Text position-->
<X>120</X>
<Y>580</Y>
<Y>583</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -382,7 +382,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -396,7 +396,7 @@
<TextNumber10>
<!--<X>, <Y>: Text position-->
<X>120</X>
<Y>640</Y>
<Y>643</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -411,7 +411,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -425,7 +425,7 @@
<TextName1>
<!--<X>, <Y>: Text position-->
<X>200</X>
<Y>100</Y>
<Y>103</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -440,7 +440,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -454,7 +454,7 @@
<TextName2>
<!--<X>, <Y>: Text position-->
<X>200</X>
<Y>160</Y>
<Y>163</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -469,7 +469,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -483,7 +483,7 @@
<TextName3>
<!--<X>, <Y>: Text position-->
<X>200</X>
<Y>220</Y>
<Y>223</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -498,7 +498,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -512,7 +512,7 @@
<TextName4>
<!--<X>, <Y>: Text position-->
<X>200</X>
<Y>280</Y>
<Y>283</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -527,7 +527,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -541,7 +541,7 @@
<TextName5>
<!--<X>, <Y>: Text position-->
<X>200</X>
<Y>340</Y>
<Y>343</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -556,7 +556,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -570,7 +570,7 @@
<TextName6>
<!--<X>, <Y>: Text position-->
<X>200</X>
<Y>400</Y>
<Y>403</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -585,7 +585,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -599,7 +599,7 @@
<TextName7>
<!--<X>, <Y>: Text position-->
<X>200</X>
<Y>460</Y>
<Y>463</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -614,7 +614,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -628,7 +628,7 @@
<TextName8>
<!--<X>, <Y>: Text position-->
<X>200</X>
<Y>520</Y>
<Y>523</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -643,7 +643,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -657,7 +657,7 @@
<TextName9>
<!--<X>, <Y>: Text position-->
<X>200</X>
<Y>580</Y>
<Y>583</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -672,7 +672,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -686,7 +686,7 @@
<TextName10>
<!--<X>, <Y>: Text position-->
<X>200</X>
<Y>640</Y>
<Y>643</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -701,7 +701,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -715,7 +715,7 @@
<TextScore1>
<!--<X>, <Y>: Text position-->
<X>800</X>
<Y>100</Y>
<Y>103</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -730,7 +730,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -744,7 +744,7 @@
<TextScore2>
<!--<X>, <Y>: Text position-->
<X>800</X>
<Y>160</Y>
<Y>163</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -759,7 +759,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -773,7 +773,7 @@
<TextScore3>
<!--<X>, <Y>: Text position-->
<X>800</X>
<Y>220</Y>
<Y>223</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -788,7 +788,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -802,7 +802,7 @@
<TextScore4>
<!--<X>, <Y>: Text position-->
<X>800</X>
<Y>280</Y>
<Y>283</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -817,7 +817,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -831,7 +831,7 @@
<TextScore5>
<!--<X>, <Y>: Text position-->
<X>800</X>
<Y>340</Y>
<Y>343</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -846,7 +846,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -860,7 +860,7 @@
<TextScore6>
<!--<X>, <Y>: Text position-->
<X>800</X>
<Y>400</Y>
<Y>403</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -875,7 +875,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -889,7 +889,7 @@
<TextScore7>
<!--<X>, <Y>: Text position-->
<X>800</X>
<Y>460</Y>
<Y>463</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -904,7 +904,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -918,7 +918,7 @@
<TextScore8>
<!--<X>, <Y>: Text position-->
<X>800</X>
<Y>520</Y>
<Y>523</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -933,7 +933,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -947,7 +947,7 @@
<TextScore9>
<!--<X>, <Y>: Text position-->
<X>800</X>
<Y>580</Y>
<Y>583</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -962,7 +962,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -976,7 +976,7 @@
<TextScore10>
<!--<X>, <Y>: Text position-->
<X>800</X>
<Y>640</Y>
<Y>643</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -991,7 +991,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1005,7 +1005,7 @@
<TextDate1>
<!--<X>, <Y>: Text position-->
<X>1000</X>
<Y>100</Y>
<Y>103</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -1020,7 +1020,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1034,7 +1034,7 @@
<TextDate2>
<!--<X>, <Y>: Text position-->
<X>1000</X>
<Y>160</Y>
<Y>163</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -1049,7 +1049,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1063,7 +1063,7 @@
<TextDate3>
<!--<X>, <Y>: Text position-->
<X>1000</X>
<Y>220</Y>
<Y>223</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -1078,7 +1078,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1092,7 +1092,7 @@
<TextDate4>
<!--<X>, <Y>: Text position-->
<X>1000</X>
<Y>280</Y>
<Y>283</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -1107,7 +1107,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1121,7 +1121,7 @@
<TextDate5>
<!--<X>, <Y>: Text position-->
<X>1000</X>
<Y>340</Y>
<Y>343</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -1136,7 +1136,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1150,7 +1150,7 @@
<TextDate6>
<!--<X>, <Y>: Text position-->
<X>1000</X>
<Y>400</Y>
<Y>403</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -1165,7 +1165,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1179,7 +1179,7 @@
<TextDate7>
<!--<X>, <Y>: Text position-->
<X>1000</X>
<Y>460</Y>
<Y>463</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -1194,7 +1194,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1208,7 +1208,7 @@
<TextDate8>
<!--<X>, <Y>: Text position-->
<X>1000</X>
<Y>520</Y>
<Y>523</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -1223,7 +1223,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1237,7 +1237,7 @@
<TextDate9>
<!--<X>, <Y>: Text position-->
<X>1000</X>
<Y>580</Y>
<Y>583</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -1252,7 +1252,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1266,7 +1266,7 @@
<TextDate10>
<!--<X>, <Y>: Text position-->
<X>1000</X>
<Y>640</Y>
<Y>643</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -1281,7 +1281,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1483,4 +1483,4 @@
<MaxNumber>250</MaxNumber>
</ParticleEffectNew10>
</ScreenHighscore>
</root>
</root>
+113 -113
View File
@@ -29,102 +29,6 @@
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Static1>
<StaticPlayer1>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>15</X>
<Y>100</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player1</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer1>
<StaticPlayer2>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>15</X>
<Y>255</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player2</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer2>
<StaticPlayer3>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>15</X>
<Y>410</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player3</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer3>
<StaticPlayer4>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>1147</X>
<Y>100</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player4</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer4>
<StaticPlayer5>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>1147</X>
<Y>255</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player5</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer5>
<StaticPlayer6>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>1147</X>
<Y>410</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player6</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer6>
<StaticPlayerAvatar1>
<!--<Skin>: Texture name-->
<Skin>Invisible</Skin>
@@ -221,6 +125,102 @@
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayerAvatar6>
<StaticPlayer1>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>15</X>
<Y>100</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player1</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer1>
<StaticPlayer2>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>15</X>
<Y>255</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player2</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer2>
<StaticPlayer3>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>15</X>
<Y>410</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player3</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer3>
<StaticPlayer4>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>1147</X>
<Y>100</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player4</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer4>
<StaticPlayer5>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>1147</X>
<Y>255</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player5</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer5>
<StaticPlayer6>
<!--<Skin>: Texture name-->
<Skin>PlayerSelector</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>1147</X>
<Y>410</Y>
<Z>-2,00</Z>
<W>118</W>
<H>118</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Player6</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticPlayer6>
<StaticWarningMics>
<!--<Skin>: Texture name-->
<Skin>Invisible</Skin>
@@ -256,7 +256,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -271,7 +271,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -285,7 +285,7 @@
<TextWarningMics>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>615</Y>
<Y>617</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -301,7 +301,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -315,7 +315,7 @@
<TextWarningProfiles>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>650</Y>
<Y>652</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -331,7 +331,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -360,7 +360,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -389,7 +389,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -418,7 +418,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -447,7 +447,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -476,7 +476,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -505,7 +505,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -536,7 +536,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -550,7 +550,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -593,7 +593,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -607,7 +607,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1305,4 +1305,4 @@
<!-- <Height>: Reflection Height-->
</EqualizerPlayer6>
</ScreenNames>
</root>
</root>
+15 -15
View File
@@ -32,7 +32,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>60</X>
<Y>41</Y>
<Y>43</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -47,7 +47,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -78,7 +78,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -92,7 +92,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -135,7 +135,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -149,7 +149,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -192,7 +192,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -206,7 +206,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -249,7 +249,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -263,7 +263,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -306,7 +306,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -320,7 +320,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -363,7 +363,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -377,7 +377,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -401,4 +401,4 @@
</SReflection>
</ButtonOptionsTheme>
</ScreenOptions>
</root>
</root>
@@ -128,7 +128,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -143,7 +143,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -157,7 +157,7 @@
<Text2>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>105</Y>
<Y>107</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -172,7 +172,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -186,7 +186,7 @@
<Text3>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>165</Y>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -201,7 +201,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -215,7 +215,7 @@
<Text4>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>225</Y>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -230,7 +230,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -244,7 +244,7 @@
<Text5>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>285</Y>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -259,7 +259,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -273,7 +273,7 @@
<Text6>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>345</Y>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -288,7 +288,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -302,7 +302,7 @@
<Text7>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>405</Y>
<Y>407</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -317,7 +317,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -348,7 +348,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -362,7 +362,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -788,4 +788,4 @@
<NumVisible>3</NumVisible>
</SelectSlideTimerMode>
</ScreenOptionsGame>
</root>
</root>
@@ -32,7 +32,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -47,7 +47,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -61,7 +61,7 @@
<Text2>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>105</Y>
<Y>107</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -76,7 +76,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -90,7 +90,7 @@
<Text3>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>165</Y>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -105,7 +105,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -136,7 +136,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -150,7 +150,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -308,4 +308,4 @@
<NumVisible>2</NumVisible>
</SelectSlideLyricsPosition>
</ScreenOptionsLyrics>
</root>
</root>
@@ -160,7 +160,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>53</Y>
<Y>55</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -175,7 +175,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -189,7 +189,7 @@
<Text2>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>104</Y>
<Y>106</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -204,7 +204,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -218,7 +218,7 @@
<Text3>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>225</Y>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -233,7 +233,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -247,7 +247,7 @@
<Text4>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>285</Y>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -262,7 +262,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -276,7 +276,7 @@
<Text5>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>345</Y>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -291,7 +291,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -305,7 +305,7 @@
<TextWarning>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>535</Y>
<Y>537</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -321,7 +321,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -335,7 +335,7 @@
<TextDelayChannel1>
<!--<X>, <Y>: Text position-->
<X>330</X>
<Y>225</Y>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>-1,00</Z>
<!--<H>: Text height-->
@@ -350,7 +350,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -364,7 +364,7 @@
<TextDelayChannel2>
<!--<X>, <Y>: Text position-->
<X>330</X>
<Y>285</Y>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>-1,00</Z>
<!--<H>: Text height-->
@@ -379,7 +379,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -410,7 +410,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>14</Y>
<Y>16</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -424,7 +424,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -467,7 +467,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>14</Y>
<Y>16</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -481,7 +481,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -559,7 +559,7 @@
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27</TextH>
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
@@ -626,7 +626,7 @@
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27</TextH>
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
@@ -693,7 +693,7 @@
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27</TextH>
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
@@ -760,7 +760,7 @@
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27</TextH>
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
@@ -835,4 +835,4 @@
</Reflection>
</EqualizerChannel2>
</ScreenOptionsRecord>
</root>
</root>
@@ -32,7 +32,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -47,7 +47,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -61,7 +61,7 @@
<Text2>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>105</Y>
<Y>107</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -76,7 +76,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -90,7 +90,7 @@
<Text3>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>165</Y>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -105,7 +105,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -119,7 +119,7 @@
<Text4>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>225</Y>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -134,7 +134,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -148,7 +148,7 @@
<Text5>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>285</Y>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -163,7 +163,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -177,7 +177,7 @@
<Text6>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>345</Y>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -192,7 +192,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -223,7 +223,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -237,7 +237,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -596,4 +596,4 @@
<NumVisible>3</NumVisible>
</SelectSlideGameMusicVolume>
</ScreenOptionsSound>
</root>
</root>
@@ -160,7 +160,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -175,7 +175,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -189,7 +189,7 @@
<Text2>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>105</Y>
<Y>107</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -204,7 +204,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -218,7 +218,7 @@
<Text3>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>165</Y>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -233,7 +233,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -247,7 +247,7 @@
<Text4>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>225</Y>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -262,7 +262,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -276,7 +276,7 @@
<Text5>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>285</Y>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -291,7 +291,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -305,7 +305,7 @@
<Text6>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>345</Y>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -320,7 +320,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -334,7 +334,7 @@
<Text7>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>405</Y>
<Y>407</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -349,7 +349,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -363,7 +363,7 @@
<Text8>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>465</Y>
<Y>467</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -378,7 +378,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -392,7 +392,7 @@
<Text9>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>525</Y>
<Y>527</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -407,7 +407,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -438,7 +438,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -452,7 +452,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1012,4 +1012,4 @@
<NumVisible>1</NumVisible>
</SelectSlideCoverLoading>
</ScreenOptionsTheme>
</root>
</root>
@@ -96,7 +96,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -111,7 +111,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -125,7 +125,7 @@
<Text2>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>105</Y>
<Y>107</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -140,7 +140,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -154,7 +154,7 @@
<Text3>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>165</Y>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -169,7 +169,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -183,7 +183,7 @@
<Text4>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>225</Y>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -198,7 +198,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -212,7 +212,7 @@
<Text5>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>285</Y>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -227,7 +227,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -241,7 +241,7 @@
<Text6>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>345</Y>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -256,7 +256,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -270,7 +270,7 @@
<Text7>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>405</Y>
<Y>407</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -285,7 +285,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -316,7 +316,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -330,7 +330,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -756,4 +756,4 @@
<NumVisible>3</NumVisible>
</SelectSlideWebcamCapabilities>
</ScreenOptionsVideo>
</root>
</root>
+35 -35
View File
@@ -32,7 +32,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -47,7 +47,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -61,7 +61,7 @@
<Text2>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>105</Y>
<Y>107</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -76,7 +76,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -90,7 +90,7 @@
<Text3>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>165</Y>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -105,7 +105,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -119,7 +119,7 @@
<Text4>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>225</Y>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -134,7 +134,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -148,7 +148,7 @@
<Text5>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>285</Y>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -163,7 +163,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -177,7 +177,7 @@
<Text6>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>345</Y>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -192,7 +192,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -206,7 +206,7 @@
<Text7>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>405</Y>
<Y>407</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -221,7 +221,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -235,7 +235,7 @@
<Text8>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>465</Y>
<Y>467</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -250,7 +250,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -264,7 +264,7 @@
<TextDescription>
<!--<X>, <Y>: Text position-->
<X>850</X>
<Y>165</Y>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -280,7 +280,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -294,7 +294,7 @@
<TextTargetAudience>
<!--<X>, <Y>: Text position-->
<X>850</X>
<Y>225</Y>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -310,7 +310,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -324,7 +324,7 @@
<TextNumTeams>
<!--<X>, <Y>: Text position-->
<X>850</X>
<Y>285</Y>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -340,7 +340,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -354,7 +354,7 @@
<TextNumPlayers>
<!--<X>, <Y>: Text position-->
<X>850</X>
<Y>345</Y>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -370,7 +370,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -384,7 +384,7 @@
<TextAuthor>
<!--<X>, <Y>: Text position-->
<X>850</X>
<Y>405</Y>
<Y>407</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -400,7 +400,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -414,7 +414,7 @@
<TextVersion>
<!--<X>, <Y>: Text position-->
<X>850</X>
<Y>465</Y>
<Y>467</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -430,7 +430,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -444,7 +444,7 @@
<TextError>
<!--<X>, <Y>: Text position-->
<X>850</X>
<Y>525</Y>
<Y>527</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -460,7 +460,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -491,7 +491,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -505,7 +505,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -548,7 +548,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -562,7 +562,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -653,4 +653,4 @@
<NumVisible>1</NumVisible>
</SelectSlideModes>
</ScreenParty>
</root>
</root>
@@ -128,7 +128,7 @@
<Text1>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>48</Y>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -143,7 +143,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -157,7 +157,7 @@
<Text2>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>285</Y>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -172,7 +172,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -186,7 +186,7 @@
<Text3>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>345</Y>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -201,7 +201,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -215,7 +215,7 @@
<Text4>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>405</Y>
<Y>407</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -230,7 +230,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -244,7 +244,7 @@
<Text5>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>465</Y>
<Y>467</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -259,7 +259,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -273,7 +273,7 @@
<Text6>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>525</Y>
<Y>527</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -288,7 +288,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -319,7 +319,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>355</X>
<Y>8</Y>
<Y>10</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -333,7 +333,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -368,7 +368,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -382,7 +382,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -425,7 +425,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -439,7 +439,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -482,7 +482,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -496,7 +496,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -539,7 +539,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -553,7 +553,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -596,7 +596,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -610,7 +610,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -653,7 +653,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -667,7 +667,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -702,7 +702,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -716,7 +716,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -751,7 +751,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -765,7 +765,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1124,4 +1124,4 @@
<NumVisible>2</NumVisible>
</SelectSlideActive>
</ScreenProfiles>
</root>
</root>
File diff suppressed because it is too large. Load diff
+84 -85
View File
@@ -961,7 +961,7 @@
<TextSongName>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>18</Y>
<Y>20</Y>
<!--<Z>: Text position-->
<Z>-1,00</Z>
<!--<H>: Text height-->
@@ -977,7 +977,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -988,36 +988,6 @@
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextSongName>
<TextMedleyCountdown>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>18</Y>
<!--<Z>: Text position-->
<Z>-1,00</Z>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW />
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>TextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>TextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextMedleyCountdown>
<TextTime>
<!--<X>, <Y>: Text position-->
<X>1214</X>
@@ -1036,7 +1006,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1065,7 +1035,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1094,7 +1064,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1123,7 +1093,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1134,6 +1104,35 @@
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextDuetName2>
<TextMedleyCountdown>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>20</Y>
<!--<Z>: Text position-->
<Z>-1,00</Z>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>TextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>TextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextMedleyCountdown>
<TextScoreP1N1>
<!--<X>, <Y>: Text position-->
<X>1240</X>
@@ -1152,7 +1151,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1184,7 +1183,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1213,7 +1212,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1245,7 +1244,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1274,7 +1273,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1306,7 +1305,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1335,7 +1334,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1367,7 +1366,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1396,7 +1395,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1428,7 +1427,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1457,7 +1456,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1489,7 +1488,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1518,7 +1517,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1550,7 +1549,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1579,7 +1578,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1611,7 +1610,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1640,7 +1639,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1672,7 +1671,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1701,7 +1700,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1733,7 +1732,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1762,7 +1761,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1794,7 +1793,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1823,7 +1822,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1855,7 +1854,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1884,7 +1883,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1916,7 +1915,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1945,7 +1944,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1977,7 +1976,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2006,7 +2005,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2038,7 +2037,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2067,7 +2066,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2099,7 +2098,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2128,7 +2127,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2160,7 +2159,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2189,7 +2188,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2221,7 +2220,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2250,7 +2249,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2282,7 +2281,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2311,7 +2310,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2343,7 +2342,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2372,7 +2371,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2404,7 +2403,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2435,7 +2434,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -2449,7 +2448,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2492,7 +2491,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -2506,7 +2505,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2549,7 +2548,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -2563,7 +2562,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2801,4 +2800,4 @@
</BarPositions>
</SingBars>
</ScreenSing>
</root>
</root>
+65 -65
View File
@@ -91,7 +91,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -121,7 +121,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -151,7 +151,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -181,7 +181,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -211,7 +211,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -241,7 +241,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -255,7 +255,7 @@
<TextCategory>
<!--<X>, <Y>: Text position-->
<X>220</X>
<Y>610</Y>
<Y>612</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -271,7 +271,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -289,7 +289,7 @@
<TextSelection>
<!--<X>, <Y>: Text position-->
<X>825</X>
<Y>610</Y>
<Y>612</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -305,7 +305,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -323,7 +323,7 @@
<TextSearchBarTitle>
<!--<X>, <Y>: Text position-->
<X>400</X>
<Y>610</Y>
<Y>612</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -338,7 +338,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -352,7 +352,7 @@
<TextSearchBar>
<!--<X>, <Y>: Text position-->
<X>410</X>
<Y>610</Y>
<Y>612</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -367,7 +367,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -381,7 +381,7 @@
<TextOptionsTitle>
<!--<X>, <Y>: Text position-->
<X>220</X>
<Y>45</Y>
<Y>47</Y>
<!--<Z>: Text position-->
<Z>-2,11</Z>
<!--<H>: Text height-->
@@ -397,7 +397,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -428,7 +428,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>40</X>
<Y>20</Y>
<Y>23</Y>
<!--<H>: Text height-->
<H>34</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -442,7 +442,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -477,7 +477,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>40</X>
<Y>20</Y>
<Y>23</Y>
<!--<H>: Text height-->
<H>34</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -491,7 +491,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -526,7 +526,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>40</X>
<Y>20</Y>
<Y>23</Y>
<!--<H>: Text height-->
<H>34</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -540,7 +540,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -575,7 +575,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>40</X>
<Y>20</Y>
<Y>23</Y>
<!--<H>: Text height-->
<H>34</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -589,7 +589,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -624,7 +624,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>40</X>
<Y>20</Y>
<Y>23</Y>
<!--<H>: Text height-->
<H>34</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -638,7 +638,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -673,7 +673,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>40</X>
<Y>20</Y>
<Y>23</Y>
<!--<H>: Text height-->
<H>34</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -687,7 +687,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -722,7 +722,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -736,7 +736,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -771,7 +771,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -785,7 +785,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -820,7 +820,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -834,7 +834,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -869,7 +869,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -883,7 +883,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -918,7 +918,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -932,7 +932,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -967,7 +967,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -981,7 +981,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1016,7 +1016,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -1030,7 +1030,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1065,7 +1065,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -1079,7 +1079,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1114,7 +1114,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -1128,7 +1128,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1163,7 +1163,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<Y>12</Y>
<!--<H>: Text height-->
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -1177,7 +1177,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1220,7 +1220,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -1234,7 +1234,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1269,7 +1269,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -1283,7 +1283,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1630,7 +1630,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1660,7 +1660,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1690,7 +1690,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -1822,7 +1822,7 @@
<TextPart1>
<!--<X>, <Y>: Text position-->
<X>54</X>
<Y>4</Y>
<Y>5</Y>
<!--<Z>: Text position-->
<Z>-1,01</Z>
<!--<H>: Text height-->
@@ -1838,13 +1838,13 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Top</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>%a - %t</Text>
<Text />
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
@@ -1999,7 +1999,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2034,7 +2034,7 @@
<Text>
<!--<X>, <Y>: Text position-->
<X>180</X>
<Y>5</Y>
<Y>7</Y>
<!--<H>: Text height-->
<H>25</H>
<!--<MaxW>: Maximum text width (if exists)-->
@@ -2048,7 +2048,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2097,7 +2097,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2146,7 +2146,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2195,7 +2195,7 @@
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<ResizeAlign>Center</ResizeAlign>
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
@@ -2212,4 +2212,4 @@
</ButtonPlaylistSing>
</Playlist>
</ScreenSong>
</root>
</root>
@@ -146,7 +146,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
_Rand = rand;
}
public CCombination GetNextCombination(List<int> playerNrDemand)
public CCombination GetNextCombination(IEnumerable<int> playerNrDemand)
{
if (_Combs.Count == 0)
_Create();
@@ -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)
{
@@ -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);
@@ -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);
+4 -1
View File
@@ -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
+31 -28
View File
@@ -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<CPlaylistElement> _PreviousFileNames = new List<CPlaylistElement>();
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
{
+4 -5
View File
@@ -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;
}
}
}
+1 -18
View File
@@ -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<IController>();
_KeysPool = new List<SKeyEvent>();
_MousePool = new List<SMouseEvent>();
_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<IController>();
}
@@ -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);
}
}
}
}
+23 -39
View File
@@ -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<SCover> _Cover = new List<SCover>();
private static readonly List<SCoverTheme> _CoverThemes = new List<SCoverTheme>();
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
/// <summary>
/// Returns a STexture for a given cover name. Returns "NoCover" if the cover does not exist.
/// </summary>
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;
}
/// <summary>
@@ -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
/// </summary>
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();
}
/// <summary>
@@ -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<string> 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<string> files = new List<string>();
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);
}
}
+157
View File
@@ -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 <http://www.gnu.org/licenses/>.
// */
#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();
}
}
}
+3 -2
View File
@@ -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;
+25 -19
View File
@@ -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);
}
+5 -172
View File
@@ -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
}
}
-1
View File
@@ -24,7 +24,6 @@ using System.Linq;
using System.Text;
using System.Xml;
using VocaluxeLib;
using VocaluxeLib.Menu;
namespace Vocaluxe.Base
{
+18 -18
View File
@@ -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);
}
+1
View File
@@ -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;
+2 -7
View File
@@ -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<string> PlaylistNames
{
get
{
List<string> names = new List<string>();
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
+81 -112
View File
@@ -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<int, CAvatar> _Avatars;
private static Queue<int> _AvatarIDs;
private static Queue<SChange> _Queue = new Queue<SChange>();
private static Object _QueueMutex = new Object();
private static readonly Queue<SChange> _Queue = new Queue<SChange>();
private static readonly Object _QueueMutex = new Object();
private static List<ProfileChangedCallback> _ProfileChangedCallbacks = new List<ProfileChangedCallback>();
private static bool _ProfilesChanged = false;
private static bool _AvatarsChanged = false;
private static readonly List<ProfileChangedCallback> _ProfileChangedCallbacks = new List<ProfileChangedCallback>();
private static bool _ProfilesChanged;
private static bool _AvatarsChanged;
#endregion private vars
#region properties
@@ -94,16 +92,12 @@ namespace Vocaluxe.Base
_Avatars = new Dictionary<int, CAvatar>();
_AvatarIDs = new Queue<int>(1000);
for (int i = 0; i < 1000; i++)
{
_AvatarIDs.Enqueue(i);
}
_Profiles = new Dictionary<int, CProfile>();
_ProfileIDs = new Queue<int>(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<CProfile> list = new List<CProfile>();
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<CProfile> list = new List<CProfile>(_Profiles.Values);
list.Sort(_CompareByPlayerName);
return list.ToArray();
}
public static CAvatar[] GetAvatars()
public static IEnumerable<CAvatar> 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);
-1
View File
@@ -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
+2
View File
@@ -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));
}
}
+2 -2
View File
@@ -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<CSong> songs = new List<CSong>();
if (_IsCatIndexValid(_CatIndex))
{
// ReSharper disable LoopCanBeConvertedToQuery
foreach (CSongPointer sp in Categories[_CatIndex].Songs)
// ReSharper restore LoopCanBeConvertedToQuery
{
if (!sp.IsSung)
songs.Add(_Songs[sp.SongID]);
+29 -26
View File
@@ -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<string> names = new List<string>();
// 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<string> names = new List<string>();
// ReSharper disable LoopCanBeConvertedToQuery
foreach (SSkin sk in _Skins)
// ReSharper restore LoopCanBeConvertedToQuery
{
if (sk.PartyModeID == -1)
names.Add(sk.Name);
@@ -200,10 +204,10 @@ namespace Vocaluxe.Base
{
xmlReader.GetValue("//root/Videos/" + _Skins[skinIndex].VideoList[i].Name, out value, String.Empty);
SSkinElement sk = new SSkinElement {Name = _Skins[skinIndex].VideoList[i].Name, Value = value};
sk.VideoIndex = CVideo.VdLoad(Path.Combine(_Skins[skinIndex].Path, sk.Value));
CVideo.VdSetLoop(sk.VideoIndex, true);
CVideo.VdPause(sk.VideoIndex);
sk.Texture = new STexture(-1);
sk.VideoIndex = CVideo.Load(Path.Combine(_Skins[skinIndex].Path, sk.Value));
CVideo.SetLoop(sk.VideoIndex, true);
CVideo.Pause(sk.VideoIndex);
sk.Texture = null;
_Skins[skinIndex].VideoList[i] = sk;
}
catch (Exception e)
@@ -225,14 +229,14 @@ namespace Vocaluxe.Base
{
foreach (SSkinElement sk in _Skins[i].SkinList.Values)
{
STexture texture = sk.Texture;
CTexture texture = sk.Texture;
CDraw.RemoveTexture(ref texture);
}
for (int j = 0; j < _Skins[i].VideoList.Count; j++)
{
CVideo.VdClose(_Skins[i].VideoList[j].VideoIndex);
STexture videoTexture = _Skins[i].VideoList[j].Texture;
CVideo.Close(_Skins[i].VideoList[j].VideoIndex);
CTexture videoTexture = _Skins[i].VideoList[j].Texture;
CDraw.RemoveTexture(ref videoTexture);
}
@@ -580,12 +584,12 @@ namespace Vocaluxe.Base
return path;
}
public static STexture GetSkinTexture(string textureName, int partyModeID)
public static CTexture GetSkinTexture(string textureName, int partyModeID)
{
int skinIndex = GetSkinIndex(partyModeID);
if (skinIndex != -1 && textureName != null && _Skins[skinIndex].SkinList.ContainsKey(textureName))
return _Skins[skinIndex].SkinList[textureName].Texture;
return new STexture(-1);
return null;
}
public static string GetSkinFilePath(string skinName, int partyModeID)
@@ -605,7 +609,7 @@ namespace Vocaluxe.Base
return skinName;
}
public static STexture GetSkinVideoTexture(string videoName, int partyModeID)
public static CTexture GetSkinVideoTexture(string videoName, int partyModeID)
{
int skinIndex = GetSkinIndex(partyModeID);
if (skinIndex != -1)
@@ -618,16 +622,16 @@ namespace Vocaluxe.Base
float time = 0f;
if (sk.VideoIndex == -1)
{
sk.VideoIndex = CVideo.VdLoad(GetVideoFilePath(sk.Name, partyModeID));
CVideo.VdSetLoop(sk.VideoIndex, true);
sk.VideoIndex = CVideo.Load(GetVideoFilePath(sk.Name, partyModeID));
CVideo.SetLoop(sk.VideoIndex, true);
}
CVideo.VdGetFrame(sk.VideoIndex, ref sk.Texture, time, out time);
CVideo.GetFrame(sk.VideoIndex, ref sk.Texture, time, out time);
_Skins[skinIndex].VideoList[i] = sk;
return sk.Texture;
}
}
}
return new STexture(-1);
return null;
}
public static void SkinVideoPause(string videoName, int partyModeID)
@@ -642,10 +646,10 @@ namespace Vocaluxe.Base
{
if (sk.VideoIndex == -1)
{
sk.VideoIndex = CVideo.VdLoad(GetVideoFilePath(sk.Name, partyModeID));
CVideo.VdSetLoop(sk.VideoIndex, true);
sk.VideoIndex = CVideo.Load(GetVideoFilePath(sk.Name, partyModeID));
CVideo.SetLoop(sk.VideoIndex, true);
}
CVideo.VdPause(sk.VideoIndex);
CVideo.Pause(sk.VideoIndex);
_Skins[skinIndex].VideoList[i] = sk;
return;
}
@@ -665,10 +669,10 @@ namespace Vocaluxe.Base
{
if (sk.VideoIndex == -1)
{
sk.VideoIndex = CVideo.VdLoad(GetVideoFilePath(sk.Name, partyModeID));
CVideo.VdSetLoop(sk.VideoIndex, true);
sk.VideoIndex = CVideo.Load(GetVideoFilePath(sk.Name, partyModeID));
CVideo.SetLoop(sk.VideoIndex, true);
}
CVideo.VdResume(sk.VideoIndex);
CVideo.Resume(sk.VideoIndex);
_Skins[skinIndex].VideoList[i] = sk;
return;
}
@@ -809,7 +813,7 @@ namespace Vocaluxe.Base
writer.WriteElementString("W", Cursor.W.ToString("#0.000"));
writer.WriteElementString("H", Cursor.H.ToString("#0.000"));
if (Cursor.Color != "")
if (!String.IsNullOrEmpty(Cursor.Color))
writer.WriteElementString("Color", Cursor.Color);
else
{
@@ -871,7 +875,7 @@ namespace Vocaluxe.Base
public static SColorF GetPlayerColor(string playerNrString, int skinIndex, out bool success)
{
int selection = 0;
if (playerNrString.StartsWith("Player"))
if (playerNrString != null && playerNrString.StartsWith("Player"))
int.TryParse(playerNrString.Substring(6), out selection);
return GetPlayerColor(selection, skinIndex, out success);
@@ -885,13 +889,12 @@ namespace Vocaluxe.Base
public static SColorF GetPlayerColor(int playerNr, int skinIndex, out bool success)
{
success = false;
SColorF color = new SColorF(1f, 1f, 1f, 1f);
if (_Skins[skinIndex].PartyModeID != -1)
skinIndex = GetSkinIndex(-1);
if (_Skins[skinIndex].ThemeColors.Player.Length < playerNr || playerNr < 1)
return color;
return new SColorF(1f, 1f, 1f, 1f);
success = true;
return _Skins[skinIndex].ThemeColors.Player[playerNr - 1];
+24 -41
View File
@@ -21,6 +21,7 @@ using System.Diagnostics;
using System.Drawing;
using Vocaluxe.Lib.Video;
using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Base
{
@@ -50,12 +51,7 @@ namespace Vocaluxe.Base
#endregion Init
#region Interface
public static bool VdInit()
{
return _VideoDecoder.Init();
}
public static void VdCloseAll()
public static void CloseAll()
{
_VideoDecoder.CloseAll();
}
@@ -65,47 +61,47 @@ namespace Vocaluxe.Base
return _VideoDecoder.GetNumStreams();
}
public static int VdLoad(string videoFileName)
public static int Load(string videoFileName)
{
return _VideoDecoder.Load(videoFileName);
}
public static bool VdClose(int streamID)
public static bool Close(int streamID)
{
return _VideoDecoder.Close(streamID);
}
public static float VdGetLength(int streamID)
public static float GetLength(int streamID)
{
return _VideoDecoder.GetLength(streamID);
}
public static bool VdGetFrame(int streamID, ref STexture frame, float time, out float videoTime)
public static bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime)
{
return _VideoDecoder.GetFrame(streamID, ref frame, time, out videoTime);
}
public static bool VdSkip(int streamID, float start, float gap)
public static bool Skip(int streamID, float start, float gap)
{
return _VideoDecoder.Skip(streamID, start, gap);
}
public static void VdSetLoop(int streamID, bool loop)
public static void SetLoop(int streamID, bool loop)
{
_VideoDecoder.SetLoop(streamID, loop);
}
public static void VdPause(int streamID)
public static void Pause(int streamID)
{
_VideoDecoder.Pause(streamID);
}
public static void VdResume(int streamID)
public static void Resume(int streamID)
{
_VideoDecoder.Resume(streamID);
}
public static bool VdFinished(int streamID)
public static bool Finished(int streamID)
{
return _VideoDecoder.Finished(streamID);
}
@@ -121,9 +117,9 @@ namespace Vocaluxe.Base
class CVideoPlayer
{
private STexture _VideoTexture;
private CTexture _VideoTexture;
private int _VideoStream;
private readonly Stopwatch _VideoTimer;
private readonly Stopwatch _VideoTimer = new Stopwatch();
private bool _Finished;
private bool _Loaded;
@@ -134,20 +130,12 @@ namespace Vocaluxe.Base
public bool Loop
{
set { CVideo.VdSetLoop(_VideoStream, value); }
}
public CVideoPlayer()
{
_VideoTimer = new Stopwatch();
_VideoTexture = new STexture(-1);
_Finished = false;
_Loaded = false;
set { CVideo.SetLoop(_VideoStream, value); }
}
public void Load(string videoName)
{
_VideoStream = CVideo.VdLoad(CTheme.GetVideoFilePath(videoName, -1));
_VideoStream = CVideo.Load(CTheme.GetVideoFilePath(videoName, -1));
_Loaded = true;
}
@@ -174,20 +162,15 @@ namespace Vocaluxe.Base
if (!_Finished)
{
float videoTime = _VideoTimer.ElapsedMilliseconds / 1000f;
_Finished = CVideo.VdFinished(_VideoStream);
_Finished = CVideo.Finished(_VideoStream);
STexture tex = new STexture(-1) {Height = 0f};
CVideo.VdGetFrame(_VideoStream, ref tex, videoTime, out videoTime);
if (tex.Height > 0)
{
CDraw.RemoveTexture(ref _VideoTexture);
_VideoTexture = tex;
}
CVideo.GetFrame(_VideoStream, ref _VideoTexture, videoTime, out videoTime);
}
if (_VideoTexture == null)
return;
RectangleF bounds = new RectangleF(0f, 0f, CSettings.RenderW, CSettings.RenderH);
RectangleF rect = new RectangleF(0f, 0f, _VideoTexture.Width, _VideoTexture.Height);
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
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));
}
@@ -195,17 +178,17 @@ namespace Vocaluxe.Base
public void PreLoad()
{
float videoTime = 0f;
while (_VideoTexture.Index == -1 && videoTime < 1f)
while (_VideoTexture == null && videoTime < 1f)
{
float dummy;
CVideo.VdGetFrame(_VideoStream, ref _VideoTexture, 0, out dummy);
CVideo.GetFrame(_VideoStream, ref _VideoTexture, 0, out dummy);
videoTime += 0.05f;
}
}
public void Close()
{
CVideo.VdClose(_VideoStream);
CVideo.Close(_VideoStream);
CDraw.RemoveTexture(ref _VideoTexture);
_Loaded = false;
_Finished = false;
+3 -3
View File
@@ -20,6 +20,7 @@
using System.Drawing;
using Vocaluxe.Lib.Webcam;
using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Base
{
@@ -46,10 +47,9 @@ namespace Vocaluxe.Base
CConfig.SaveConfig();
}
public static bool GetFrame(ref STexture tex)
public static bool GetFrame(ref CTexture tex)
{
_Webcam.GetFrame(ref tex);
return true;
return _Webcam.GetFrame(ref tex);
}
public static Bitmap GetBitmap()
+4 -4
View File
@@ -22,7 +22,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Text;
using VocaluxeLib;
using VocaluxeLib.Menu;
using VocaluxeLib.Draw;
namespace Vocaluxe.Base.Fonts
{
@@ -87,7 +87,7 @@ namespace Vocaluxe.Base.Fonts
public void DrawGlyph(char chr, float x, float y, float z, SColorF color)
{
STexture texture;
CTexture texture;
SRectF rect;
GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect);
CDraw.DrawTexture(texture, rect, color);
@@ -95,7 +95,7 @@ namespace Vocaluxe.Base.Fonts
public void DrawGlyph(char chr, float x, float y, float z, SColorF color, float begin, float end)
{
STexture texture;
CTexture texture;
SRectF rect;
GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect);
CDraw.DrawTexture(texture, rect, color, begin, end);
@@ -103,7 +103,7 @@ namespace Vocaluxe.Base.Fonts
public void DrawGlyphReflection(char chr, float x, float y, float z, SColorF color, float rspace, float rheight)
{
STexture texture;
CTexture texture;
SRectF rect;
GetOrAddGlyph(chr).GetTextureAndRect(x, y, z, out texture, out rect);
CDraw.DrawTextureReflection(texture, rect, color, rect, rspace, rheight);
+3 -3
View File
@@ -71,7 +71,7 @@ namespace Vocaluxe.Base.Fonts
private static void _BuildFonts()
{
foreach (var font in _Fonts)
foreach (SFont font in _Fonts)
{
font.Normal.Dispose();
font.Bold.Dispose();
@@ -258,8 +258,8 @@ namespace Vocaluxe.Base.Fonts
Height = height;
SetFont(text.Font);
Style = text.Style;
var result = new RectangleF(text.X, text.Y, GetTextWidth(CLanguage.Translate(text.Text, text.TranslationID)),
GetTextHeight(CLanguage.Translate(text.Text, text.TranslationID)));
RectangleF result = new RectangleF(text.X, text.Y, GetTextWidth(CLanguage.Translate(text.Text, text.TranslationID)),
GetTextHeight(CLanguage.Translate(text.Text, text.TranslationID)));
//restore old values
Height = oldHeight;
_CurrentFont = oldFont;
+15 -6
View File
@@ -24,12 +24,13 @@ using System.Drawing.Imaging;
using System.Drawing.Text;
using System.Runtime.InteropServices;
using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Base.Fonts
{
class CGlyph
{
private STexture _Texture;
private CTexture _Texture;
private readonly SizeF _BoundingBox;
private readonly RectangleF _DrawBounding;
public readonly float MaxHeight;
@@ -121,6 +122,7 @@ namespace Vocaluxe.Base.Fonts
_DrawBounding.Width = _Texture.Width;
_DrawBounding.Height = _Texture.Height;*/
#pragma warning disable 162
// ReSharper disable HeuristicUnreachableCode
if (false && Char.IsLetterOrDigit(chr))
{
if (outline > 0)
@@ -128,6 +130,7 @@ namespace Vocaluxe.Base.Fonts
else
bmpCropped.Save("font_" + chr + CFonts.Style + "2.png", ImageFormat.Png);
}
// ReSharper restore HeuristicUnreachableCode
#pragma warning restore 162
}
}
@@ -145,7 +148,7 @@ namespace Vocaluxe.Base.Fonts
return CFonts.Height / _BoundingBox.Height;
}
public void GetTextureAndRect(float x, float y, float z, out STexture texture, out SRectF rect)
public void GetTextureAndRect(float x, float y, float z, out CTexture texture, out SRectF rect)
{
texture = _Texture;
float factor = _GetFactor();
@@ -215,10 +218,16 @@ namespace Vocaluxe.Base.Fonts
}
//Add some additional space. Textures need some extra pixel for resizing.
int d = 4;
minX = minX - d; if (minX < 0) minX = 0;
minY = minY - d; if (minY < 0) minY = 0;
maxX = maxX + d; if (maxX > bmp.Width) maxX = bmp.Width;
const int d = 4;
minX = minX - d;
if (minX < 0)
minX = 0;
minY = minY - d;
if (minY < 0)
minY = 0;
maxX = maxX + d;
if (maxX > bmp.Width)
maxX = bmp.Width;
return new Rectangle(minX, minY, maxX - minX, bmp.Height - minY);
}
+22 -13
View File
@@ -1,24 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Vocaluxe.Base;
using Vocaluxe.Lib.Input;
using VocaluxeLib.Menu;
#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 <http://www.gnu.org/licenses/>.
// */
#endregion
namespace Vocaluxe.Base.Server
{
internal class CClientHandler
class CClientHandler
{
public int ConnectionID;
public bool LoggedIn;
public CClientHandler(int ConnectionID)
public CClientHandler(int connectionID)
{
this.ConnectionID = ConnectionID;
ConnectionID = connectionID;
LoggedIn = false;
}
}
}
}
+57 -55
View File
@@ -1,4 +1,23 @@
using System;
#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 <http://www.gnu.org/licenses/>.
// */
#endregion
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
@@ -7,9 +26,7 @@ using System.Linq;
using System.IO;
using System.Text;
using System.Windows.Forms;
using ClientServerLib;
using Vocaluxe.Base;
using Vocaluxe.Lib.Input;
using VocaluxeLib;
using VocaluxeLib.Profile;
@@ -22,7 +39,7 @@ namespace Vocaluxe.Base.Server
private static CDiscover _Discover;
private static Dictionary<int, CClientHandler> _Clients;
public static CControllerFramework Controller = new CControllerFramework();
public static readonly CControllerFramework Controller = new CControllerFramework();
public static void Init()
{
@@ -48,46 +65,46 @@ namespace Vocaluxe.Base.Server
_Clients = new Dictionary<int, CClientHandler>();
}
private static byte[] RequestHandler(int ConnectionID, byte[] Message)
private static byte[] RequestHandler(int connectionID, byte[] message)
{
byte[] answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseNOK);
if (Message == null)
if (message == null)
return answer;
if (Message.Length < 4)
if (message.Length < 4)
return answer;
bool loggedIn = false;
bool loggedIn;
lock (_Clients)
{
if (!_Clients.ContainsKey(ConnectionID))
if (!_Clients.ContainsKey(connectionID))
{
CClientHandler client = new CClientHandler(ConnectionID);
_Clients.Add(ConnectionID, client);
CClientHandler client = new CClientHandler(connectionID);
_Clients.Add(connectionID, client);
}
loggedIn = _Clients[ConnectionID].LoggedIn;
loggedIn = _Clients[connectionID].LoggedIn;
}
int command = BitConverter.ToInt32(Message, 0);
int command = BitConverter.ToInt32(message, 0);
switch (command)
{
case CCommands.CommandLogin:
SLoginData data;
if (!CCommands.DecodeCommandLogin(Message, out data))
if (!CCommands.DecodeCommandLogin(message, out data))
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginFailed);
else
{
byte[] serverPW = CCommands.SHA256.ComputeHash(Encoding.UTF8.GetBytes(CConfig.ServerPassword));
byte[] serverPw = CCommands.SHA256.ComputeHash(Encoding.UTF8.GetBytes(CConfig.ServerPassword));
if (!serverPW.SequenceEqual(data.SHA256))
if (!serverPw.SequenceEqual(data.SHA256))
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginWrongPassword);
else
{
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseLoginOK);
_Clients[ConnectionID].LoggedIn = true;
_Clients[connectionID].LoggedIn = true;
}
}
break;
@@ -95,7 +112,7 @@ namespace Vocaluxe.Base.Server
if (!loggedIn)
return answer;
switch (command)
{
case CCommands.CommandSendKeyUp:
@@ -121,13 +138,10 @@ namespace Vocaluxe.Base.Server
case CCommands.CommandSendAvatarPicture:
SAvatarPicture avatarPicture;
if (CCommands.DecodeCommandSendAvatarPicture(Message, out avatarPicture))
if (CCommands.DecodeCommandSendAvatarPicture(message, out avatarPicture))
{
Bitmap bmp = null;
bool success = false;
try
using (Bitmap bmp = new Bitmap(avatarPicture.Width, avatarPicture.Height))
{
bmp = new Bitmap(avatarPicture.Width, avatarPicture.Height);
BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
Marshal.Copy(avatarPicture.data, 0, bmpData.Scan0, avatarPicture.data.Length);
bmp.UnlockBits(bmpData);
@@ -137,23 +151,16 @@ namespace Vocaluxe.Base.Server
while (File.Exists(Path.Combine(CSettings.FolderProfiles, filename + i + ".png")))
i++;
bmp.Save(Path.Combine(CSettings.FolderProfiles, filename + i + ".png"), ImageFormat.Png);
success = true;
}
finally
{
if (bmp != null)
bmp.Dispose();
}
if (success)
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK);
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK);
}
break;
case CCommands.CommandSendAvatarPictureJpg:
SAvatarPicture avatarPictureJpg;
if (CCommands.DecodeCommandSendAvatarPicture(Message, out avatarPictureJpg))
if (CCommands.DecodeCommandSendAvatarPicture(message, out avatarPictureJpg))
{
if (_AddAvatar(avatarPictureJpg.data) != String.Empty)
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK);
@@ -162,39 +169,35 @@ namespace Vocaluxe.Base.Server
case CCommands.CommandSendProfile:
SProfile profile;
if (CCommands.DecodeCommandSendProfile(Message, out profile))
if (CCommands.DecodeCommandSendProfile(message, out profile))
{
try
{
string AvatarFilename = _AddAvatar(profile.Avatar.data);
if (AvatarFilename != String.Empty)
try
{
string avatarFilename = _AddAvatar(profile.Avatar.data);
if (avatarFilename != String.Empty)
{
CProfile p = new CProfile();
p.Active = EOffOn.TR_CONFIG_ON;
p.AvatarFileName = AvatarFilename;
p.Difficulty = (EGameDifficulty)profile.Difficulty;
p.GuestProfile = EOffOn.TR_CONFIG_OFF;
p.PlayerName = profile.PlayerName;
CProfile p = new CProfile
{
Active = EOffOn.TR_CONFIG_ON,
AvatarFileName = avatarFilename,
Difficulty = (EGameDifficulty)profile.Difficulty,
GuestProfile = EOffOn.TR_CONFIG_OFF,
PlayerName = profile.PlayerName
};
CProfiles.AddProfile(p);
answer = CCommands.CreateCommandWithoutParams(CCommands.ResponseOK);
}
}
catch (Exception)
{
}
catch (Exception) {}
}
break;
default:
break;
}
return answer;
}
private static string _AddAvatar(byte[] JpgData)
private static string _AddAvatar(byte[] jpgData)
{
string result = String.Empty;
try
@@ -206,7 +209,7 @@ namespace Vocaluxe.Base.Server
filename = filename + i + ".jpg";
FileStream fs = File.Create(filename);
fs.Write(JpgData, 0, JpgData.Length);
fs.Write(jpgData, 0, jpgData.Length);
fs.Flush();
fs.Close();
@@ -216,11 +219,10 @@ namespace Vocaluxe.Base.Server
CProfiles.AddAvatar(avatar);
result = filename;
}
}
catch { }
catch {}
return result;
}
}
}
}
+305 -384
View File
@@ -32,13 +32,15 @@ using System.Windows.Forms;
using SlimDX.Windows;
using Vocaluxe.Base;
using VocaluxeLib;
using VocaluxeLib.Menu;
using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Draw
{
class CDirect3D : RenderForm, IDraw
{
#region private vars
private const int _MaxID = 100000;
private readonly CKeys _Keys;
private readonly CMouse _Mouse;
private bool _Run;
@@ -51,10 +53,9 @@ namespace Vocaluxe.Lib.Draw
private Size _OldSize;
private Size _SizeBeforeMinimize;
private readonly Dictionary<int, STexture> _Textures;
private readonly Dictionary<int, Texture> _D3DTextures;
private readonly List<STextureQueue> _Queue;
private readonly Queue<int> _IDs;
private readonly Dictionary<int, Texture> _D3DTextures = new Dictionary<int, Texture>();
private readonly Queue<STextureQueue> _TexturesToLoad = new Queue<STextureQueue>();
private readonly Queue<int> _IDs = new Queue<int>(_MaxID);
private readonly Object _MutexTexture = new Object();
@@ -66,11 +67,11 @@ namespace Vocaluxe.Lib.Draw
private int _Y;
private int _X;
private STexture _BlankTexture;
private CTexture _BlankTexture;
private readonly Queue<STexturedColoredVertex> _Vertices;
private readonly Queue<Texture> _VerticesTextures;
private readonly Queue<SlimDX.Matrix> _VerticesRotationMatrices;
private readonly Queue<STexturedColoredVertex> _Vertices = new Queue<STexturedColoredVertex>();
private readonly Queue<Texture> _VerticesTextures = new Queue<Texture>();
private readonly Queue<SlimDX.Matrix> _VerticesRotationMatrices = new Queue<SlimDX.Matrix>();
private readonly bool _NonPowerOf2TextureSupported;
#endregion private vars
@@ -81,19 +82,11 @@ namespace Vocaluxe.Lib.Draw
public CDirect3D()
{
Icon = new Icon(Path.Combine(Environment.CurrentDirectory, CSettings.Icon));
_Textures = new Dictionary<int, STexture>();
_D3DTextures = new Dictionary<int, Texture>();
_Queue = new List<STextureQueue>();
_IDs = new Queue<int>();
//Fill Queue with 100000 IDs
for (int i = 0; i < 100000; i++)
for (int i = 0; i < _MaxID; i++)
_IDs.Enqueue(i);
_Vertices = new Queue<STexturedColoredVertex>();
_VerticesTextures = new Queue<Texture>();
_VerticesRotationMatrices = new Queue<SlimDX.Matrix>();
_Keys = new CKeys();
try
{
@@ -255,40 +248,39 @@ namespace Vocaluxe.Lib.Draw
// The window was minimized, so restore it to the last known size
if (ClientSize.Width == 0 || ClientSize.Height == 0)
ClientSize = _SizeBeforeMinimize;
if (_Run)
if (!_Run)
return;
_H = ClientSize.Height;
_W = ClientSize.Width;
_Y = 0;
_X = 0;
if (_W / (float)_H > CSettings.GetRenderAspect())
{
_H = ClientSize.Height;
_W = ClientSize.Width;
_Y = 0;
_X = 0;
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;
}
//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();
//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;
//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;
}
//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();
//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;
}
/// <summary>
@@ -677,39 +669,32 @@ namespace Vocaluxe.Lib.Draw
/// Copies the current frame into a texture
/// <returns>A texture holding the current frame</returns>
/// </summary>
public STexture CopyScreen()
public CTexture CopyScreen()
{
STexture texture = new STexture(-1);
CTexture texture = _GetNewTexture(_W, _H);
Surface backbufferSurface = _Device.GetBackBuffer(0, 0);
Texture tex = new Texture(_Device, _PresentParameters.BackBufferWidth, _PresentParameters.BackBufferHeight, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed);
Texture tex = new Texture(_Device, texture.W2, texture.H2, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed);
Surface textureSurface = tex.GetSurfaceLevel(0);
Surface.FromSurface(textureSurface, backbufferSurface, Filter.Default, 0);
Surface.FromSurface(textureSurface, backbufferSurface, Filter.Default, 0, new Rectangle(0, 0, _W, _H), new Rectangle(0, 0, _W, _H));
backbufferSurface.Dispose();
lock (_MutexTexture)
{
_D3DTextures.Add(_IDs.Peek(), tex);
texture.ID = _IDs.Dequeue();
_D3DTextures.Add(texture.ID, tex);
texture.Color = new SColorF(1f, 1f, 1f, 1f);
texture.Rect = new SRectF(0f, 0f, texture.Width, texture.Height, 0f);
texture.Width = _W;
texture.Height = _H;
texture.W2 = _CheckForNextPowerOf2(texture.Width);
texture.H2 = _CheckForNextPowerOf2(texture.Height);
texture.Index = _IDs.Dequeue();
_Textures[texture.Index] = texture;
return texture;
}
return texture;
}
/// <summary>
/// Copies the current frame into a texture
/// </summary>
/// <param name="texture">The texture in which the frame is copied to</param>
public void CopyScreen(ref STexture texture)
public void CopyScreen(ref CTexture texture)
{
if (!_TextureExists(ref texture) || (int)texture.Width != GetScreenWidth() || (int)texture.Height != GetScreenHeight())
//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())
{
RemoveTexture(ref texture);
texture = CopyScreen();
@@ -717,7 +702,7 @@ namespace Vocaluxe.Lib.Draw
else
{
Surface backbufferSurface = _Device.GetBackBuffer(0, 0);
Surface textureSurface = _D3DTextures[texture.Index].GetSurfaceLevel(0);
Surface textureSurface = _D3DTextures[texture.ID].GetSurfaceLevel(0);
Surface.FromSurface(textureSurface, backbufferSurface, Filter.Default, 0);
}
}
@@ -741,8 +726,6 @@ namespace Vocaluxe.Lib.Draw
screen.Save(Path.Combine(path, file + i.ToString("00000") + ".bmp"), ImageFormat.Bmp);
screen.Dispose();
}
Cursor.Hide();
_Mouse.Visible = true;
}
/// <summary>
@@ -759,8 +742,8 @@ namespace Vocaluxe.Lib.Draw
/// <param name="y2">The end y-value</param>
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))
Vector2[] lineVector = new Vector2[] {new Vector2(x1, y1), new Vector2(x2, y2)};
using (Line line = new Line(_Device))
{
line.Antialias = true;
line.Begin();
@@ -800,33 +783,33 @@ namespace Vocaluxe.Lib.Draw
/// </summary>
/// <param name="texturePath">The texture's filepath</param>
/// <returns>A STexture object containing the added texture</returns>
public STexture AddTexture(string texturePath)
public CTexture AddTexture(string texturePath)
{
if (File.Exists(texturePath))
if (!File.Exists(texturePath))
{
Bitmap bmp;
try
{
bmp = new Bitmap(texturePath);
}
catch (Exception)
{
CLog.LogError("Error loading Texture: " + texturePath);
return new STexture(-1);
}
STexture s;
try
{
s = AddTexture(bmp);
}
finally
{
bmp.Dispose();
}
return s;
CLog.LogError("Can't find File: " + texturePath);
return null;
}
CLog.LogError("Can't find File: " + texturePath);
return new STexture(-1);
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;
}
/// <summary>
@@ -834,10 +817,10 @@ namespace Vocaluxe.Lib.Draw
/// </summary>
/// <param name="bmp">The Bitmap of which the texure will be created from</param>
/// <returns>A STexture object containing the added texture</returns>
public STexture AddTexture(Bitmap bmp)
public CTexture AddTexture(Bitmap bmp)
{
if (bmp.Height == 0 || bmp.Width == 0)
return new STexture(-1);
return null;
int maxSize;
//Apply the right max size
switch (CConfig.TextureQuality)
@@ -862,49 +845,28 @@ namespace Vocaluxe.Lib.Draw
break;
}
int w = bmp.Width;
int h = bmp.Height;
float ratio = (float)w / h;
int newW = w;
int newH = h;
int w = Math.Min(bmp.Width, maxSize);
int h = Math.Min(bmp.Height, maxSize);
w = _CheckForNextPowerOf2(w);
h = _CheckForNextPowerOf2(h);
if (w > maxSize && w > h)
newW = maxSize;
else if (h > maxSize)
newH = maxSize;
else if (w > h)
newW = (int)_CheckForNextPowerOf2(w);
else
newH = (int)_CheckForNextPowerOf2(h);
CTexture texture = new CTexture(bmp.Width, bmp.Height, w, h, true);
Bitmap bmp2 = null;
byte[] data;
try
{
if (w != newW || h != newH)
if (bmp.Width != w || bmp.Height != h)
{
if (w != newW)
{
w = newW;
h = (int)Math.Round(w / ratio);
if (h == 0)
h = 1;
}
else
{
h = newH;
w = (int)Math.Round(h * ratio);
if (w == 0)
w = 1;
}
//Create a new Bitmap with the new sizes
bmp2 = new Bitmap(w, h);
//Scale the texture
Graphics g = Graphics.FromImage(bmp2);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.DrawImage(bmp, new Rectangle(0, 0, bmp2.Width, bmp2.Height));
g.Dispose();
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;
}
@@ -920,81 +882,73 @@ namespace Vocaluxe.Lib.Draw
bmp2.Dispose();
}
return AddTexture(w, h, data);
return _AddTexture(texture, w, data);
}
public STexture AddTexture(int w, int h, byte[] data)
public CTexture AddTexture(int w, int h, byte[] data)
{
STexture texture = new STexture(-1);
CTexture texture = _GetNewTexture(w, h);
return _AddTexture(texture, w, data);
}
Texture t = _CreateTexture(w, h, data, ref texture);
private CTexture _AddTexture(CTexture texture, int w, byte[] data)
{
Texture t = _CreateTexture(texture.W2, texture.H2, w, data);
lock (_MutexTexture)
{
_D3DTextures.Add(_IDs.Peek(), t);
texture.Index = _IDs.Dequeue();
_Textures[texture.Index] = texture;
texture.ID = _IDs.Dequeue();
_D3DTextures.Add(texture.ID, t);
}
return texture;
}
private Texture _CreateTexture(int w, int h, byte[] data, ref STexture texture)
private Texture _CreateTexture(int textureW, int textureH, int w, byte[] data)
{
texture.Width = w;
texture.Height = h;
texture.W2 = _CheckForNextPowerOf2(w);
texture.H2 = _CheckForNextPowerOf2(h);
texture.WidthRatio = w / texture.W2;
texture.HeightRatio = h / texture.H2;
//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
Texture t = null;
try
{
t = new Texture(_Device, (int)texture.W2, (int)texture.H2, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed);
//Lock the texture and fill it with the data
DataRectangle rect = t.LockRectangle(0, LockFlags.Discard);
int rowWidth = 4 * (int)texture.W2;
for (int i = 0; i + rowWidth <= data.Length; i += 4 * w)
{
rect.Data.Write(data, i, rowWidth);
rect.Data.Position = rect.Data.Position - rowWidth;
rect.Data.Position += rect.Pitch;
}
t.UnlockRectangle(0);
texture.Color = new SColorF(1f, 1f, 1f, 1f);
texture.Rect = new SRectF(0f, 0f, texture.Width, texture.Height, 0f);
texture.TexturePath = String.Empty;
}
catch (Exception)
{
if (t != null)
t.Dispose();
throw;
}
Texture t = new Texture(_Device, textureW, textureH, 0, Usage.AutoGenerateMipMap, Format.A8R8G8B8, Pool.Managed);
_WriteDataToTexture(t, w, data);
return t;
}
public STexture EnqueueTexture(int w, int h, byte[] data)
private static void _WriteDataToTexture(Texture t, int w, byte[] data)
{
STexture texture = new STexture(-1);
STextureQueue queue = new STextureQueue {Data = data, Height = h, Width = w};
//Lock the texture and fill it with the data
DataRectangle rect = t.LockRectangle(0, LockFlags.Discard);
int rowWidth = 4 * w;
if (rowWidth == rect.Pitch)
rect.Data.Write(data, 0, data.Length);
else
{
for (int i = 0; i + rowWidth <= data.Length; i += rowWidth)
{
rect.Data.Write(data, i, rowWidth);
//Go to next row
rect.Data.Position = rect.Data.Position - rowWidth + rect.Pitch;
}
}
t.UnlockRectangle(0);
}
texture.Height = h;
texture.Width = w;
public CTexture EnqueueTexture(int w, int h, byte[] data)
{
CTexture texture = _GetNewTexture(w, h);
lock (_MutexTexture)
{
_D3DTextures.Add(_IDs.Peek(), null);
texture.Index = _IDs.Dequeue();
queue.ID = texture.Index;
_Queue.Add(queue);
_Textures[texture.Index] = texture;
texture.ID = _IDs.Dequeue();
_D3DTextures.Add(texture.ID, null);
STextureQueue 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
@@ -1002,48 +956,30 @@ namespace Vocaluxe.Lib.Draw
/// Updates the data of a texture
/// </summary>
/// <param name="texture">The texture to update</param>
/// <param name="w"></param>
/// <param name="h"></param>
/// <param name="data">A byte array containing the new texture's data</param>
/// <returns>True if succeeded</returns>
public bool UpdateTexture(ref STexture texture, byte[] data)
public bool UpdateTexture(CTexture texture, int w, int h, byte[] data)
{
if ((texture.Index >= 0) && (_Textures.Count > 0) && _TextureExists(ref texture))
//Check if texture exists and extend matches
if (!_TextureExists(texture) || texture.UsedWidth != w || texture.UsedHeight != h)
return false;
lock (_MutexTexture)
{
lock (_MutexTexture)
{
DataRectangle rect = _D3DTextures[texture.Index].LockRectangle(0, LockFlags.Discard);
int w = (int)texture.Width;
for (int i = 0; i < data.Length; i += 4 * w)
{
rect.Data.Write(data, i, 4 * w);
rect.Data.Position -= 4 * w;
rect.Data.Position += rect.Pitch;
}
_D3DTextures[texture.Index].UnlockRectangle(0);
}
//Flamefire: Unneccesary as height can not be changed by this! (Texture gets copied)
//Texture.height_ratio = Texture.height / CheckForNextPowerOf2(Texture.height);
//Texture.width_ratio = Texture.width / CheckForNextPowerOf2(Texture.width);
return true;
/*Surface s = _D3DTextures[Texture.index].GetSurfaceLevel(0);
DataRectangle d = s.LockRectangle(LockFlags.Discard);
for (int i = 0; i < Data.Length; )
{
d.Data.Write(Data, i, 4 * (int)Texture.width);
i += 4 * (int)Texture.width;
d.Data.Position = d.Data.Position - 4 * (int)Texture.width;
d.Data.Position += d.Pitch;
}
Texture.height_ratio = Texture.height / NextPowerOfTwo(Texture.height);
Texture.width_ratio = Texture.width / NextPowerOfTwo(Texture.width);
s.UnlockRectangle();
return true; */
_WriteDataToTexture(_D3DTextures[texture.ID], w, data);
}
return false;
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
@@ -1052,40 +988,30 @@ namespace Vocaluxe.Lib.Draw
/// </summary>
/// <param name="texture">The texture to check</param>
/// <returns>True if the texture exists</returns>
private bool _TextureExists(ref STexture texture)
private bool _TextureExists(CTexture texture)
{
lock (_MutexTexture)
{
if (_Textures.ContainsKey(texture.Index))
{
if (_Textures[texture.Index].Index >= 0)
{
texture = _Textures[texture.Index];
return true;
}
}
return texture != null && _D3DTextures.ContainsKey(texture.ID);
}
return false;
}
/// <summary>
/// Removes a texture from the Vram
/// </summary>
/// <param name="texture">The texture to be removed</param>
public void RemoveTexture(ref STexture texture)
public void RemoveTexture(ref CTexture texture)
{
lock (_MutexTexture)
if (_TextureExists(texture))
{
if ((texture.Index >= 0) && (_Textures.Count > 0))
lock (_MutexTexture)
{
_D3DTextures[texture.Index].Dispose();
_D3DTextures.Remove(texture.Index);
_Textures.Remove(texture.Index);
_IDs.Enqueue(texture.Index);
texture.Index = -1;
texture.ID = -1;
_D3DTextures[texture.ID].Dispose();
_D3DTextures.Remove(texture.ID);
_IDs.Enqueue(texture.ID);
}
}
texture = null;
}
#region drawing
@@ -1093,8 +1019,10 @@ namespace Vocaluxe.Lib.Draw
/// Draws a texture
/// </summary>
/// <param name="texture">The texture to be drawn</param>
public void DrawTexture(STexture texture)
public void DrawTexture(CTexture texture)
{
if (texture == null)
return;
DrawTexture(texture, texture.Rect, texture.Color);
}
@@ -1103,8 +1031,10 @@ namespace Vocaluxe.Lib.Draw
/// </summary>
/// <param name="texture">The texture to be drawn</param>
/// <param name="rect">A SRectF struct containing the destination coordinates</param>
public void DrawTexture(STexture texture, SRectF rect)
public void DrawTexture(CTexture texture, SRectF rect)
{
if (texture == null)
return;
DrawTexture(texture, rect, texture.Color);
}
@@ -1115,7 +1045,7 @@ namespace Vocaluxe.Lib.Draw
/// <param name="rect">A SRectF struct containing the destination coordinates</param>
/// <param name="color">A SColorF struct containing a color which the texture will be colored in</param>
/// <param name="mirrored">True if the texture should be mirrored</param>
public void DrawTexture(STexture texture, SRectF rect, SColorF color, bool mirrored = false)
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);
}
@@ -1128,86 +1058,85 @@ namespace Vocaluxe.Lib.Draw
/// <param name="color">A SColorF struct containing a color which the texture will be colored in</param>
/// <param name="bounds">A SRectF struct containing which part of the texture should be drawn</param>
/// <param name="mirrored">True if the texture should be mirrored</param>
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)
{
if (_TextureExists(ref texture))
if (!_TextureExists(texture))
return;
if (_D3DTextures[texture.ID] == null)
return;
//Calculate the position
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 * 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;
//Calculate the size
float rx1 = rect.X;
float rx2 = rect.X + rect.W;
float ry1 = rect.Y;
float ry2 = rect.Y + rect.H;
if (rx1 < bounds.X)
rx1 = bounds.X;
if (rx2 > bounds.X + bounds.W)
rx2 = bounds.X + bounds.W;
if (ry1 < bounds.Y)
ry1 = bounds.Y;
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 (_D3DTextures[texture.Index] == null)
return;
//Calculate the position
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 * 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;
//Calculate the size
float rx1 = rect.X;
float rx2 = rect.X + rect.W;
float ry1 = rect.Y;
float ry2 = rect.Y + rect.H;
if (rx1 < bounds.X)
rx1 = bounds.X;
if (rx2 > bounds.X + bounds.W)
rx2 = bounds.X + bounds.W;
if (ry1 < bounds.Y)
ry1 = bounds.Y;
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)
{
STexturedColoredVertex[] 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.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
}
else
{
STexturedColoredVertex[] 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.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
}
STexturedColoredVertex[] 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
{
STexturedColoredVertex[] 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));
}
}
@@ -1219,11 +1148,11 @@ namespace Vocaluxe.Lib.Draw
/// <param name="color">A SColorF struct containing a color which the texture will be colored in</param>
/// <param name="begin">A Value ranging from 0 to 1 containing the beginning of the texture</param>
/// <param name="end">A Value ranging from 0 to 1 containing the ending of the texture</param>
public void DrawTexture(STexture texture, SRectF rect, SColorF color, float begin, float end)
public void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end)
{
if (!_TextureExists(ref texture))
if (!_TextureExists(texture))
return;
if (_D3DTextures[texture.Index] == null)
if (_D3DTextures[texture.ID] == null)
return;
float x1 = 0f + begin * texture.WidthRatio;
@@ -1251,7 +1180,7 @@ 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.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
_AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
}
/// <summary>
@@ -1263,11 +1192,11 @@ namespace Vocaluxe.Lib.Draw
/// <param name="bounds">A SRectF struct containing which part of the texture should be drawn</param>
/// <param name="space">The space between the texture and the reflection</param>
/// <param name="height">The height of the reflection</param>
public void DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height)
public void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height)
{
if (!_TextureExists(ref texture))
if (!_TextureExists(texture))
return;
if (_D3DTextures[texture.Index] == null)
if (_D3DTextures[texture.ID] == null)
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 ||
@@ -1283,61 +1212,58 @@ namespace Vocaluxe.Lib.Draw
if (height > bounds.H)
height = bounds.H;
if (_TextureExists(ref texture))
{
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;
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 (x1 < 0)
x1 = 0f;
if (x2 > texture.WidthRatio)
x2 = texture.WidthRatio;
if (x2 > texture.WidthRatio)
x2 = texture.WidthRatio;
if (y1 < 0)
y1 = 0f;
if (y1 < 0)
y1 = 0f;
if (y2 > texture.HeightRatio)
y2 = texture.HeightRatio;
if (y2 > texture.HeightRatio)
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;
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 (rx1 < bounds.X)
rx1 = bounds.X;
if (rx2 > bounds.X + bounds.W)
rx2 = bounds.X + bounds.W;
if (rx2 > bounds.X + bounds.W)
rx2 = bounds.X + bounds.W;
if (ry1 < bounds.Y + space)
ry1 = bounds.Y + space;
if (ry1 < bounds.Y + space)
ry1 = bounds.Y + space;
if (ry2 > bounds.Y + bounds.H + space + height)
ry2 = bounds.Y + bounds.H + space + height;
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;
rx2 -= 0.5f;
ry2 -= 0.5f;
//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;
Color c = color.AsColor();
color.A = 0;
Color transparent = color.AsColor();
color.A *= CGraphics.GlobalAlpha;
Color c = color.AsColor();
color.A = 0;
Color transparent = color.AsColor();
STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb());
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.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
}
STexturedColoredVertex[] vert = new STexturedColoredVertex[4];
vert[0] = new STexturedColoredVertex(new Vector3(rx1, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb());
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));
}
#endregion drawing
@@ -1345,21 +1271,16 @@ namespace Vocaluxe.Lib.Draw
{
lock (_MutexTexture)
{
if (_Queue.Count == 0)
return;
while (_TexturesToLoad.Count > 0)
{
STextureQueue q = _TexturesToLoad.Dequeue();
Texture t;
if (_D3DTextures.TryGetValue(q.ID, out t) && t != null)
continue;
STextureQueue q = _Queue[0];
STexture texture;
if (_Textures.ContainsKey(q.ID))
texture = _Textures[q.ID];
else
return;
Texture t = _CreateTexture(q.Width, q.Height, q.Data, ref texture);
_D3DTextures[q.ID] = t;
_Textures[texture.Index] = texture;
_Queue.RemoveAt(0);
t = _CreateTexture(q.TextureWidth, q.TextureHeight, q.DataWidth, q.Data);
_D3DTextures[q.ID] = t;
}
}
}
@@ -1369,7 +1290,7 @@ namespace Vocaluxe.Lib.Draw
/// <returns>The amount of textures</returns>
public int GetTextureCount()
{
return _Textures.Count;
return _D3DTextures.Count;
}
#endregion Textures
@@ -1381,13 +1302,13 @@ namespace Vocaluxe.Lib.Draw
/// </summary>
/// <param name="n">The value of which the next power of two will be calculated</param>
/// <returns>The next power of two</returns>
private float _CheckForNextPowerOf2(float n)
private int _CheckForNextPowerOf2(int n)
{
if (_NonPowerOf2TextureSupported)
return n;
if (n < 0)
throw new ArgumentOutOfRangeException("n", "Must be positive.");
return (float)Math.Pow(2, Math.Ceiling(Math.Log(n, 2)));
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)
+68 -75
View File
@@ -28,7 +28,7 @@ using System.Threading;
using System.Windows.Forms;
using Vocaluxe.Base;
using VocaluxeLib;
using VocaluxeLib.Menu;
using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Draw
{
@@ -46,8 +46,8 @@ namespace Vocaluxe.Lib.Draw
private bool _TopMost;
private Rectangle _Bounds;
private readonly List<STexture> _Textures;
private readonly List<Bitmap> _Bitmaps;
private readonly Dictionary<int, CTexture> _Textures = new Dictionary<int, CTexture>();
private readonly List<Bitmap> _Bitmaps = new List<Bitmap>();
private readonly Color _ClearColor = Color.DarkBlue;
@@ -55,9 +55,6 @@ namespace Vocaluxe.Lib.Draw
{
Icon = new Icon(Path.Combine(Environment.CurrentDirectory, CSettings.Icon));
_Textures = new List<STexture>();
_Bitmaps = new List<Bitmap>();
_Keys = new CKeys();
_Mouse = new CMouse();
ClientSize = new Size(1280, 720);
@@ -290,34 +287,27 @@ namespace Vocaluxe.Lib.Draw
_G.Clear(_ClearColor);
}
public STexture CopyScreen()
public CTexture CopyScreen()
{
STexture texture = new STexture(0);
Bitmap bmp = new Bitmap(_Backbuffer);
_Bitmaps.Add(bmp);
texture.Index = _Bitmaps.Count - 1;
texture.Width = bmp.Width;
texture.Height = bmp.Height;
CTexture texture = _GetNewTexture(bmp.Width, bmp.Height);
// Add to Texture List
texture.Color = new SColorF(1f, 1f, 1f, 1f);
texture.Rect = new SRectF(0f, 0f, texture.Width, texture.Height, 0f);
_Textures.Add(texture);
_Textures[texture.ID] = texture;
return texture;
}
public void CopyScreen(ref STexture texture)
public void CopyScreen(ref CTexture texture)
{
if (texture.Index == 0 || (int)texture.Width != GetScreenWidth() || (int)texture.Height != GetScreenHeight())
if (!_TextureExists(texture) || texture.W2 != GetScreenWidth() || texture.H2 != GetScreenHeight())
{
RemoveTexture(ref texture);
texture = CopyScreen();
}
else
_Bitmaps[texture.Index] = new Bitmap(_Backbuffer);
_Bitmaps[texture.ID] = new Bitmap(_Backbuffer);
}
public void MakeScreenShot()
@@ -341,70 +331,63 @@ namespace Vocaluxe.Lib.Draw
public void DrawColorReflection(SColorF color, SRectF rect, float space, float height) {}
public STexture AddTexture(Bitmap bmp)
public CTexture AddTexture(Bitmap bmp)
{
Bitmap bmp2 = new Bitmap(bmp);
_Bitmaps.Add(bmp2);
STexture texture = new STexture {Index = _Bitmaps.Count - 1, Width = bmp.Width, Height = bmp.Height, Color = new SColorF(1f, 1f, 1f, 1f)};
CTexture texture = _GetNewTexture(bmp.Width, bmp.Height);
// Add to Texture List
texture.Rect = new SRectF(0f, 0f, texture.Width, texture.Height, 0f);
texture.TexturePath = String.Empty;
_Textures.Add(texture);
_Textures[texture.ID] = texture;
return texture;
}
public STexture AddTexture(string texturePath)
private CTexture _GetNewTexture(int w, int h)
{
return new CTexture(w, h) {ID = _Bitmaps.Count - 1};
}
public CTexture AddTexture(string texturePath)
{
STexture texture = new STexture();
if (File.Exists(texturePath))
{
bool found = false;
foreach (STexture tex in _Textures)
foreach (CTexture tex in _Textures.Values)
{
if (tex.TexturePath == texturePath)
{
texture = tex;
found = true;
break;
}
return tex;
}
if (!found)
using (Bitmap bmp = new Bitmap(texturePath))
{
using (Bitmap bmp = new Bitmap(texturePath))
return AddTexture(bmp);
CTexture texture = AddTexture(bmp);
texture.TexturePath = texturePath;
}
}
return texture;
return null;
}
public void RemoveTexture(ref STexture texture)
private bool _TextureExists(CTexture texture)
{
if ((texture.Index >= 0) && (_Textures.Count > 0))
{
for (int i = 0; i < _Textures.Count; i++)
{
if (_Textures[i].Index == texture.Index)
{
_Bitmaps[texture.Index].Dispose();
_Textures.RemoveAt(i);
texture.Index = -1;
break;
}
}
}
return texture != null && _Textures.ContainsKey(texture.ID);
}
public STexture EnqueueTexture(int w, int h, byte[] data)
public void RemoveTexture(ref CTexture texture)
{
if (_TextureExists(texture))
{
_Bitmaps[texture.ID].Dispose();
_Textures.Remove(texture.ID);
}
texture = null;
}
public CTexture EnqueueTexture(int w, int h, byte[] data)
{
return AddTexture(w, h, data);
}
public STexture AddTexture(int w, int h, byte[] data)
public CTexture AddTexture(int w, int h, byte[] data)
{
using (Bitmap bmp = new Bitmap(w, h))
{
@@ -415,49 +398,59 @@ namespace Vocaluxe.Lib.Draw
}
}
public bool UpdateTexture(ref STexture texture, byte[] data)
public bool UpdateTexture(CTexture texture, int w, int h, byte[] data)
{
if ((texture.Index >= 0) && (_Textures.Count > 0) && (_Bitmaps.Count > texture.Index))
if (_TextureExists(texture))
{
BitmapData bmpData = _Bitmaps[texture.Index].LockBits(new Rectangle(0, 0, _Bitmaps[texture.Index].Width, _Bitmaps[texture.Index].Height),
ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
BitmapData bmpData = _Bitmaps[texture.ID].LockBits(new Rectangle(0, 0, _Bitmaps[texture.ID].Width, _Bitmaps[texture.ID].Height),
ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
Marshal.Copy(data, 0, bmpData.Scan0, data.Length);
_Bitmaps[texture.Index].UnlockBits(bmpData);
_Bitmaps[texture.ID].UnlockBits(bmpData);
return true;
}
return false;
}
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;
}
public void DrawTexture(STexture texture)
public void DrawTexture(CTexture texture)
{
if ((texture.Index >= 0) && (_Textures.Count > 0) && (_Bitmaps.Count > texture.Index))
if (texture != null)
DrawTexture(texture, texture.Rect, texture.Color);
}
public void DrawTexture(STexture texture, SRectF rect)
public void DrawTexture(CTexture texture, SRectF rect)
{
if ((texture.Index >= 0) && (_Textures.Count > 0) && (_Bitmaps.Count > texture.Index))
if (texture != null)
DrawTexture(texture, rect, texture.Color);
}
public void DrawTexture(STexture texture, SRectF rect, SColorF color, bool mirrored = false)
public void DrawTexture(CTexture texture, SRectF rect, SColorF color, bool mirrored = false)
{
if ((texture.Index >= 0) && (_Textures.Count > 0) && (_Bitmaps.Count > texture.Index))
if (texture != null)
DrawTexture(texture, rect, color, rect, mirrored);
}
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)
{
if ((texture.Index >= 0) && (_Textures.Count > 0) && (_Bitmaps.Count > texture.Index))
{
Bitmap coloredBitmap = _ColorizeBitmap(_Bitmaps[texture.Index], color);
_G.DrawImage(coloredBitmap, new RectangleF(rect.X, rect.Y, rect.W, rect.H));
coloredBitmap.Dispose();
}
if (!_TextureExists(texture))
return;
Bitmap coloredBitmap = _ColorizeBitmap(_Bitmaps[texture.ID], color);
_G.DrawImage(coloredBitmap, new RectangleF(rect.X, rect.Y, rect.W, rect.H));
coloredBitmap.Dispose();
}
public void DrawTexture(STexture texture, SRectF rect, SColorF color, float begin, float end) {}
public void DrawTexture(CTexture texture, SRectF rect, SColorF color, float begin, float end) {}
public void DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height) {}
public void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height) {}
public int GetTextureCount()
{
File diff suppressed because it is too large. Load diff
+16 -16
View File
@@ -17,10 +17,9 @@
// */
#endregion
using System;
using System.Drawing;
using VocaluxeLib;
using VocaluxeLib.Menu;
using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Draw
{
@@ -36,28 +35,29 @@ namespace Vocaluxe.Lib.Draw
int GetTextureCount();
void ClearScreen();
STexture CopyScreen();
void CopyScreen(ref STexture texture);
CTexture CopyScreen();
void CopyScreen(ref CTexture texture);
void MakeScreenShot();
STexture AddTexture(string texturePath);
STexture AddTexture(Bitmap bitmap);
STexture AddTexture(int w, int h, byte[] data);
STexture EnqueueTexture(int w, int h, byte[] data);
bool UpdateTexture(ref STexture texture, byte[] data);
void RemoveTexture(ref STexture texture);
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);
// 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 DrawTexture(STexture texture);
void DrawTexture(STexture texture, SRectF rect);
void DrawTexture(STexture texture, SRectF rect, SColorF color, bool mirrored = false);
void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false);
void DrawTexture(STexture texture, SRectF rect, SColorF color, float begin, float end);
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 DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height);
void DrawTextureReflection(CTexture texture, SRectF rect, SColorF color, SRectF bounds, float space, float height);
}
}
+25 -17
View File
@@ -1,8 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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 <http://www.gnu.org/licenses/>.
// */
#endregion
using System;
using System.Collections.Generic;
using VocaluxeLib;
namespace Vocaluxe.Lib.Input
@@ -25,17 +41,11 @@ namespace Vocaluxe.Lib.Input
_CurrentMousePool = new List<SMouseEvent>();
}
public virtual void Close()
{
}
public virtual void Close() {}
public virtual void Connect()
{
}
public virtual void Connect() {}
public virtual void Disconnect()
{
}
public virtual void Disconnect() {}
public virtual bool IsConnected()
{
@@ -81,9 +91,7 @@ namespace Vocaluxe.Lib.Input
return false;
}
public virtual void SetRumble(float duration)
{
}
public virtual void SetRumble(float duration) {}
public void AddKeyEvent(SKeyEvent keyEvent)
{
@@ -101,4 +109,4 @@ namespace Vocaluxe.Lib.Input
}
}
}
}
}
+2
View File
@@ -63,7 +63,9 @@ namespace Vocaluxe.Lib.Playlist
if (PlaylistFile == "")
{
string filename = string.Empty;
// ReSharper disable LoopCanBeConvertedToQuery
foreach (char chr in PlaylistName)
// ReSharper restore LoopCanBeConvertedToQuery
{
if (char.IsLetter(chr))
filename += chr.ToString();
+2 -2
View File
@@ -19,7 +19,7 @@
using System.Collections.Generic;
using System.Linq;
using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Video
{
@@ -58,7 +58,7 @@ namespace Vocaluxe.Lib.Video
return 0f;
}
public abstract bool GetFrame(int streamID, ref STexture frame, float time, out float videoTime);
public abstract bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime);
public virtual bool Skip(int streamID, float start, float gap)
{
+7 -13
View File
@@ -25,7 +25,7 @@ using System.Runtime.InteropServices;
using System.Threading;
using Vocaluxe.Base;
using Vocaluxe.Lib.Video.Acinerella;
using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Video
{
@@ -90,7 +90,7 @@ namespace Vocaluxe.Lib.Video
return false;
}
public override bool GetFrame(int streamID, ref STexture frame, float time, out float videoTime)
public override bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime)
{
videoTime = 0;
if (_Initialized)
@@ -299,7 +299,7 @@ namespace Vocaluxe.Lib.Video
return true;
}
public bool GetFrame(ref STexture frame, float time, out float videoTime)
public bool GetFrame(ref CTexture frame, float time, out float videoTime)
{
videoTime = 0;
if (!_FileOpened)
@@ -323,7 +323,7 @@ namespace Vocaluxe.Lib.Video
_UploadNewFrame(ref frame);
//EventDecode.Set();
return true;
return frame != null;
}
if (Math.Abs(_SetTime - time) > float.Epsilon)
@@ -335,7 +335,7 @@ namespace Vocaluxe.Lib.Video
_UploadNewFrame(ref frame);
videoTime = _CurrentVideoTime;
//EventDecode.Set();
return true;
return frame != null;
}
return false;
}
@@ -650,7 +650,7 @@ namespace Vocaluxe.Lib.Video
}
}
private void _UploadNewFrame(ref STexture frame)
private void _UploadNewFrame(ref CTexture frame)
{
if (!_FileOpened)
return;
@@ -661,13 +661,7 @@ namespace Vocaluxe.Lib.Video
if (num >= 0)
{
if (frame.Index == -1 || _Width != (int)frame.Width || _Height != (int)frame.Height)
{
CDraw.RemoveTexture(ref frame);
frame = CDraw.AddTexture(_Width, _Height, _FrameBuffer[num].Data);
}
else
CDraw.UpdateTexture(ref frame, _FrameBuffer[num].Data);
CDraw.UpdateOrAddTexture(ref frame, _Width, _Height, _FrameBuffer[num].Data);
lock (_MutexSyncSignals)
{
+5 -11
View File
@@ -20,7 +20,7 @@
using System;
using Vocaluxe.Base;
using Vocaluxe.Lib.Video.Gstreamer;
using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Video
{
@@ -78,13 +78,13 @@ namespace Vocaluxe.Lib.Video
return CGstreamerVideoWrapper.GetVideoLength(streamID);
}
public bool GetFrame(int streamID, ref STexture frame, float time, out float videoTime)
public bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime)
{
SManagedFrame managedFrame = CGstreamerVideoWrapper.GetFrame(streamID, time);
videoTime = managedFrame.Videotime;
_UploadNewFrame(ref frame, ref managedFrame.Buffer, managedFrame.Width, managedFrame.Height);
return true;
return frame != null;
}
public bool Skip(int streamID, float start, float gap)
@@ -117,17 +117,11 @@ namespace Vocaluxe.Lib.Video
CGstreamerVideoWrapper.UpdateVideo();
}
private void _UploadNewFrame(ref STexture frame, ref byte[] data, int width, int height)
private void _UploadNewFrame(ref CTexture frame, ref byte[] data, int width, int height)
{
if (data == null)
return;
if (frame.Index == -1 || width != (int)frame.Width || height != (int)frame.Height || data.Length == 0)
{
CDraw.RemoveTexture(ref frame);
frame = CDraw.AddTexture(width, height, data);
}
else
CDraw.UpdateTexture(ref frame, data);
CDraw.UpdateOrAddTexture(ref frame, width, height, data);
data = null;
}
}
+11 -2
View File
@@ -17,7 +17,7 @@
// */
#endregion
using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Video
{
@@ -41,7 +41,16 @@ namespace Vocaluxe.Lib.Video
int GetNumStreams();
float GetLength(int streamID);
bool GetFrame(int streamID, ref STexture frame, float time, out float videoTime);
/// <summary>
/// </summary>
/// <param name="streamID"></param>
/// <param name="frame"></param>
/// <param name="time"></param>
/// <param name="videoTime"></param>
/// <returns>True if frame is valid</returns>
bool GetFrame(int streamID, ref CTexture frame, float time, out float videoTime);
bool Skip(int streamID, float start, float gap);
void SetLoop(int streamID, bool loop);
void Pause(int streamID);
+28 -39
View File
@@ -24,7 +24,7 @@ using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
using Vocaluxe.Base;
using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Webcam
{
@@ -41,29 +41,20 @@ namespace Vocaluxe.Lib.Webcam
public void Close()
{
if (_Webcam != null)
{
_Webcam.SignalToStop();
_Webcam.WaitForStop();
_Webcam.NewFrame -= _OnFrame;
_Data = new byte[1];
}
if (_Webcam == null)
return;
_Webcam.SignalToStop();
_Webcam.WaitForStop();
_Webcam.NewFrame -= _OnFrame;
_Data = new byte[1];
}
public bool GetFrame(ref STexture frame)
public bool GetFrame(ref CTexture frame)
{
if (_Webcam != null && _Width > 0 && _Height > 0 && _Data.Length == _Width * _Height * 4)
lock (_MutexData)
{
lock (_MutexData)
{
if (frame.Index == -1 || _Width != (int)frame.Width || _Height != (int)frame.Height)
{
CDraw.RemoveTexture(ref frame);
frame = CDraw.AddTexture(_Width, _Height, _Data);
}
else
CDraw.UpdateTexture(ref frame, _Data);
}
if (_Webcam != null && _Width > 0 && _Height > 0 && _Data.Length == _Width * _Height * 4)
CDraw.UpdateOrAddTexture(ref frame, _Width, _Height, _Data);
}
return false;
}
@@ -114,19 +105,18 @@ namespace Vocaluxe.Lib.Webcam
private void _OnFrame(object sender, NewFrameEventArgs e)
{
if (!_Paused)
if (_Paused)
return;
lock (_MutexData)
{
lock (_MutexData)
{
if (_Width != e.Frame.Width || _Height != e.Frame.Height || _Data.Length != e.Frame.Width * e.Frame.Height * 4)
_Data = new byte[4 * e.Frame.Width * e.Frame.Height];
if (_Width != e.Frame.Width || _Height != e.Frame.Height || _Data.Length != e.Frame.Width * e.Frame.Height * 4)
_Data = new byte[4 * e.Frame.Width * e.Frame.Height];
_Width = e.Frame.Width;
_Height = e.Frame.Height;
BitmapData bitmapdata = e.Frame.LockBits(new Rectangle(0, 0, _Width, _Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
Marshal.Copy(bitmapdata.Scan0, _Data, 0, _Data.Length);
e.Frame.UnlockBits(bitmapdata);
}
_Width = e.Frame.Width;
_Height = e.Frame.Height;
BitmapData bitmapdata = e.Frame.LockBits(new Rectangle(0, 0, _Width, _Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
Marshal.Copy(bitmapdata.Scan0, _Data, 0, _Data.Length);
e.Frame.UnlockBits(bitmapdata);
}
}
@@ -138,14 +128,13 @@ namespace Vocaluxe.Lib.Webcam
public void Start()
{
if (_Webcam != null)
{
_Webcam.NewFrame -= _OnFrame;
//Subscribe to NewFrame event
_Webcam.NewFrame += _OnFrame;
_Webcam.Start();
_Paused = false;
}
if (_Webcam == null)
return;
_Webcam.NewFrame -= _OnFrame;
//Subscribe to NewFrame event
_Webcam.NewFrame += _OnFrame;
_Webcam.Start();
_Paused = false;
}
public void Stop()
+2 -2
View File
@@ -19,7 +19,7 @@
using System.Collections.Generic;
using System.Drawing;
using VocaluxeLib;
using VocaluxeLib.Draw;
namespace Vocaluxe.Lib.Webcam
{
@@ -54,7 +54,7 @@ namespace Vocaluxe.Lib.Webcam
void Stop();
void Close();
bool GetFrame(ref STexture frame);
bool GetFrame(ref CTexture frame);
Bitmap GetBitmap();
SWebcamConfig GetConfig();
SWebcamDevice[] GetDevices();
+1 -1
View File
@@ -240,7 +240,7 @@ namespace Vocaluxe
CController.Close();
CSound.RecordCloseAll();
CSound.CloseAllStreams();
CVideo.VdCloseAll();
CVideo.CloseAll();
CDraw.Unload();
CDataBase.CloseConnections();
CWebcam.Close();
+20 -18
View File
@@ -24,6 +24,7 @@ using System.Windows.Forms;
using Vocaluxe.Base;
using Vocaluxe.Base.Fonts;
using VocaluxeLib;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
@@ -51,8 +52,8 @@ namespace Vocaluxe.Screens
_Image = image;
_ImgDot = imgDot;
_Particle = particle;
_ParticleOffsetX = (int)Math.Round(particleOffsetX * image.Rect.W / image.Texture.Width - particle.Rect.W / 2);
_ParticleOffsetY = (int)Math.Round(particleOffsetY * image.Rect.H / image.Texture.Height - particle.Rect.H / 2);
_ParticleOffsetX = (int)Math.Round(particleOffsetX * image.Rect.W / image.Texture.OrigSize.Width - particle.Rect.W / 2);
_ParticleOffsetY = (int)Math.Round(particleOffsetY * image.Rect.H / image.Texture.OrigSize.Height - particle.Rect.H / 2);
Active = true;
}
@@ -127,21 +128,21 @@ namespace Vocaluxe.Screens
private List<string[]> _Paragraphs;
private List<CText> _ParagraphTexts;
private STexture _TexLogo;
private STexture _TexPerfectNoteStar;
private CTexture _TexLogo;
private CTexture _TexPerfectNoteStar;
private STexture _TexRedDot;
private STexture _TexBlueDot;
private CTexture _TexRedDot;
private CTexture _TexBlueDot;
private STexture _TexNameBrunzel;
private STexture _TexNameDarkice;
private STexture _TexNameFlokuep;
private STexture _TexNameFlamefire;
private STexture _TexNameMesand;
private STexture _TexNameBohning;
private STexture _TexNameBabene03;
private STexture _TexNamePantero;
private STexture _TexNamePinky007;
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;
public override void Init()
{
@@ -283,12 +284,12 @@ namespace Vocaluxe.Screens
return GetNewParticleEffect(numStars, partColor, rect, _TexPerfectNoteStar, partSize, EParticleType.Star);
}
private void _AddNewCreditName(STexture texture, int particleOffsetX, int particleOffsetY, bool bigParticles)
private void _AddNewCreditName(CTexture texture, int particleOffsetX, int particleOffsetY, bool bigParticles)
{
bool isRight = _CreditNames.Count % 2 == 0;
int partRectSize = bigParticles ? 25 : 20;
int partCount = bigParticles ? 8 : 6;
STexture texDot = isRight ? _TexRedDot : _TexBlueDot;
CTexture texDot = isRight ? _TexRedDot : _TexBlueDot;
CStatic image = GetNewStatic(texture, new SColorF(1, 1, 1, 1), new SRectF(-1, -1, 400, 120, -4));
@@ -318,7 +319,8 @@ namespace Vocaluxe.Screens
base.OnShow();
//Vocaluxe-Logo
_Logo = GetNewStatic(_TexLogo, new SColorF(1, 1, 1, 1), new SRectF((CSettings.RenderW - _TexLogo.Width) / 2, -270, _TexLogo.Width, _TexLogo.Height, -2));
_Logo = GetNewStatic(_TexLogo, new SColorF(1, 1, 1, 1),
new SRectF((float)(CSettings.RenderW - _TexLogo.OrigSize.Width) / 2, -270, _TexLogo.OrigSize.Width, _TexLogo.OrigSize.Height, -2));
//Little stars for logo
int numstars = (int)(_Logo.Rect.W * 0.25f / 2f);
-3
View File
@@ -19,7 +19,6 @@
using System.Windows.Forms;
using Vocaluxe.Base;
using Vocaluxe.Base.Fonts;
using VocaluxeLib;
using VocaluxeLib.Menu;
@@ -165,9 +164,7 @@ namespace Vocaluxe.Screens
// ReSharper disable ConditionIsAlwaysTrueOrFalse
if (CSettings.VersionRevision != ERevision.Release)
// ReSharper restore ConditionIsAlwaysTrueOrFalse
{
_ReleaseText.Draw();
}
return true;
}
+13 -12
View File
@@ -22,6 +22,7 @@ using System.Collections.Generic;
using System.Windows.Forms;
using Vocaluxe.Base;
using VocaluxeLib;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu;
using VocaluxeLib.Profile;
@@ -55,15 +56,15 @@ namespace Vocaluxe.Screens
{"EqualizerPlayer1", "EqualizerPlayer2", "EqualizerPlayer3", "EqualizerPlayer4", "EqualizerPlayer5", "EqualizerPlayer6"};
private readonly string[] _SelectSlideDuetPlayer = new string[]
{"SelectSlideDuetPlayer1", "SelectSlideDuetPlayer2", "SelectSlideDuetPlayer3", "SelectSlideDuetPlayer4", "SelectSlideDuetPlayer5", "SelectSlideDuetPlayer6"};
private readonly STexture[] _OriginalPlayerAvatarTextures = new STexture[CSettings.MaxNumPlayer];
private readonly CTexture[] _OriginalPlayerAvatarTextures = new CTexture[CSettings.MaxNumPlayer];
private bool _SelectingKeyboardActive;
private bool _SelectingFast;
private int _SelectingSwitchNr = -1;
private int _SelectingFastPlayerNr = 0;
private int _SelectingFastPlayerNr;
private int _SelectedPlayerNr = -1;
private bool _AvatarsChanged = false;
private bool _ProfilesChanged = false;
private bool _AvatarsChanged;
private bool _ProfilesChanged;
#region public methods
public override void Init()
@@ -105,7 +106,7 @@ namespace Vocaluxe.Screens
_ChooseAvatarStatic.Visible = false;
_ChooseAvatarStatic.Aspect = EAspect.Crop;
CProfiles.AddProfileChangedCallback(new ProfileChangedCallback(_OnProfileChanged));
CProfiles.AddProfileChangedCallback(_OnProfileChanged);
}
public override void LoadTheme(string xmlPath)
@@ -445,7 +446,7 @@ namespace Vocaluxe.Screens
CConfig.Players[_SelectingSwitchNr] = string.Empty;
//Update texture and name
_Statics[_StaticPlayerAvatar[_SelectingSwitchNr]].Texture = _OriginalPlayerAvatarTextures[_SelectingSwitchNr];
_Texts[_TextPlayer[_SelectingSwitchNr]].Text = CProfiles.GetPlayerName(-1, (_SelectingSwitchNr+1));
_Texts[_TextPlayer[_SelectingSwitchNr]].Text = CProfiles.GetPlayerName(-1, (_SelectingSwitchNr + 1));
}
CProfile[] profiles = CProfiles.GetProfiles();
@@ -467,7 +468,7 @@ namespace Vocaluxe.Screens
break;
}
//Selected player is dropped out of area
else if (_SelectingSwitchNr > -1)
if (_SelectingSwitchNr > -1)
{
//Update Game-infos with new player
CGame.Players[_SelectingSwitchNr].ProfileID = -1;
@@ -598,7 +599,7 @@ namespace Vocaluxe.Screens
else
stopSelectingFast = true;
}
else if(mouseEvent.MB)
else if (mouseEvent.MB)
{
_ResetPlayerSelections();
_SelectingFast = true;
@@ -669,12 +670,12 @@ namespace Vocaluxe.Screens
#endregion public methods
#region private methods
private void _OnProfileChanged(EProfileChangedFlags Flags)
private void _OnProfileChanged(EProfileChangedFlags flags)
{
if (EProfileChangedFlags.Avatar == (EProfileChangedFlags.Avatar & Flags))
if (EProfileChangedFlags.Avatar == (EProfileChangedFlags.Avatar & flags))
_AvatarsChanged = true;
if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & Flags))
if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & flags))
_ProfilesChanged = true;
}
@@ -689,7 +690,7 @@ namespace Vocaluxe.Screens
for (int i = 0; i < CSettings.MaxNumPlayer; i++)
{
_Statics[_StaticPlayerAvatar[i]].Texture = CProfiles.ICProfileIDValid(CGame.Players[i].ProfileID) ?
_Statics[_StaticPlayerAvatar[i]].Texture = CProfiles.IsProfileIDValid(CGame.Players[i].ProfileID) ?
CProfiles.GetAvatarTextureFromProfile(CGame.Players[i].ProfileID) :
_OriginalPlayerAvatarTextures[i];
_Texts[_TextPlayer[i]].Text = CProfiles.GetPlayerName(CGame.Players[i].ProfileID, i + 1);
+2 -1
View File
@@ -23,6 +23,7 @@ using Vocaluxe.Base;
using Vocaluxe.Lib.Webcam;
using VocaluxeLib;
using VocaluxeLib.Menu;
using VocaluxeLib.Draw;
namespace Vocaluxe.Screens
{
@@ -46,7 +47,7 @@ namespace Vocaluxe.Screens
private const string _ButtonExit = "ButtonExit";
private SWebcamConfig _Config;
private STexture _WebcamTexture = new STexture(-1);
private CTexture _WebcamTexture;
private int _DeviceNr;
private int _CapabilityNr;
+26 -21
View File
@@ -27,6 +27,7 @@ using Vocaluxe.Base;
using VocaluxeLib;
using VocaluxeLib.Menu;
using VocaluxeLib.Profile;
using VocaluxeLib.Draw;
namespace Vocaluxe.Screens
{
@@ -65,7 +66,7 @@ namespace Vocaluxe.Screens
private EEditMode _EditMode;
private STexture _WebcamTexture = new STexture(-1);
private CTexture _WebcamTexture;
private Bitmap _Snapshot;
public override void Init()
@@ -80,7 +81,7 @@ namespace Vocaluxe.Screens
_EditMode = EEditMode.None;
_ProfilesChanged = false;
_AvatarsChanged = false;
CProfiles.AddProfileChangedCallback(new ProfileChangedCallback(_OnProfileChanged));
CProfiles.AddProfileChangedCallback(_OnProfileChanged);
}
public override void LoadTheme(string xmlPath)
@@ -223,7 +224,7 @@ namespace Vocaluxe.Screens
{
CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].ValueIndex,
_SelectSlides[_SelectSlideAvatars].ValueIndex);
if (CWebcam.IsDeviceAvailable() && _WebcamTexture.Index > 0)
if (CWebcam.IsDeviceAvailable() && _WebcamTexture != null)
_OnDiscardSnapshot();
}
else if (_SelectSlides[_SelectSlideGuestProfile].Selected)
@@ -300,12 +301,12 @@ namespace Vocaluxe.Screens
_OnDiscardSnapshot();
}
private void _OnProfileChanged(EProfileChangedFlags Flags)
private void _OnProfileChanged(EProfileChangedFlags flags)
{
if (EProfileChangedFlags.Avatar == (EProfileChangedFlags.Avatar & Flags))
if (EProfileChangedFlags.Avatar == (EProfileChangedFlags.Avatar & flags))
_AvatarsChanged = true;
if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & Flags))
if (EProfileChangedFlags.Profile == (EProfileChangedFlags.Profile & flags))
_ProfilesChanged = true;
}
@@ -387,7 +388,7 @@ namespace Vocaluxe.Screens
private void _DeleteProfile()
{
_EditMode = EEditMode.None;
CProfiles.DeleteProfile(_SelectSlides[_SelectSlideProfiles].ValueIndex);
int selection = _SelectSlides[_SelectSlideProfiles].Selection;
@@ -397,7 +398,7 @@ namespace Vocaluxe.Screens
_SelectSlides[_SelectSlideProfiles].Selection = selection - 1;
}
private void _LoadProfiles(bool Keep)
private void _LoadProfiles(bool keep)
{
string name = String.Empty;
if (_EditMode == EEditMode.PlayerName)
@@ -407,12 +408,14 @@ namespace Vocaluxe.Screens
_SelectSlides[_SelectSlideProfiles].Clear();
CProfile[] profiles = CProfiles.GetProfiles();
for (int i = 0; i < profiles.Length; i++)
foreach (CProfile profile in profiles)
{
_SelectSlides[_SelectSlideProfiles].AddValue(
profiles[i].PlayerName,
new STexture(-1),
profiles[i].ID,
profile.PlayerName,
null,
profile.ID,
-1);
}
if (CProfiles.NumProfiles > 0 && CProfiles.NumAvatars > 0)
{
@@ -424,7 +427,7 @@ namespace Vocaluxe.Screens
selectedProfileID = _SelectSlides[_SelectSlideProfiles].ValueIndex;
}
if (!Keep)
if (!keep)
{
_SelectSlides[_SelectSlideDifficulty].Selection = (int)CProfiles.GetDifficulty(selectedProfileID);
_SelectSlides[_SelectSlideGuestProfile].Selection = (int)CProfiles.GetGuestProfile(selectedProfileID);
@@ -438,19 +441,21 @@ namespace Vocaluxe.Screens
_ProfilesChanged = false;
}
private void _LoadAvatars(bool Keep)
private void _LoadAvatars(bool keep)
{
int selectedAvatarID = _SelectSlides[_SelectSlideAvatars].ValueIndex;
_SelectSlides[_SelectSlideAvatars].Clear();
CAvatar[] avatars = CProfiles.GetAvatars();
for (int i = 0; i < avatars.Length; i++)
IEnumerable<CAvatar> avatars = CProfiles.GetAvatars();
foreach (CAvatar avatar in avatars)
{
_SelectSlides[_SelectSlideAvatars].AddValue(
Path.GetFileName(avatars[i].FileName),
new STexture(-1),
avatars[i].ID,
Path.GetFileName(avatar.FileName),
null,
avatar.ID,
-1);
}
if (Keep)
if (keep)
{
_SelectSlides[_SelectSlideAvatars].SetSelectionByValueIndex(selectedAvatarID);
CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].ValueIndex, selectedAvatarID);
@@ -459,6 +464,6 @@ namespace Vocaluxe.Screens
_SelectSlides[_SelectSlideAvatars].SetSelectionByValueIndex(CProfiles.GetAvatarID(_SelectSlides[_SelectSlideProfiles].ValueIndex));
_AvatarsChanged = false;
}
}
}
}
+2 -2
View File
@@ -333,7 +333,7 @@ namespace Vocaluxe.Screens
_Statics[_StaticPointsBarBG[p, CGame.NumPlayer - 1]].Rect.Y -
_Statics[_StaticPointsBar[p, CGame.NumPlayer - 1]].Rect.H;
}
if (CProfiles.ICProfileIDValid(players[p].ProfileID))
if (CProfiles.IsProfileIDValid(players[p].ProfileID))
_Statics[_StaticAvatar[p, CGame.NumPlayer - 1]].Texture = CProfiles.GetAvatarTextureFromProfile(players[p].ProfileID);
}
@@ -369,7 +369,7 @@ namespace Vocaluxe.Screens
_Statics[_StaticPointsBarBG[player, numplayer]].Visible = numplayer + 1 == CGame.NumPlayer;
_Statics[_StaticAvatar[player, numplayer]].Visible = numplayer + 1 == CGame.NumPlayer;
_Statics[_StaticAvatar[player, numplayer]].Texture = new STexture(-1);
_Statics[_StaticAvatar[player, numplayer]].Texture = null;
}
}
}
+47 -40
View File
@@ -27,9 +27,8 @@ using System.Windows.Forms;
using Vocaluxe.Base;
using Vocaluxe.Base.Fonts;
using VocaluxeLib;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu;
using VocaluxeLib.Menu.SingNotes;
using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.Songs;
namespace Vocaluxe.Screens
@@ -88,6 +87,9 @@ namespace Vocaluxe.Screens
private const string _SingBars = "SingBars";
private bool _DynamicLyricsTop;
private bool _DynamicLyricsBottom;
private SRectF _TimeLineRect;
private List<STimeRect> _TimeRects;
private bool _FadeOut;
@@ -98,9 +100,9 @@ namespace Vocaluxe.Screens
private const float _Volume = 100f;
private int _CurrentVideo = -1;
private EAspect _VideoAspect = EAspect.Crop;
private STexture _CurrentVideoTexture = new STexture(-1);
private STexture _CurrentWebcamFrameTexture = new STexture(-1);
private STexture _Background = new STexture(-1);
private CTexture _CurrentVideoTexture;
private CTexture _CurrentWebcamFrameTexture;
private CTexture _Background;
private float _CurrentTime;
private float _FinishTime;
@@ -397,7 +399,7 @@ namespace Vocaluxe.Screens
if (_CurrentVideo != -1 && !_FadeOut && CConfig.VideosInSongs == EOffOn.TR_CONFIG_ON)
{
float vtime;
CVideo.VdGetFrame(_CurrentVideo, ref _CurrentVideoTexture, _CurrentTime, out vtime);
CVideo.GetFrame(_CurrentVideo, ref _CurrentVideoTexture, _CurrentTime, out vtime);
}
if (_Webcam)
@@ -413,8 +415,8 @@ namespace Vocaluxe.Screens
_FadeOut = false;
_CurrentVideo = -1;
_CurrentVideoTexture = new STexture(-1);
_CurrentWebcamFrameTexture = new STexture(-1);
_CurrentVideoTexture = null;
_CurrentWebcamFrameTexture = null;
_CurrentBeat = -100;
_CurrentTime = 0f;
_FinishTime = 0f;
@@ -455,33 +457,27 @@ namespace Vocaluxe.Screens
{
if (_Active)
{
CTexture background;
EAspect aspect = EAspect.Crop;
if (_CurrentVideo != -1 && CConfig.VideosInSongs == EOffOn.TR_CONFIG_ON && !_Webcam)
{
RectangleF bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH);
RectangleF rect = new RectangleF(0f, 0f, _CurrentVideoTexture.Width, _CurrentVideoTexture.Height);
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, _VideoAspect);
CDraw.DrawTexture(_CurrentVideoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, 0f),
_CurrentVideoTexture.Color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), false);
background = _CurrentVideoTexture;
aspect = _VideoAspect;
}
else if (_Webcam)
{
RectangleF bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH);
RectangleF rect = new RectangleF(0f, 0f, _CurrentWebcamFrameTexture.Width, _CurrentWebcamFrameTexture.Height);
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, _VideoAspect);
CDraw.DrawTexture(_CurrentWebcamFrameTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, 0f),
_CurrentVideoTexture.Color, new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f), false);
background = _CurrentWebcamFrameTexture;
aspect = _VideoAspect;
}
else
background = _Background;
if (background != null)
{
// Draw Background
RectangleF bounds = new RectangleF(0, 0, CSettings.RenderW, CSettings.RenderH);
RectangleF rect = new RectangleF(0f, 0f, _Background.Width, _Background.Height);
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
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), false);
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));
}
}
@@ -558,7 +554,7 @@ namespace Vocaluxe.Screens
CSound.RecordStop();
if (_CurrentVideo != -1)
{
CVideo.VdClose(_CurrentVideo);
CVideo.Close(_CurrentVideo);
_CurrentVideo = -1;
CDraw.RemoveTexture(ref _CurrentVideoTexture);
}
@@ -621,15 +617,15 @@ namespace Vocaluxe.Screens
CDraw.RemoveTexture(ref _CurrentVideoTexture);
if (song.VideoFileName != "")
if (!String.IsNullOrEmpty(song.VideoFileName))
{
_CurrentVideo = CVideo.VdLoad(Path.Combine(song.Folder, song.VideoFileName));
CVideo.VdSkip(_CurrentVideo, song.Start, song.VideoGap);
_CurrentVideo = CVideo.Load(Path.Combine(song.Folder, song.VideoFileName));
CVideo.Skip(_CurrentVideo, song.Start, song.VideoGap);
_VideoAspect = song.VideoAspect;
}
CDraw.RemoveTexture(ref _Background);
if (song.BackgroundFileName != "")
if (!String.IsNullOrEmpty(song.BackgroundFileName))
_Background = CDraw.AddTexture(Path.Combine(song.Folder, song.BackgroundFileName));
_SingNotes[_SingBars].Reset();
@@ -652,12 +648,21 @@ namespace Vocaluxe.Screens
CGame.Players[i].LineNr = duetPlayer[i];
}
}
_SetDuetLyricsVisibility(song.IsDuet);
_SetNormalLyricsVisibility();
_DynamicLyricsTop = false;
_DynamicLyricsBottom = false;
for (int p = 0; p < CGame.NumPlayer; p++)
{
_NoteLines[p] = _SingNotes[_SingBars].AddPlayer(_SingNotes[_SingBars].BarPos[p, CGame.NumPlayer - 1], CTheme.GetPlayerColor(p + 1), p);
if (_SingNotes[_SingBars].BarPos[p, CGame.NumPlayer - 1].Y + _SingNotes[_SingBars].BarPos[p, CGame.NumPlayer - 1].H >= CSettings.RenderH / 2)
_DynamicLyricsBottom = true;
else
_DynamicLyricsTop = true;
}
_SetDuetLyricsVisibility(song.IsDuet);
_SetNormalLyricsVisibility();
/*
case 4:
NoteLines[0] = SingNotes[SingBars].AddPlayer(new SRectF(35f, 100f, 590f, 200f, -0.5f), CTheme.ThemeColors.Player[0]);
@@ -693,9 +698,9 @@ namespace Vocaluxe.Screens
}
else
{
bool lyricsOnTop = CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP
|| CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|| (CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && (CGame.NumPlayer > 2 && CGame.NumPlayer != 4));
bool lyricsOnTop = CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP
|| CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|| (CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsTop);
_Lyrics[_LyricMainTop].Visible = lyricsOnTop;
_Lyrics[_LyricSubTop].Visible = lyricsOnTop;
_Statics[_StaticLyricsTop].Visible = lyricsOnTop;
@@ -704,7 +709,9 @@ namespace Vocaluxe.Screens
private void _SetNormalLyricsVisibility()
{
bool visible = CConfig.LyricsPosition != ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP;
bool visible = CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTTOM
|| CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|| (CConfig.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsBottom);
_Lyrics[_LyricMain].Visible = visible;
_Lyrics[_LyricSub].Visible = visible;
_Statics[_StaticLyrics].Visible = visible;
@@ -1363,7 +1370,7 @@ namespace Vocaluxe.Screens
foreach (CLine line in voice.Lines.Where(line => line.VisibleInTimeLine))
{
STimeRect trect = new STimeRect {StartBeat = line.FirstNoteBeat, EndBeat = line.EndBeat};
trect.Rect = GetNewStatic(new STexture(-1),
trect.Rect = GetNewStatic(null,
new SColorF(1f, 1f, 1f, 1f),
new SRectF(
stat.Rect.X + stat.Rect.W * ((CGame.GetTimeFromBeats(trect.StartBeat, song.BPM) + song.Gap - song.Start) / totalTime),
@@ -1383,7 +1390,7 @@ namespace Vocaluxe.Screens
{
for (int i = 0; i < CGame.NumPlayer; i++)
{
if (CProfiles.ICProfileIDValid(CGame.Players[i].ProfileID))
if (CProfiles.IsProfileIDValid(CGame.Players[i].ProfileID))
_Statics[_StaticAvatars[i, CGame.NumPlayer - 1]].Texture = CProfiles.GetAvatarTextureFromProfile(CGame.Players[i].ProfileID);
else
_Statics[_StaticAvatars[i, CGame.NumPlayer - 1]].Visible = false;
@@ -1394,7 +1401,7 @@ namespace Vocaluxe.Screens
{
for (int i = 0; i < CGame.NumPlayer; i++)
{
if (CProfiles.ICProfileIDValid(CGame.Players[i].ProfileID))
if (CProfiles.IsProfileIDValid(CGame.Players[i].ProfileID))
_Texts[_TextNames[i, CGame.NumPlayer - 1]].Text = CProfiles.GetPlayerName(CGame.Players[i].ProfileID);
else
_Texts[_TextNames[i, CGame.NumPlayer - 1]].Visible = false;
+5 -9
View File
@@ -20,11 +20,11 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows.Forms;
using Vocaluxe.Base;
using VocaluxeLib;
using VocaluxeLib.Menu;
using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.PartyModes;
using VocaluxeLib.Songs;
@@ -884,9 +884,7 @@ namespace Vocaluxe.Screens
CGame.Reset();
CGame.ClearSongs();
List<int> ids = new List<int>();
for (int i = 0; i < CSongs.VisibleSongs.Count; i++)
ids.Add(CSongs.VisibleSongs[i].ID);
List<int> ids = CSongs.VisibleSongs.Select(t => t.ID).ToList();
while (ids.Count > 0)
{
@@ -910,17 +908,15 @@ namespace Vocaluxe.Screens
CGame.Reset();
CGame.ClearSongs();
List<int> ids = new List<int>();
List<int> ids;
if (allSongs)
{
ids = new List<int>();
for (int i = 0; i < CSongs.AllSongs.Count; i++)
ids.Add(i);
}
else
{
for (int i = 0; i < CSongs.VisibleSongs.Count; i++)
ids.Add(CSongs.VisibleSongs[i].ID);
}
ids = CSongs.VisibleSongs.Select(t => t.ID).ToList();
int s = 0;
while (s < numSongs && ids.Count > 0)
{
+6 -6
View File
@@ -42,17 +42,17 @@ namespace Vocaluxe.Screens
base.Init();
const string test = "Ö ÄÜabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPGRSTUVWGXZ1234567890";
SColorF color = new SColorF(1, 0, 0, 1);
CText text = new CText(10, 50, 1, 32, 0, EAlignment.Left, EStyle.Normal, "Normal", color, "jÄNormal Text" + test, -1, 26, 0);
CText text = new CText(10, 50, 1, 32, 0, EAlignment.Left, EStyle.Normal, "Normal", color, "jÄNormal Text" + test, -1, 26, 1);
_AddText(text);
text = new CText(10, 90, 1, 32, 0, EAlignment.Left, EStyle.Bold, "Normal", color, "jÄBold Text" + test, -1, 26, 0);
text = new CText(10, 90, 1, 32, 0, EAlignment.Left, EStyle.Bold, "Normal", color, "jÄBold Text" + test, -1, 26, 1);
_AddText(text);
text = new CText(10, 130, 1, 32, 0, EAlignment.Left, EStyle.Italic, "Normal", color, "jÄItalic Text" + test, -1, 26, 0);
text = new CText(10, 130, 1, 32, 0, EAlignment.Left, EStyle.Italic, "Normal", color, "jÄItalic Text" + test, -1, 26, 1);
_AddText(text);
text = new CText(10, 170, 1, 32, 0, EAlignment.Left, EStyle.Normal, "Outline", color, "jÄNormal Text" + test, -1, 50, 0);
text = new CText(10, 170, 1, 32, 0, EAlignment.Left, EStyle.Normal, "Outline", color, "jÄNormal Text" + test, -1, 50, 1);
_AddText(text);
text = new CText(10, 210, 1, 32, 0, EAlignment.Left, EStyle.Bold, "Outline", color, "jÄBold Text" + test, -1, 100, 0);
text = new CText(10, 210, 1, 32, 0, EAlignment.Left, EStyle.Bold, "Outline", color, "jÄBold Text" + test, -1, 100, 1);
_AddText(text);
text = new CText(10, 250, 1, 32, 0, EAlignment.Left, EStyle.Italic, "Outline", color, "jÄItalic Text" + test, -1, 150, 0);
text = new CText(10, 250, 1, 32, 0, EAlignment.Left, EStyle.Italic, "Outline", color, "jÄItalic Text" + test, -1, 150, 1);
_AddText(text);
}
+1
View File
@@ -178,6 +178,7 @@
<Compile Include="Base\CBackgroundMusic.cs" />
<Compile Include="Base\CConfig.cs" />
<Compile Include="Base\CCover.cs" />
<Compile Include="Base\CCursor.cs" />
<Compile Include="Base\CDataBase.cs" />
<Compile Include="Base\CDraw.cs" />
<Compile Include="Base\Fonts\CFont.cs" />
-2
View File
@@ -17,8 +17,6 @@
// */
#endregion
using VocaluxeLib.Menu;
namespace VocaluxeLib
{
public static class CBase
+20 -21
View File
@@ -91,9 +91,9 @@ namespace VocaluxeLib
public static void SetRect(RectangleF bounds, out RectangleF rect, float rectAspect, EAspect aspect)
{
float rW = bounds.Right - bounds.Left;
float rH = bounds.Bottom - bounds.Top;
float rA = rW / rH;
float boundsW = bounds.Width;
float boundsH = bounds.Height;
float boundsAspect = boundsW / boundsH;
float scaledWidth;
float scaledHeight;
@@ -101,42 +101,39 @@ namespace VocaluxeLib
switch (aspect)
{
case EAspect.Crop:
if (rA >= rectAspect)
if (boundsAspect >= rectAspect)
{
scaledWidth = rW;
scaledHeight = rH * rA / rectAspect;
scaledWidth = boundsW;
scaledHeight = boundsW / rectAspect;
}
else
{
scaledHeight = rH;
scaledWidth = rW * rectAspect / rA;
scaledHeight = boundsH;
scaledWidth = boundsH * rectAspect;
}
break;
case EAspect.LetterBox:
if (rectAspect >= 1)
if (boundsAspect <= rectAspect)
{
scaledWidth = rW;
scaledHeight = rH * rA / rectAspect;
scaledWidth = boundsW;
scaledHeight = boundsW / rectAspect;
}
else
{
scaledHeight = rH;
scaledWidth = rW * rectAspect / rA;
scaledHeight = boundsH;
scaledWidth = boundsH * rectAspect;
}
break;
default:
scaledWidth = rW;
scaledHeight = rH;
scaledWidth = boundsW;
scaledHeight = boundsH;
break;
}
float left = (rW - scaledWidth) / 2 + bounds.Left;
float rigth = left + scaledWidth;
float left = (boundsW - scaledWidth) / 2 + bounds.Left;
float upper = (boundsH - scaledHeight) / 2 + bounds.Top;
float upper = (rH - scaledHeight) / 2 + bounds.Top;
float lower = upper + scaledHeight;
rect = new RectangleF(left, upper, rigth - left, lower - upper);
rect = new RectangleF(left, upper, scaledWidth, scaledHeight);
}
public static List<string> ListFiles(string path, string cast, bool recursive = false, bool fullpath = false)
@@ -146,7 +143,9 @@ namespace VocaluxeLib
try
{
// ReSharper disable LoopCanBeConvertedToQuery
foreach (FileInfo file in dir.GetFiles(cast))
// ReSharper restore LoopCanBeConvertedToQuery
files.Add(!fullpath ? file.Name : file.FullName);
if (recursive)
+151
View File
@@ -0,0 +1,151 @@
#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 <http://www.gnu.org/licenses/>.
// */
#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 = "";
/// <summary>
/// Original size (e.g. of bmp)
/// </summary>
public readonly Size OrigSize;
public float OrigAspect
{
get { return (float)OrigSize.Width / OrigSize.Height; }
}
/// <summary>
/// Current size when drawn
/// </summary>
public SRectF Rect;
public SColorF Color = new SColorF(1f, 1f, 1f, 1f);
private int _W2, _H2;
private readonly bool _UseFullTexture;
/// <summary>
/// Internal texture width (on device), a power of 2 if necessary
/// </summary>
public int W2
{
get { return _W2; }
set
{
_W2 = value;
if (_UseFullTexture)
WidthRatio = 1;
else
WidthRatio = (float)OrigSize.Width / _W2;
}
}
/// <summary>
/// Internal texture height (on device), a power of 2 if necessary
/// </summary>
public int H2
{
get { return _H2; }
set
{
_H2 = value;
if (_UseFullTexture)
HeightRatio = 1;
else
HeightRatio = (float)OrigSize.Height / _H2;
}
}
/// <summary>
/// Internal use. Specifies which part of texture memory is actually used
/// </summary>
public float WidthRatio { get; private set; }
/// <summary>
/// Internal use. Specifies which part of texture memory is actually used
/// </summary>
public float HeightRatio { get; private set; }
/// <summary>
/// Actual texture space used in x direction
/// </summary>
public int UsedWidth
{
get { return (int)(_W2 * WidthRatio); }
}
/// <summary>
/// Actual texture space used in y direction
/// </summary>
public int UsedHeight
{
get { return (int)(_H2 * HeightRatio); }
}
/*
/// <summary>
/// Internal use. Specifies if full texture memory should be used
/// Set to true if you resized the original image to the maximum
/// </summary>
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;
}
}
}
*/
/// <summary>
/// Creates a new texture reference
/// </summary>
/// <param name="origWidth">Original width (Bitmap size)</param>
/// <param name="origHeight">Original height (Bitmap size)</param>
/// <param name="texWidth">Width in video memory</param>
/// <param name="texHeight">Height in video memory</param>
/// <param name="useFullTexture">True if it is using the full size of the video memory (no blank parts due to Pow-2-Issue)</param>
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;
}
}
}
+34 -27
View File
@@ -1,27 +1,34 @@
using System;
#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 <http://www.gnu.org/licenses/>.
// */
#endregion
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing;
using System.Linq;
using System.Text;
using VocaluxeLib.Draw;
using VocaluxeLib.Game;
using VocaluxeLib.Menu;
using VocaluxeLib.PartyModes;
using VocaluxeLib.Profile;
using VocaluxeLib.Songs;
namespace VocaluxeLib
{
public interface IMenuParty
{
void SetPartyModeID(int partyModeID);
int GetPartyModeID();
void AssingPartyMode(IPartyMode partyMode);
void DataToScreen(Object data);
}
public interface IConfig
{
void SetBackgroundMusicVolume(int newVolume);
@@ -78,8 +85,8 @@ namespace VocaluxeLib
{
string GetThemeScreensPath(int partyModeID);
int GetSkinIndex(int partyModeID);
STexture GetSkinTexture(string textureName, int partyModeID);
STexture GetSkinVideoTexture(string videoName, int partyModeID);
CTexture GetSkinTexture(string textureName, int partyModeID);
CTexture GetSkinVideoTexture(string videoName, int partyModeID);
void SkinVideoResume(string videoName, int partyModeID);
void SkinVideoPause(string videoName, int partyModeID);
@@ -109,18 +116,18 @@ namespace VocaluxeLib
void ApplyVolume();
STexture GetVideoTexture();
CTexture GetVideoTexture();
}
public interface IDrawing
{
void DrawTexture(STexture texture, SRectF rect);
void DrawTexture(STexture texture, SRectF rect, SColorF color);
void DrawTexture(STexture texture, SRectF rect, SColorF color, SRectF bounds, bool mirrored = false);
void DrawTextureReflection(STexture texture, SRectF rect, SColorF color, SRectF bounds, float reflectionSpace, float reflectionHeight);
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);
STexture AddTexture(string fileName);
void RemoveTexture(ref STexture texture);
CTexture AddTexture(string fileName);
void RemoveTexture(ref CTexture texture);
void DrawColor(SColorF color, SRectF rect);
void DrawColorReflection(SColorF color, SRectF rect, float space, float height);
@@ -225,7 +232,7 @@ namespace VocaluxeLib
{
int Load(string videoFileName);
bool Skip(int videoStream, float startPosition, float videoGap);
bool GetFrame(int videoStream, ref STexture videoTexture, float time, out float videoTime);
bool GetFrame(int videoStream, ref CTexture videoTexture, float time, out float videoTime);
bool IsFinished(int videoStream);
bool Close(int videoStream);
}
@@ -248,12 +255,12 @@ namespace VocaluxeLib
public interface ICover
{
STexture GetNoCover();
CTexture GetNoCover();
}
public interface IDataBase
{
bool GetCover(string fileName, ref STexture texture, int coverSize);
bool GetCover(string fileName, ref CTexture texture, int coverSize);
}
public interface IControllers
@@ -283,4 +290,4 @@ namespace VocaluxeLib
int GetPlaylistSongCount(int playlistID);
CPlaylistSong GetPlaylistSong(int playlistID, int songIndex);
}
}
}
+18 -17
View File
@@ -20,6 +20,7 @@
using System;
using System.Drawing;
using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
@@ -118,7 +119,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Background color for type \"Color\" from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
@@ -139,13 +140,13 @@ namespace VocaluxeLib.Menu
public void Resume()
{
if (_Theme.Type == EBackgroundTypes.Video && _Theme.VideoName != "" && CBase.Config.GetVideoBackgrounds() == EOffOn.TR_CONFIG_ON)
if (_Theme.Type == EBackgroundTypes.Video && !String.IsNullOrEmpty(_Theme.VideoName) && CBase.Config.GetVideoBackgrounds() == EOffOn.TR_CONFIG_ON)
CBase.Theme.SkinVideoResume(_Theme.VideoName, _PartyModeID);
}
public void Pause()
{
if (_Theme.VideoName != "")
if (!String.IsNullOrEmpty(_Theme.VideoName))
CBase.Theme.SkinVideoPause(_Theme.VideoName, _PartyModeID);
}
@@ -165,7 +166,7 @@ namespace VocaluxeLib.Menu
ok = _DrawVideo();
}
if (_Theme.TextureName != "" &&
if (!String.IsNullOrEmpty(_Theme.TextureName) &&
(_Theme.Type == EBackgroundTypes.Texture ||
(_Theme.Type == EBackgroundTypes.Video && (CBase.Config.GetVideoBackgrounds() == EOffOn.TR_CONFIG_OFF || !ok))))
ok = _DrawTexture();
@@ -181,7 +182,7 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
}
@@ -202,12 +203,12 @@ namespace VocaluxeLib.Menu
private bool _DrawTexture()
{
STexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
if (texture.Height > 0)
CTexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
if (texture != null)
{
RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH());
RectangleF rect = new RectangleF(0f, 0f, texture.Width, texture.Height);
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
RectangleF rect;
CHelper.SetRect(bounds, out rect, texture.OrigAspect, EAspect.Crop);
CBase.Drawing.DrawTexture(texture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CBase.Settings.GetZFar() / 4));
return true;
@@ -217,12 +218,12 @@ namespace VocaluxeLib.Menu
private bool _DrawVideo()
{
STexture videoTexture = CBase.Theme.GetSkinVideoTexture(_Theme.VideoName, _PartyModeID);
if (videoTexture.Height > 0)
CTexture videoTexture = CBase.Theme.GetSkinVideoTexture(_Theme.VideoName, _PartyModeID);
if (videoTexture != null)
{
RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH());
RectangleF rect = new RectangleF(0f, 0f, videoTexture.Width, videoTexture.Height);
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
RectangleF rect;
CHelper.SetRect(bounds, out rect, videoTexture.OrigAspect, EAspect.Crop);
CBase.Drawing.DrawTexture(videoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CBase.Settings.GetZFar() / 4));
return true;
@@ -232,12 +233,12 @@ namespace VocaluxeLib.Menu
private bool _DrawBackgroundMusicVideo()
{
STexture videoTexture = CBase.BackgroundMusic.GetVideoTexture();
if (videoTexture.Height > 0)
CTexture videoTexture = CBase.BackgroundMusic.GetVideoTexture();
if (videoTexture != null)
{
RectangleF bounds = new RectangleF(0f, 0f, CBase.Settings.GetRenderW(), CBase.Settings.GetRenderH());
RectangleF rect = new RectangleF(0f, 0f, videoTexture.Width, videoTexture.Height);
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
RectangleF rect;
CHelper.SetRect(bounds, out rect, videoTexture.OrigAspect, EAspect.Crop);
CBase.Drawing.DrawTexture(videoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CBase.Settings.GetZFar() / 4));
return true;
+13 -33
View File
@@ -19,6 +19,7 @@
using System;
using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
@@ -39,8 +40,8 @@ namespace VocaluxeLib.Menu
private bool _ThemeLoaded;
private readonly int _PartyModeID;
public STexture Texture;
public STexture SelTexture;
public CTexture Texture;
public CTexture SelTexture;
public SRectF Rect;
public SColorF Color;
public SColorF SelColor;
@@ -79,8 +80,8 @@ namespace VocaluxeLib.Menu
Text.Selected = value;
}
}
public bool Visible;
public bool Enabled;
public bool Visible = true;
public bool Enabled = true;
public string GetThemeName()
{
@@ -90,28 +91,10 @@ namespace VocaluxeLib.Menu
public CButton(int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = new SThemeButton();
Rect = new SRectF();
Color = new SColorF();
SelColor = new SColorF();
Texture = new STexture(-1);
SelTexture = new STexture(-1);
_IsSelText = false;
Text = new CText(_PartyModeID);
_SelText = new CText(_PartyModeID);
Selected = false;
Visible = true;
EditMode = false;
Enabled = true;
_Reflection = false;
_ReflectionSpace = 0f;
_ReflectionHeight = 0f;
_SelReflection = false;
_SelReflectionSpace = 0f;
_SelReflectionHeight = 0f;
}
public CButton(CButton button)
@@ -131,13 +114,10 @@ namespace VocaluxeLib.Menu
Texture = button.Texture;
SelTexture = button.SelTexture;
_IsSelText = false;
Text = new CText(button.Text);
_SelText = new CText(button._SelText);
Selected = false;
Visible = true;
EditMode = false;
_ThemeLoaded = false;
Enabled = button.Enabled;
_Reflection = button._Reflection;
@@ -241,7 +221,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Button color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
@@ -253,7 +233,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<SColor>: Selected button color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (_Theme.SelColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName);
else
{
@@ -301,11 +281,11 @@ namespace VocaluxeLib.Menu
if (!Visible && CBase.Settings.GetGameState() != EGameState.EditTheme && !forceDraw)
return;
STexture texture;
CTexture texture;
if (!Selected && !Pressed || !Enabled)
{
texture = Texture.Index != -1 ? Texture : CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
texture = Texture ?? CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
CBase.Drawing.DrawTexture(texture, Rect, Color);
@@ -319,7 +299,7 @@ namespace VocaluxeLib.Menu
}
else if (!_IsSelText)
{
texture = Texture.Index != -1 ? Texture : CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
texture = Texture ?? CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
CBase.Drawing.DrawTexture(texture, Rect, SelColor);
@@ -333,7 +313,7 @@ namespace VocaluxeLib.Menu
}
else if (_IsSelText)
{
texture = SelTexture.Index != -1 ? SelTexture : CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
texture = SelTexture ?? CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
CBase.Drawing.DrawTexture(texture, Rect, SelColor);
@@ -361,10 +341,10 @@ namespace VocaluxeLib.Menu
{
Text.LoadTextures();
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.SelColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
}
+4 -4
View File
@@ -175,7 +175,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Equalizer color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
@@ -186,7 +186,7 @@ namespace VocaluxeLib.Menu
}
writer.WriteComment("<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)");
writer.WriteComment("or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)");
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("MaxColor", _Theme.ColorName);
else
{
@@ -274,10 +274,10 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.MaxColorName != "")
if (!String.IsNullOrEmpty(_Theme.MaxColorName))
MaxColor = CBase.Theme.GetColor(_Theme.MaxColorName, _PartyModeID);
}
+4 -4
View File
@@ -172,7 +172,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Lyric text color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
@@ -184,7 +184,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<SColor>: Highlighted lyric color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (_Theme.SelColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName);
else
{
@@ -521,10 +521,10 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
_Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.SelColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorName))
_ColorProcessed = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
}
+3 -2
View File
@@ -24,6 +24,7 @@ using System.IO;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu.SingNotes;
using VocaluxeLib.Menu.SongMenu;
@@ -478,7 +479,7 @@ namespace VocaluxeLib.Menu
return new CStatic(oldStatic);
}
public CStatic GetNewStatic(STexture texture, SColorF color, SRectF rect)
public CStatic GetNewStatic(CTexture texture, SColorF color, SRectF rect)
{
return new CStatic(_PartyModeID, texture, color, rect);
}
@@ -523,7 +524,7 @@ namespace VocaluxeLib.Menu
return new CPlaylist(_PartyModeID);
}
public CParticleEffect GetNewParticleEffect(int maxNumber, SColorF color, SRectF area, STexture texture, float size, EParticleType type)
public CParticleEffect GetNewParticleEffect(int maxNumber, SColorF color, SRectF area, CTexture texture, float size, EParticleType type)
{
return new CParticleEffect(_PartyModeID, maxNumber, color, area, texture, size, type);
}
+9 -10
View File
@@ -21,7 +21,7 @@ using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Xml;
using VocaluxeLib.Draw;
using VocaluxeLib.Profile;
namespace VocaluxeLib.Menu
@@ -71,8 +71,8 @@ namespace VocaluxeLib.Menu
public SRectF Rect;
private readonly List<CTile> _Tiles;
private STexture _TextureEmptyTile;
private STexture _TextureTileSelected;
private CTexture _TextureEmptyTile;
private CTexture _TextureTileSelected;
public SColorF ColorEmptyTile;
@@ -194,7 +194,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<ColorEmptyTile>: Static color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorEmptyTileName != "")
if (!String.IsNullOrEmpty(_Theme.ColorEmptyTileName))
writer.WriteElementString("ColorEmptyTile", _Theme.ColorEmptyTileName);
else
{
@@ -225,7 +225,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Font>: Text font name");
writer.WriteElementString("Font", _Theme.NameFont);
writer.WriteComment("<Color>: Text color from ColorScheme (high priority)");
if (_Theme.NameColorName != "")
if (!String.IsNullOrEmpty(_Theme.NameColorName))
writer.WriteElementString("Color", _Theme.NameColorName);
else
{
@@ -350,7 +350,7 @@ namespace VocaluxeLib.Menu
public void HandleMouse(SMouseEvent mevent)
{
for (int i = 0; i < _Tiles.Count; i++ )
for (int i = 0; i < _Tiles.Count; i++)
{
if (CHelper.IsInBounds(_Tiles[i].Avatar.Rect, mevent))
{
@@ -465,10 +465,10 @@ namespace VocaluxeLib.Menu
_TextureEmptyTile = CBase.Theme.GetSkinTexture(_Theme.TextureEmptyTileName, _PartyModeID);
_TextureTileSelected = CBase.Theme.GetSkinTexture(_Theme.TextureTileSelectedName, _PartyModeID);
if (_Theme.ColorEmptyTileName != "")
if (!String.IsNullOrEmpty(_Theme.ColorEmptyTileName))
ColorEmptyTile = CBase.Theme.GetColor(_Theme.ColorEmptyTileName, _PartyModeID);
if (_Theme.NameColorName != "")
if (!String.IsNullOrEmpty(_Theme.NameColorName))
_Theme.NameColor = CBase.Theme.GetColor(_Theme.NameColorName, _PartyModeID);
}
@@ -488,8 +488,7 @@ namespace VocaluxeLib.Menu
for (int j = 0; j < _NumW; j++)
{
SRectF rect = new SRectF(Rect.X + j * (_TileW + _SpaceW), Rect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, Rect.Z);
CStatic tileStatic = new CStatic(_PartyModeID, _TextureEmptyTile, ColorEmptyTile, rect);
tileStatic.Aspect = EAspect.Crop;
CStatic tileStatic = new CStatic(_PartyModeID, _TextureEmptyTile, ColorEmptyTile, rect) {Aspect = EAspect.Crop};
CText tileText = new CText(rect.X + rect.W / 2, rect.Y + rect.H + _Theme.NameSpace, rect.Z, _Theme.NameHeight, rect.W, EAlignment.Center, _Theme.NameStyle,
_Theme.NameFont, _Theme.NameColor, "");
_Tiles.Add(new CTile(tileStatic, tileText, -1));
+13 -24
View File
@@ -21,6 +21,7 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
@@ -45,11 +46,11 @@ namespace VocaluxeLib.Menu
#region private vars
private readonly int _PartyModeID;
private readonly string _TextureName;
private readonly STexture _Texture;
private readonly CTexture _Texture;
private SRectF _Rect;
private float _Size;
private SColorF _Color;
private float _Alpha;
private float _Alpha = 1;
private float _Angle; //0..360°
private readonly float _MaxAge; //[s]
private float _Age; //[s]
@@ -61,7 +62,7 @@ namespace VocaluxeLib.Menu
private float _LastTime;
private readonly EParticleType _Type;
private readonly Stopwatch _Timer;
private readonly Stopwatch _Timer = new Stopwatch();
#endregion private vars
#region public vars
@@ -115,26 +116,20 @@ namespace VocaluxeLib.Menu
{
_PartyModeID = partyModeID;
_TextureName = textureName;
_Texture = new STexture(-1);
_Color = color;
_Rect = new SRectF(x, y, size, size, z);
_Size = size;
_Alpha = 1f;
_Angle = 0f;
_Vx = vx;
_Vy = vy;
_Vr = vr;
_Vsize = vsize;
_LastTime = 0f;
_Type = type;
_Timer = new Stopwatch();
_Age = 0f;
_MaxAge = maxage;
_Rotation = (float)(CBase.Game.GetRandomDouble() * 360.0);
}
public CParticle(int partyModeID, STexture texture, SColorF color, float x, float y, float size, float maxage, float z, float vx, float vy, float vr, float vsize,
public CParticle(int partyModeID, CTexture texture, SColorF color, float x, float y, float size, float maxage, float z, float vx, float vy, float vr, float vsize,
EParticleType type)
{
_PartyModeID = partyModeID;
@@ -143,17 +138,12 @@ namespace VocaluxeLib.Menu
_Color = color;
_Rect = new SRectF(x, y, size, size, z);
_Size = size;
_Alpha = 1f;
_Angle = 0f;
_Vx = vx;
_Vy = vy;
_Vr = vr;
_Vsize = vsize;
_LastTime = 0f;
_Type = type;
_Timer = new Stopwatch();
_Age = 0f;
_MaxAge = maxage;
_Rotation = (float)(CBase.Game.GetRandomDouble() * 360.0);
}
@@ -298,7 +288,7 @@ namespace VocaluxeLib.Menu
public void Draw()
{
// ReSharper disable ConvertIfStatementToConditionalTernaryExpression
if (_TextureName != "")
if (!String.IsNullOrEmpty(_TextureName))
// ReSharper restore ConvertIfStatementToConditionalTernaryExpression
CBase.Drawing.DrawTexture(CBase.Theme.GetSkinTexture(_TextureName, _PartyModeID), _Rect, new SColorF(_Color.R, _Color.G, _Color.B, _Color.A * Alpha2 * _Alpha));
else
@@ -312,7 +302,7 @@ namespace VocaluxeLib.Menu
private SThemeParticleEffect _Theme;
private bool _ThemeLoaded;
public STexture Texture;
public CTexture Texture;
public SColorF Color;
public SRectF Rect;
@@ -356,7 +346,6 @@ namespace VocaluxeLib.Menu
Rect = rect;
Color = color;
_Theme.TextureName = textureName;
Texture = new STexture(-1);
_MaxNumber = maxNumber;
_Size = size;
_Type = type;
@@ -365,7 +354,7 @@ namespace VocaluxeLib.Menu
Visible = true;
}
public CParticleEffect(int partyModeID, int maxNumber, SColorF color, SRectF rect, STexture texture, float size, EParticleType type)
public CParticleEffect(int partyModeID, int maxNumber, SColorF color, SRectF rect, CTexture texture, float size, EParticleType type)
{
_PartyModeID = partyModeID;
_Theme = new SThemeParticleEffect();
@@ -435,7 +424,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: ParticleEffect color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
@@ -546,7 +535,7 @@ namespace VocaluxeLib.Menu
h = 0;
CParticle star;
if (_Theme.TextureName != "")
if (!String.IsNullOrEmpty(_Theme.TextureName))
{
star = new CParticle(_PartyModeID, _Theme.TextureName, Color,
CBase.Game.GetRandom(w) + Rect.X - size / 4f,
@@ -602,14 +591,14 @@ namespace VocaluxeLib.Menu
public void UnloadTextures()
{
Texture = new STexture();
Texture = null;
}
public void LoadTextures()
{
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.TextureName != "")
if (!String.IsNullOrEmpty(_Theme.TextureName))
Texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
}
+5 -6
View File
@@ -21,7 +21,6 @@ using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Xml;
using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.Songs;
namespace VocaluxeLib.Menu
@@ -373,7 +372,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<ColorBackground>: Button color from ColorScheme (high priority)");
writer.WriteComment("or <BackgroundR>, <BackgroundG>, <BackgroundB>, <BackgroundA> (lower priority)");
if (_Theme.ColorBackgroundName != "")
if (!String.IsNullOrEmpty(_Theme.ColorBackgroundName))
writer.WriteElementString("ColorBackground", _Theme.ColorBackgroundName);
else
{
@@ -385,7 +384,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<SColorBackground>: Selected paylist-entry color from ColorScheme (high priority)");
writer.WriteComment("or <SBackgroundR>, <SBackgroundG>, <SBackgroundB>, <SBackgroundA> (lower priority)");
if (_Theme.SelColorBackgroundName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorBackgroundName))
writer.WriteElementString("SColorBackground", _Theme.SelColorBackgroundName);
else
{
@@ -464,10 +463,10 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (_Theme.ColorBackgroundName != "")
if (!String.IsNullOrEmpty(_Theme.ColorBackgroundName))
BackgroundColor = CBase.Theme.GetColor(_Theme.ColorBackgroundName, _PartyModeID);
if (_Theme.SelColorBackgroundName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorBackgroundName))
BackgroundSelColor = CBase.Theme.GetColor(_Theme.SelColorBackgroundName, _PartyModeID);
_Theme.Text1.LoadTextures();
@@ -518,7 +517,7 @@ namespace VocaluxeLib.Menu
break;
case Keys.Delete:
case Keys.Back:
if (_Theme.ButtonPlaylistName.Text.Text != "")
if (!String.IsNullOrEmpty(_Theme.ButtonPlaylistName.Text.Text))
_Theme.ButtonPlaylistName.Text.Text = _Theme.ButtonPlaylistName.Text.Text.Remove(_Theme.ButtonPlaylistName.Text.Text.Length - 1);
break;
}
+2 -1
View File
@@ -19,6 +19,7 @@
using System;
using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
@@ -127,7 +128,7 @@ namespace VocaluxeLib.Menu
}
}
private STexture _GetTextureValue(string value)
private CTexture _GetTextureValue(string value)
{
return CBase.Theme.GetSkinTexture(value, _PartyModeID);
}
+32 -36
View File
@@ -21,6 +21,7 @@ using System;
using System.Collections.Generic;
using System.Drawing;
using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
@@ -110,7 +111,7 @@ namespace VocaluxeLib.Menu
private readonly List<string> _ValueNames;
private readonly List<int> _ValuePartyModeIDs;
private readonly List<STexture> _Textures;
private readonly List<CTexture> _Textures;
private readonly List<int> _ValueIndexes;
private readonly List<SRectF> _ValueBounds = new List<SRectF>();
@@ -178,7 +179,7 @@ namespace VocaluxeLib.Menu
MaxW = 0f;
_Selected = false;
_Textures = new List<STexture>();
_Textures = new List<CTexture>();
_ValueIndexes = new List<int>();
_ValueNames = new List<string>();
_ValuePartyModeIDs = new List<int>();
@@ -226,7 +227,7 @@ namespace VocaluxeLib.Menu
MaxW = slide.MaxW;
_Selected = slide._Selected;
_Textures = new List<STexture>(slide._Textures);
_Textures = new List<CTexture>(slide._Textures);
_ValueIndexes = new List<int>(slide._ValueIndexes);
_ValueNames = new List<string>(slide._ValueNames);
_ValueBounds = new List<SRectF>(slide._ValueBounds);
@@ -411,7 +412,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: SelectSlide color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
@@ -423,7 +424,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<SColor>: Selected SelectSlide color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (_Theme.SelColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName);
else
{
@@ -435,7 +436,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)");
writer.WriteComment("or <HR>, <HG>, <HB>, <HA> (lower priority)");
if (_Theme.HighlightColorName != "")
if (!String.IsNullOrEmpty(_Theme.HighlightColorName))
writer.WriteElementString("HColor", _Theme.HighlightColorName);
else
{
@@ -447,7 +448,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<ArrowColor>: Arrow color from ColorScheme (high priority)");
writer.WriteComment("or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)");
if (_Theme.ArrowColorName != "")
if (!String.IsNullOrEmpty(_Theme.ArrowColorName))
writer.WriteElementString("ArrowColor", _Theme.ArrowColorName);
else
{
@@ -459,7 +460,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<ArrowSColor>: Selected arrow color from ColorScheme (high priority)");
writer.WriteComment("or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)");
if (_Theme.SelArrowColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelArrowColorName))
writer.WriteElementString("ArrowSColor", _Theme.SelArrowColorName);
else
{
@@ -471,7 +472,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<TextColor>: Text color from ColorScheme (high priority)");
writer.WriteComment("or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)");
if (_Theme.TextColorName != "")
if (!String.IsNullOrEmpty(_Theme.TextColorName))
writer.WriteElementString("TextColor", _Theme.TextColorName);
else
{
@@ -483,7 +484,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<TextSColor>: Selected text color from ColorScheme (high priority)");
writer.WriteComment("or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)");
if (_Theme.SelTextColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelTextColorName))
writer.WriteElementString("TextSColor", _Theme.SelTextColorName);
else
{
@@ -530,20 +531,20 @@ namespace VocaluxeLib.Menu
public void AddValue(string value, int partyModeID)
{
AddValue(value, new STexture(-1), _ValueIndexes.Count, partyModeID);
AddValue(value, null, _ValueIndexes.Count, partyModeID);
}
public void AddValue(string value, STexture texture)
public void AddValue(string value, CTexture texture)
{
AddValue(value, texture, _ValueIndexes.Count, _PartyModeID);
}
private void _AddValue(string value, STexture texture, int valueIndex)
private void _AddValue(string value, CTexture texture, int valueIndex)
{
AddValue(value, texture, valueIndex, _PartyModeID);
}
public void AddValue(string value, STexture texture, int valueIndex, int partyModeID)
public void AddValue(string value, CTexture texture, int valueIndex, int partyModeID)
{
_ValueNames.Add(value);
_Textures.Add(texture);
@@ -559,12 +560,12 @@ namespace VocaluxeLib.Menu
public void AddValues(IEnumerable<string> values)
{
foreach (string value in values)
_AddValue(value, new STexture(-1), _PartyModeID);
_AddValue(value, null, _PartyModeID);
_ValueBounds.Clear();
}
public void AddValues(string[] values, STexture[] textures)
public void AddValues(string[] values, CTexture[] textures)
{
if (values.Length != textures.Length)
return;
@@ -588,12 +589,7 @@ namespace VocaluxeLib.Menu
RenameValue(Selection, newName);
}
public void RenameValue(int selection, string newName)
{
RenameValue(selection, newName, new STexture(-1));
}
public void RenameValue(int selection, string newName, STexture newTexture)
public void RenameValue(int selection, string newName, CTexture newTexture = null)
{
if (selection < 0 && selection >= _ValueNames.Count)
return;
@@ -696,15 +692,15 @@ namespace VocaluxeLib.Menu
if (!Visible && CBase.Settings.GetGameState() != EGameState.EditTheme)
return;
STexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
STexture textureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.TextureArrowLeftName, _PartyModeID);
STexture textureArrowRight = CBase.Theme.GetSkinTexture(_Theme.TextureArrowRightName, _PartyModeID);
CTexture texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
CTexture textureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.TextureArrowLeftName, _PartyModeID);
CTexture textureArrowRight = CBase.Theme.GetSkinTexture(_Theme.TextureArrowRightName, _PartyModeID);
STexture selTexture = CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
STexture selTextureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowLeftName, _PartyModeID);
STexture selTextureArrowRight = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowRightName, _PartyModeID);
CTexture selTexture = CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
CTexture selTextureArrowLeft = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowLeftName, _PartyModeID);
CTexture selTextureArrowRight = CBase.Theme.GetSkinTexture(_Theme.SelTextureArrowRightName, _PartyModeID);
STexture highlightTexture = CBase.Theme.GetSkinTexture(_Theme.HighlightTextureName, _PartyModeID);
CTexture highlightTexture = CBase.Theme.GetSkinTexture(_Theme.HighlightTextureName, _PartyModeID);
if (Selected)
{
@@ -791,25 +787,25 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.SelColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
if (_Theme.HighlightColorName != "")
if (!String.IsNullOrEmpty(_Theme.HighlightColorName))
HighlightColor = CBase.Theme.GetColor(_Theme.HighlightColorName, _PartyModeID);
if (_Theme.ArrowColorName != "")
if (!String.IsNullOrEmpty(_Theme.ArrowColorName))
ColorArrow = CBase.Theme.GetColor(_Theme.ArrowColorName, _PartyModeID);
if (_Theme.SelArrowColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelArrowColorName))
SelColorArrow = CBase.Theme.GetColor(_Theme.SelArrowColorName, _PartyModeID);
if (_Theme.TextColorName != "")
if (!String.IsNullOrEmpty(_Theme.TextColorName))
TextColor = CBase.Theme.GetColor(_Theme.TextColorName, _PartyModeID);
if (_Theme.SelColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelTextColor = CBase.Theme.GetColor(_Theme.SelTextColorName, _PartyModeID);
}
+12 -45
View File
@@ -20,6 +20,7 @@
using System;
using System.Drawing;
using System.Xml;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
@@ -42,10 +43,10 @@ namespace VocaluxeLib.Menu
return _Theme.Name;
}
private STexture _Texture;
public STexture Texture
private CTexture _Texture;
public CTexture Texture
{
get { return _Texture.Index != -1 ? _Texture : CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID); }
get { return _Texture ?? CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID); }
set { _Texture = value; }
}
@@ -58,35 +59,20 @@ namespace VocaluxeLib.Menu
public float ReflectionHeight;
public bool Selected;
public bool Visible;
public bool Visible = true;
public float Alpha;
public float Alpha = 1;
public EAspect Aspect = EAspect.Stretch;
public CStatic(int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = new SThemeStatic();
_ThemeLoaded = false;
_Texture = new STexture(-1);
Color = new SColorF();
Rect = new SRectF();
Reflection = false;
ReflectionSpace = 0f;
ReflectionHeight = 0f;
Selected = false;
Alpha = 1f;
Visible = true;
}
public CStatic(CStatic s)
{
_PartyModeID = s._PartyModeID;
_Theme = new SThemeStatic();
_ThemeLoaded = false;
_Texture = s.Texture;
Color = new SColorF(s.Color);
@@ -100,40 +86,21 @@ namespace VocaluxeLib.Menu
Visible = s.Visible;
}
public CStatic(int partyModeID, STexture texture, SColorF color, SRectF rect)
public CStatic(int partyModeID, CTexture texture, SColorF color, SRectF rect)
{
_PartyModeID = partyModeID;
_Theme = new SThemeStatic();
_ThemeLoaded = false;
_Texture = texture;
Color = color;
Rect = rect;
Reflection = false;
ReflectionSpace = 0f;
ReflectionHeight = 0f;
Selected = false;
Alpha = 1f;
Visible = true;
}
public CStatic(int partyModeID, string textureSkinName, SColorF color, SRectF rect)
{
_PartyModeID = partyModeID;
_Theme = new SThemeStatic {TextureName = textureSkinName};
_ThemeLoaded = false;
_Texture = new STexture(-1);
_Theme.TextureName = textureSkinName;
Color = color;
Rect = rect;
Reflection = false;
ReflectionSpace = 0f;
ReflectionHeight = 0f;
Selected = false;
Alpha = 1f;
Visible = true;
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
@@ -194,7 +161,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Static color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
@@ -238,7 +205,7 @@ namespace VocaluxeLib.Menu
public void Draw(float scale, float z, EAspect aspect, bool forceDraw = false)
{
STexture texture = _Texture.Index != -1 ? _Texture : CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
CTexture texture = Texture;
SRectF bounds = new SRectF(
Rect.X - Rect.W * (scale - 1f),
@@ -253,7 +220,7 @@ namespace VocaluxeLib.Menu
{
RectangleF bounds2 = new RectangleF(bounds.X, bounds.Y, bounds.W, bounds.H);
RectangleF rect2;
CHelper.SetRect(bounds2, out rect2, texture.Width / texture.Height, aspect);
CHelper.SetRect(bounds2, out rect2, texture.OrigAspect, aspect);
rect.X = rect2.X;
rect.Y = rect2.Y;
@@ -277,7 +244,7 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
}
+7 -7
View File
@@ -169,7 +169,7 @@ namespace VocaluxeLib.Menu
}
/// <summary>
/// Do NOT read/write this anywhere but in _UpdateTextPosition!
/// Do NOT read/write this anywhere but in _UpdateTextPosition!
/// </summary>
private SRectF _Rect;
public SRectF Rect
@@ -396,7 +396,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<Color>: Text color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
@@ -408,7 +408,7 @@ namespace VocaluxeLib.Menu
writer.WriteComment("<SColor>: Selected Text color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (_Theme.SelColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName);
else
{
@@ -499,8 +499,8 @@ namespace VocaluxeLib.Menu
public void DrawRelative(float rx, float ry, float reflectionHeight = 0f, float reflectionSpace = 0f, float rectHeight = 0f)
{
var oldReflectionSpace = ReflectionSpace;
var oldReflectionHeight = ReflectionHeight;
float oldReflectionSpace = ReflectionSpace;
float oldReflectionHeight = ReflectionHeight;
if (reflectionHeight > 0)
{
ReflectionSpace = (rectHeight - Rect.Y - Rect.H) * 2 + reflectionSpace;
@@ -521,10 +521,10 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.SelColorName != "")
if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
}
-11
View File
@@ -17,17 +17,6 @@
// */
#endregion
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing;
using VocaluxeLib;
using VocaluxeLib.Game;
using VocaluxeLib.Menu.SongMenu;
using VocaluxeLib.PartyModes;
using VocaluxeLib.Profile;
using VocaluxeLib.Songs;
namespace VocaluxeLib.Menu
{
public interface IMenu
+26 -36
View File
@@ -21,7 +21,7 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Xml;
using VocaluxeLib.Draw;
using VocaluxeLib.Songs;
namespace VocaluxeLib.Menu.SingNotes
@@ -386,9 +386,7 @@ namespace VocaluxeLib.Menu.SingNotes
_PlayerNotes[n].Rect.Z
);
float f = 0.7f;
if (!note.Hit)
f = 0.4f;
float f = (note.Hit) ? 0.7f : 0.4f;
_DrawNote(rect, color, f);
@@ -471,39 +469,31 @@ namespace VocaluxeLib.Menu.SingNotes
private void _DrawNote(SRectF rect, SColorF color, float factor = 1f)
{
const int spacing = 0;
if (factor <= 0)
return;
float d = (1f - factor) / 2 * rect.H;
float dw = d;
float dh = (1f - factor) * rect.H / 2;
float dw = Math.Min(dh, rect.W / 2);
if (2 * dw > rect.W)
dw = rect.W / 2;
SRectF noteRect = new SRectF(rect.X + dw, rect.Y + dh, rect.W - 2 * dw, rect.H - 2 * dh, rect.Z);
SRectF r = new SRectF(
rect.X + dw + spacing,
rect.Y + d + spacing,
rect.W - 2 * dw - 2 * spacing,
rect.H - 2 * d - 2 * spacing,
rect.Z
);
CTexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID);
CTexture noteMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinMiddleName, _PartyModeID);
CTexture noteEnd = CBase.Theme.GetSkinTexture(_Theme.SkinRightName, _PartyModeID);
STexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID);
STexture noteMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinMiddleName, _PartyModeID);
STexture noteEnd = CBase.Theme.GetSkinTexture(_Theme.SkinRightName, _PartyModeID);
//Width of each of the ends (round parts)
//Need 2 of them so use minimum
float endsW = Math.Min(noteRect.H * noteBegin.OrigAspect, noteRect.W / 2);
float dx = noteBegin.Width * r.H / noteBegin.Height;
if (2 * dx > r.W)
dx = r.W / 2;
CBase.Drawing.DrawTexture(noteBegin, new SRectF(noteRect.X, noteRect.Y, endsW, noteRect.H, noteRect.Z), color);
CBase.Drawing.DrawTexture(noteBegin, new SRectF(r.X, r.Y, dx, r.H, r.Z), color);
if (r.W - 2 * dx >= 2 * dx)
CBase.Drawing.DrawTexture(noteMiddle, new SRectF(r.X + dx, r.Y, r.W - 2 * dx, r.H, r.Z), color);
SRectF middleRect = new SRectF(noteRect.X + endsW, noteRect.Y, noteRect.W - 2 * endsW, noteRect.H, noteRect.Z);
if (noteRect.W >= 4 * endsW)
CBase.Drawing.DrawTexture(noteMiddle, middleRect, color);
else
CBase.Drawing.DrawTexture(noteMiddle, new SRectF(r.X + dx, r.Y, 2 * dx, r.H, r.Z), color, new SRectF(r.X + dx, r.Y, r.W - 2 * dx, r.H, r.Z));
CBase.Drawing.DrawTexture(noteMiddle, new SRectF(middleRect.X, middleRect.Y, 2 * endsW, middleRect.H, middleRect.Z), color, middleRect);
CBase.Drawing.DrawTexture(noteEnd, new SRectF(r.X + r.W - dx, r.Y, dx, r.H, r.Z), color);
CBase.Drawing.DrawTexture(noteEnd, new SRectF(noteRect.X + noteRect.W - endsW, noteRect.Y, endsW, noteRect.H, noteRect.Z), color);
}
private void _DrawNoteBG(SRectF rect, SColorF color, float factor, Stopwatch timer)
@@ -534,11 +524,11 @@ namespace VocaluxeLib.Menu.SingNotes
rect.Z
);
STexture noteBackgroundBegin = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundLeftName, _PartyModeID);
STexture noteBackgroundMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundMiddleName, _PartyModeID);
STexture noteBackgroundEnd = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundRightName, _PartyModeID);
CTexture noteBackgroundBegin = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundLeftName, _PartyModeID);
CTexture noteBackgroundMiddle = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundMiddleName, _PartyModeID);
CTexture noteBackgroundEnd = CBase.Theme.GetSkinTexture(_Theme.SkinBackgroundRightName, _PartyModeID);
float dx = noteBackgroundBegin.Width * r.H / noteBackgroundBegin.Height;
float dx = r.H * noteBackgroundBegin.OrigAspect;
if (2 * dx > r.W)
dx = r.W / 2;
@@ -629,8 +619,8 @@ namespace VocaluxeLib.Menu.SingNotes
rect.Z
);
STexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID);
float dx = noteBegin.Width * r.H / noteBegin.Height;
CTexture noteBegin = CBase.Theme.GetSkinTexture(_Theme.SkinLeftName, _PartyModeID);
float dx = r.H * noteBegin.OrigAspect;
if (2 * dx > r.W)
dx = r.W / 2;
@@ -686,7 +676,7 @@ namespace VocaluxeLib.Menu.SingNotes
_PlayerNotes[n].Color.B,
_PlayerNotes[n].Color.A * _PlayerNotes[n].Alpha);
STexture toneHelper = CBase.Theme.GetSkinTexture(_Theme.SkinToneHelperName, _PartyModeID);
CTexture toneHelper = CBase.Theme.GetSkinTexture(_Theme.SkinToneHelperName, _PartyModeID);
CBase.Drawing.DrawTexture(toneHelper, drawRect, color);
+17 -14
View File
@@ -22,6 +22,7 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Xml;
using VocaluxeLib.Draw;
using VocaluxeLib.PartyModes;
namespace VocaluxeLib.Menu.SongMenu
@@ -104,7 +105,7 @@ namespace VocaluxeLib.Menu.SongMenu
private readonly List<int> _Streams = new List<int>();
private int _Actsong = -1;
private int _Actsongstream = -1;
protected STexture _Vidtex = new STexture(-1);
protected CTexture _Vidtex;
protected bool _Initialized;
protected int _LastKnownNumSongs;
@@ -351,7 +352,7 @@ namespace VocaluxeLib.Menu.SongMenu
writer.WriteComment("<Color>: Tile color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
@@ -438,19 +439,21 @@ namespace VocaluxeLib.Menu.SongMenu
if (_Actsong != _PreviewSelected)
_SelectSong(_PreviewSelected);
if (_Streams.Count > 0 && _Video != -1)
if (_Streams.Count <= 0 || _Video == -1)
return;
if (CBase.Video.IsFinished(_Video) || CBase.Sound.IsFinished(_Actsongstream))
{
if (CBase.Video.IsFinished(_Video) || CBase.Sound.IsFinished(_Actsongstream))
{
CBase.Video.Close(_Video);
_Video = -1;
return;
}
CBase.Video.Close(_Video);
_Video = -1;
return;
}
float time = CBase.Sound.GetPosition(_Actsongstream);
float time = CBase.Sound.GetPosition(_Actsongstream);
float vtime;
CBase.Video.GetFrame(_Video, ref _Vidtex, time, out vtime);
float vtime;
if (CBase.Video.GetFrame(_Video, ref _Vidtex, time, out vtime))
{
if (_VideoFadeTimer.ElapsedMilliseconds <= 3000L)
_Vidtex.Color.A = _VideoFadeTimer.ElapsedMilliseconds / 3000f;
else
@@ -464,7 +467,7 @@ namespace VocaluxeLib.Menu.SongMenu
public virtual void OnShow()
{
_Actsongstream = -1;
_Vidtex = new STexture(-1);
_Vidtex = null;
}
public virtual void OnHide()
@@ -546,7 +549,7 @@ namespace VocaluxeLib.Menu.SongMenu
{
Init();
if (_Theme.ColorName != "")
if (!String.IsNullOrEmpty(_Theme.ColorName))
_Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
}
+10 -10
View File
@@ -22,6 +22,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using VocaluxeLib.Draw;
using VocaluxeLib.PartyModes;
using VocaluxeLib.Songs;
@@ -38,8 +39,8 @@ namespace VocaluxeLib.Menu.SongMenu
private CStatic _MedleyCalcIcon;
private CStatic _MedleyTagIcon;
private STexture _CoverBigTexture;
private STexture _CoverTexture;
private CTexture _CoverBigTexture;
private CTexture _CoverTexture;
private CText _Artist;
private CText _Title;
@@ -323,7 +324,7 @@ namespace VocaluxeLib.Menu.SongMenu
{
foreach (CStatic tile in _Tiles)
{
if ((tile.Texture.Index != _CoverTexture.Index) && CHelper.IsInBounds(tile.Rect, mouseEvent) && !sel)
if (tile.Texture != _CoverTexture && CHelper.IsInBounds(tile.Rect, mouseEvent) && !sel)
{
if (mouseEvent.LB || !CBase.Songs.IsInCategory())
{
@@ -371,7 +372,7 @@ namespace VocaluxeLib.Menu.SongMenu
{
foreach (CStatic tile in _Tiles)
{
if ((tile.Texture.Index != _CoverTexture.Index) && CHelper.IsInBounds(tile.Rect, mouseEvent))
if (tile.Texture != _CoverTexture && CHelper.IsInBounds(tile.Rect, mouseEvent))
{
_EnterCategory(_PreviewSelected);
mouseEvent.Handled = true;
@@ -394,7 +395,7 @@ namespace VocaluxeLib.Menu.SongMenu
else
{
// ReSharper disable ConvertIfStatementToConditionalTernaryExpression
if (tile.Texture.Index != _CoverTexture.Index)
if (tile.Texture != _CoverTexture)
// ReSharper restore ConvertIfStatementToConditionalTernaryExpression
tile.Draw(1f, tile.Rect.Z, EAspect.Crop);
else
@@ -453,18 +454,17 @@ namespace VocaluxeLib.Menu.SongMenu
_TextBG.Draw();
if (_Vidtex.Index != -1 && _Video != -1)
if (_Vidtex != null && _Video != -1)
{
if (_Vidtex.Color.A < 1)
_CoverBig.Draw(1f, EAspect.Crop);
RectangleF bounds = new RectangleF(_CoverBig.Rect.X, _CoverBig.Rect.Y, _CoverBig.Rect.W, _CoverBig.Rect.H);
RectangleF rect = new RectangleF(0f, 0f, _Vidtex.Width, _Vidtex.Height);
CHelper.SetRect(bounds, out rect, rect.Width / rect.Height, EAspect.Crop);
RectangleF rect;
CHelper.SetRect(bounds, out rect, _Vidtex.OrigAspect, EAspect.Crop);
SRectF vidRect = new SRectF(rect.X, rect.Y, rect.Width, rect.Height, _CoverBig.Rect.Z);
SRectF vidRectBounds = new SRectF(bounds.X, bounds.Y, bounds.Width, bounds.Height, 0f);
CBase.Drawing.DrawTexture(_Vidtex, vidRect, _Vidtex.Color, vidRectBounds, false);
CBase.Drawing.DrawTexture(_Vidtex, vidRect, _Vidtex.Color, vidRectBounds);
CBase.Drawing.DrawTextureReflection(_Vidtex, vidRect, _Vidtex.Color, vidRectBounds, _CoverBig.ReflectionSpace, _CoverBig.ReflectionHeight);
}
else
+11
View File
@@ -25,6 +25,7 @@ namespace VocaluxeLib.PartyModes
{
public abstract class CPartyMode : IPartyMode
{
protected string _Folder;
protected SScreenSongOptions _ScreenSongOptions;
protected readonly Dictionary<string, CMenuParty> _Screens;
@@ -101,6 +102,16 @@ namespace VocaluxeLib.PartyModes
return 1;
}
public string GetFolder()
{
return _Folder;
}
public void SetFolder(string folder)
{
_Folder = folder;
}
public virtual void SetSearchString(string searchString, bool visible) {}
public virtual void JokerUsed(int teamNr)
-1
View File
@@ -18,7 +18,6 @@
#endregion
using System;
using VocaluxeLib.Menu;
namespace VocaluxeLib.PartyModes
{
+2
View File
@@ -104,6 +104,8 @@ namespace VocaluxeLib.PartyModes
int GetMaxTeams();
int GetMinTeams();
int GetMaxNumRounds();
string GetFolder();
void SetFolder(string folder);
void SetSearchString(string searchString, bool visible);
+29 -20
View File
@@ -1,40 +1,49 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#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 <http://www.gnu.org/licenses/>.
// */
#endregion
using VocaluxeLib.Menu;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Profile
{
public class CAvatar
{
public int ID;
public string FileName;
public STexture Texture;
public string FileName = "";
public CTexture Texture;
public CAvatar(int ID)
public CAvatar(int id)
{
this.ID = ID;
FileName = String.Empty;
Texture = new STexture(-1);
ID = id;
}
public bool LoadFromFile(string NewFileName)
public bool LoadFromFile(string fileName)
{
FileName = NewFileName;
CBase.Drawing.RemoveTexture(ref Texture);
Texture = CBase.Drawing.AddTexture(FileName);
return (Texture.Index != -1);
FileName = fileName;
return Reload();
}
public bool Reload()
{
STexture oldTexture = Texture;
CBase.Drawing.RemoveTexture(ref Texture);
Texture = CBase.Drawing.AddTexture(FileName);
CBase.Drawing.RemoveTexture(ref oldTexture);
return Texture.Index != -1;
return Texture != null;
}
public void Unload()
@@ -42,4 +51,4 @@ namespace VocaluxeLib.Profile
CBase.Drawing.RemoveTexture(ref Texture);
}
}
}
}
+28 -9
View File
@@ -1,7 +1,24 @@
using System;
using System.Collections.Generic;
#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 <http://www.gnu.org/licenses/>.
// */
#endregion
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
@@ -9,15 +26,15 @@ namespace VocaluxeLib.Profile
{
public class CProfile
{
private static readonly XmlWriterSettings _Settings = new XmlWriterSettings()
{
private static readonly XmlWriterSettings _Settings = new XmlWriterSettings
{
Indent = true,
Encoding = Encoding.UTF8,
ConformanceLevel = ConformanceLevel.Document
};
public int ID;
public string PlayerName;
public string FileName;
public string AvatarFileName;
@@ -55,9 +72,9 @@ namespace VocaluxeLib.Profile
return LoadProfile(FileName);
}
public bool LoadProfile(string NewFileName)
public bool LoadProfile(string fileName)
{
FileName = NewFileName;
FileName = fileName;
CXMLReader xmlReader = CXMLReader.OpenFile(FileName);
if (xmlReader == null)
@@ -85,7 +102,9 @@ namespace VocaluxeLib.Profile
if (FileName == String.Empty)
{
string filename = string.Empty;
// ReSharper disable LoopCanBeConvertedToQuery
foreach (char chr in PlayerName)
// ReSharper restore LoopCanBeConvertedToQuery
{
if (char.IsLetter(chr))
filename += chr.ToString();
@@ -142,4 +161,4 @@ namespace VocaluxeLib.Profile
}
}
}
}
}
+8 -10
View File
@@ -18,16 +18,15 @@
#endregion
using System.Collections.Generic;
using VocaluxeLib;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Songs
{
public class CCategory
{
public readonly string Name;
private STexture _CoverTextureSmall = new STexture(-1);
private STexture _CoverTextureBig = new STexture(-1);
private bool _CoverBigLoaded;
private CTexture _CoverTextureSmall;
private CTexture _CoverTextureBig;
public readonly List<CSongPointer> Songs = new List<CSongPointer>();
public CCategory(string name)
@@ -35,26 +34,25 @@ namespace VocaluxeLib.Songs
Name = name;
}
public STexture CoverTextureSmall
public CTexture CoverTextureSmall
{
get { return _CoverTextureSmall; }
set { _CoverTextureSmall = value; }
}
public STexture CoverTextureBig
public CTexture CoverTextureBig
{
get { return _CoverBigLoaded ? _CoverTextureBig : _CoverTextureSmall; }
get { return _CoverTextureBig ?? _CoverTextureSmall; }
set
{
if (value.Index == -1)
if (value == null)
return;
_CoverTextureBig = value;
_CoverBigLoaded = true;
}
}
public CCategory(string name, STexture coverSmall, STexture coverBig)
public CCategory(string name, CTexture coverSmall, CTexture coverBig)
{
Name = name;
CoverTextureSmall = coverSmall;
+12 -26
View File
@@ -20,8 +20,10 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Songs
{
@@ -68,10 +70,8 @@ namespace VocaluxeLib.Songs
public class CSong
{
private bool _CoverSmallLoaded;
private bool _CoverBigLoaded;
private STexture _CoverTextureSmall = new STexture(-1);
private STexture _CoverTextureBig = new STexture(-1);
private CTexture _CoverTextureSmall;
private CTexture _CoverTextureBig;
public SMedley Medley;
@@ -95,30 +95,22 @@ namespace VocaluxeLib.Songs
public bool NotesLoaded { get; private set; }
public STexture CoverTextureSmall
public CTexture CoverTextureSmall
{
get
{
if (!_CoverSmallLoaded)
if (_CoverTextureSmall == null)
LoadSmallCover();
return _CoverTextureSmall;
}
set
{
_CoverTextureSmall = value;
_CoverSmallLoaded = true;
}
set { _CoverTextureSmall = value; }
}
public STexture CoverTextureBig
public CTexture CoverTextureBig
{
get { return _CoverBigLoaded ? _CoverTextureBig : _CoverTextureSmall; }
set
{
_CoverTextureBig = value;
_CoverBigLoaded = true;
}
get { return _CoverTextureBig ?? _CoverTextureSmall; }
set { _CoverTextureBig = value; }
}
public string Title = String.Empty;
@@ -213,8 +205,6 @@ namespace VocaluxeLib.Songs
VideoFileName = song.VideoFileName;
VideoAspect = song.VideoAspect;
_CoverSmallLoaded = song._CoverSmallLoaded;
_CoverBigLoaded = song._CoverBigLoaded;
NotesLoaded = song.NotesLoaded;
Artist = song.Artist;
@@ -749,7 +739,7 @@ namespace VocaluxeLib.Songs
public void LoadSmallCover()
{
if (_CoverSmallLoaded)
if (_CoverTextureSmall != null)
return;
if (CoverFileName != "")
{
@@ -758,8 +748,6 @@ namespace VocaluxeLib.Songs
}
else
_CoverTextureSmall = CBase.Cover.GetNoCover();
_CoverSmallLoaded = true;
}
private void _CheckFiles()
@@ -818,9 +806,7 @@ namespace VocaluxeLib.Songs
return null;
// build sentences list
List<string> sentences = new List<string>();
foreach (CLine line in voice.Lines)
sentences.Add(line.Points != 0 ? line.Lyrics : String.Empty);
List<string> sentences = voice.Lines.Select(line => line.Points != 0 ? line.Lyrics : String.Empty).ToList();
// find equal sentences series
List<SSeries> series = new List<SSeries>();
-39
View File
@@ -99,45 +99,6 @@ namespace VocaluxeLib
public int Y;
public int Z;
}
public struct STexture
{
public int Index;
public int PBO;
public int ID;
public string TexturePath;
public float Width;
public float Height;
public SRectF Rect;
public float W2; //power of 2 width
public float H2; //power of 2 height
public float WidthRatio;
public float HeightRatio;
public SColorF Color;
public STexture(int index)
{
Index = index;
PBO = 0;
ID = -1;
TexturePath = String.Empty;
Width = 1f;
Height = 1f;
Rect = new SRectF(0f, 0f, 1f, 1f, 0f);
W2 = 2f;
H2 = 2f;
WidthRatio = 0.5f;
HeightRatio = 0.5f;
Color = new SColorF(1f, 1f, 1f, 1f);
}
}
#endregion Drawing
#region Inputs
+1
View File
@@ -131,6 +131,7 @@
<Compile Include="Menu\CStatic.cs" />
<Compile Include="Menu\CText.cs" />
<Compile Include="Menu\CScreenSetting.cs" />
<Compile Include="Draw\CTexture.cs" />
<Compile Include="CXMLReader.cs" />
<Compile Include="Enums.cs" />
<Compile Include="Menu\IMenu.cs" />