Merge branch 'theme' into develop

This commit is contained in:
Florian Küpper committed 2014-09-19 12:23:23 +02:00
commit 2d6a750b0b
94 files changed
+22400 -22593

No files matched your search

+1
View File
@@ -93,6 +93,7 @@
<string name="TR_SCREENMAIN_BUTTON_PARTY">Party</string>
<string name="TR_SCREENMAIN_BUTTON_OPTIONS">Options</string>
<string name="TR_SCREENMAIN_BUTTON_PROFILES">Profiles</string>
<string name="TR_SCREENMAIN_TEXT_NOPROFILES">No profiles found!</string>
<string name="TR_SCREENPARTY_TITLE">Party Mode Selection</string>
<string name="TR_SCREENPARTY_MODES">Party Mode</string>
<string name="TR_SCREENPARTY_DESCRIPTION">Description</string>
+1
View File
@@ -92,6 +92,7 @@
<string name="TR_SCREENMAIN_BUTTON_PARTY">Party</string>
<string name="TR_SCREENMAIN_BUTTON_OPTIONS">Optionen</string>
<string name="TR_SCREENMAIN_BUTTON_PROFILES">Profile</string>
<string name="TR_SCREENMAIN_TEXT_NOPROFILES">Keine Profile gefunden!</string>
<string name="TR_SCREENPARTY_TITLE">Party-Modus Auswahl</string>
<string name="TR_SCREENPARTY_MODES">Party-Modus</string>
<string name="TR_SCREENPARTY_DESCRIPTION">Beschreibung</string>
@@ -1,458 +1,388 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<PartyScreenChallengeConfig>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengeConfig</ScreenName>
<ScreenVersion>1</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<!--<Video>: Background video name-->
<SlideShowTextures />
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Default</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>BackgroundColor</Color>
</Background1>
<Static1>
<!--<Skin>: Texture name-->
<Color>
<Name>BackgroundColor</Name>
</Color>
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>40</X>
<Y>40</Y>
<Z>0,00</Z>
<W>1200</W>
<H>50</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Static1>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Name>StaticColor</Name>
</Color>
<Rect>
<X>40</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>640</X>
<Y>48</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_TITLE</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<Text2>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text2">
<X>75</X>
<Y>105</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_NUMPLAYERS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text2>
<Text3>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text3">
<X>75</X>
<Y>165</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_NUMMICS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text3>
<Text4>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text4">
<X>75</X>
<Y>225</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_NUMROUNDS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text4>
<ButtonNext>
<!--<Skin>: Texture name-->
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNext">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>985</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>985</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_NEXT</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonNext>
<ButtonBack>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>145</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_BACK</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonBack>
<SelectSlideNumPlayers>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideNumPlayers">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>100</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>105</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>105</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>100</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>9</NumVisible>
</SelectSlideNumPlayers>
<SelectSlideNumMics>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideNumMics">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>160</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>165</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>165</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>160</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>2</NumVisible>
</SelectSlideNumMics>
<SelectSlideNumRounds>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideNumRounds">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>220</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>225</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>225</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>220</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>10</NumVisible>
</SelectSlideNumRounds>
</PartyScreenChallengeConfig>
</root>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -155,4 +155,4 @@
<Videos>
<BG_Video>[Blue]BG_Video.mp4</BG_Video>
</Videos>
</root>
</root>
@@ -1,458 +1,388 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<PartyScreenChallengeMedleyConfig>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenChallengeMedleyConfig</ScreenName>
<ScreenVersion>1</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<!--<Video>: Background video name-->
<SlideShowTextures />
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Default</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>BackgroundColor</Color>
</Background1>
<Static1>
<!--<Skin>: Texture name-->
<Color>
<Name>BackgroundColor</Name>
</Color>
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>40</X>
<Y>40</Y>
<Z>0,00</Z>
<W>1200</W>
<H>50</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Static1>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Name>StaticColor</Name>
</Color>
<Rect>
<X>40</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>640</X>
<Y>48</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_TITLE</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<Text2>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text2">
<X>75</X>
<Y>105</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_NUMPLAYERS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text2>
<Text3>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text3">
<X>75</X>
<Y>165</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_NUMMICS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text3>
<Text4>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text4">
<X>75</X>
<Y>225</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_NUMROUNDS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text4>
<ButtonNext>
<!--<Skin>: Texture name-->
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNext">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>985</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>985</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_NEXT</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonNext>
<ButtonBack>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>145</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_BACK</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonBack>
<SelectSlideNumPlayers>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideNumPlayers">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>100</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>105</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>105</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>100</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>9</NumVisible>
</SelectSlideNumPlayers>
<SelectSlideNumMics>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideNumMics">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>160</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>165</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>165</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>160</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>2</NumVisible>
</SelectSlideNumMics>
<SelectSlideNumRounds>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideNumRounds">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>220</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>225</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>225</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>220</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>10</NumVisible>
</SelectSlideNumRounds>
</PartyScreenChallengeMedleyConfig>
</root>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -154,4 +154,4 @@
<Videos>
<BG_Video>[Blue]BG_Video.mp4</BG_Video>
</Videos>
</root>
</root>
@@ -1,588 +1,504 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<PartyScreenTicTacToeConfig>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PartyScreenTicTacToeConfig</ScreenName>
<ScreenVersion>1</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<!--<Video>: Background video name-->
<SlideShowTextures />
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Default</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>BackgroundColor</Color>
</Background1>
<Static1>
<!--<Skin>: Texture name-->
<Color>
<Name>BackgroundColor</Name>
</Color>
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>40</X>
<Y>40</Y>
<Z>0,00</Z>
<W>1200</W>
<H>50</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Static1>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Name>StaticColor</Name>
</Color>
<Rect>
<X>40</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>640</X>
<Y>48</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_TITLE</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<Text2>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text2">
<X>75</X>
<Y>105</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_NUMFIELDS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text2>
<Text3>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text3">
<X>75</X>
<Y>165</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_SONGSOURCE</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text3>
<Text4>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text4">
<X>75</X>
<Y>285</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENCONFIG_GAMEMODE</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text4>
<ButtonNext>
<!--<Skin>: Texture name-->
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonNext">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>985</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>985</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_NEXT</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonNext>
<ButtonBack>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonBack">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>145</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>10</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_BACK</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonBack>
<SelectSlideNumFields>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideNumFields">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>100</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>105</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>105</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>100</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>3</NumVisible>
</SelectSlideNumFields>
<SelectSlideSongSource>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideSongSource">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>160</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>165</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>165</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>160</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>3</NumVisible>
</SelectSlideSongSource>
<SelectSlidePlaylist>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlidePlaylist">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>220</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>225</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>225</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>220</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>1</NumVisible>
</SelectSlidePlaylist>
<SelectSlideCategory>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideCategory">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>220</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>225</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>225</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>220</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>1</NumVisible>
</SelectSlideCategory>
<SelectSlideGameMode>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideGameMode">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>280</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>285</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>285</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>280</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>1</NumVisible>
</SelectSlideGameMode>
</PartyScreenTicTacToeConfig>
</root>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -229,4 +229,4 @@
<Videos>
<BG_Video>[Blue]BG_Video.mp4</BG_Video>
</Videos>
</root>
</root>
@@ -1,460 +1,382 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<PopupScreenPlayerControl>
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PopupScreenPlayerControl</ScreenName>
<ScreenVersion>1</ScreenVersion>
<StaticBG>
<!--<Skin>: Texture name-->
</Informations>
<Backgrounds />
<Statics>
<Static Name="StaticBG">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>49</X>
<Y>0</Y>
<Z>0,00</Z>
<W>1181</W>
<H>42</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticBG>
<StaticCover>
<!--<Skin>: Texture name-->
<Color>
<Name>StaticColor</Name>
</Color>
<Rect>
<X>49</X>
<Y>0</Y>
<W>1181</W>
<H>42</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
<Static Name="StaticCover">
<Skin>CoverBackground</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>55</X>
<Y>2</Y>
<Z>0,00</Z>
<W>38</W>
<H>38</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Visible</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticCover>
<TextCurrentSong>
<!--<X>, <Y>: Text position-->
<Color>
<Name>Visible</Name>
</Color>
<Rect>
<X>55</X>
<Y>2</Y>
<W>38</W>
<H>38</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="TextCurrentSong">
<X>410</X>
<Y>8</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>769</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<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-->
</TextCurrentSong>
<ButtonPlay>
<!--<Skin>: Texture name-->
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonPlay">
<Skin>PlayIcon</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>PlayIcon</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>146</X>
<Y>8</Y>
<Z>0,00</Z>
<W>28</W>
<H>28</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>146</X>
<Y>8</Y>
<W>28</W>
<H>28</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>2</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Normal</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonPlay>
<ButtonPause>
<!--<Skin>: Texture name-->
<STextSpecified>false</STextSpecified>
<Reflection Enabled="false" />
<SelReflection Enabled="false" />
</Button>
<Button Name="ButtonPause">
<Skin>PauseIcon</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>PauseIcon</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>145</X>
<Y>8</Y>
<Z>0,00</Z>
<W>28</W>
<H>28</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>145</X>
<Y>8</Y>
<W>28</W>
<H>28</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>2</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Normal</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonPause>
<ButtonPrevious>
<!--<Skin>: Texture name-->
<STextSpecified>false</STextSpecified>
<Reflection Enabled="false" />
<SelReflection Enabled="false" />
</Button>
<Button Name="ButtonPrevious">
<Skin>PreviousIcon</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>PreviousIcon</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>100</X>
<Y>2</Y>
<Z>0,00</Z>
<W>38</W>
<H>38</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>100</X>
<Y>2</Y>
<W>38</W>
<H>38</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>2</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Normal</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonPrevious>
<ButtonNext>
<!--<Skin>: Texture name-->
<STextSpecified>false</STextSpecified>
<Reflection Enabled="false" />
<SelReflection Enabled="false" />
</Button>
<Button Name="ButtonNext">
<Skin>NextIcon</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>NextIcon</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>185</X>
<Y>2</Y>
<Z>0,00</Z>
<W>38</W>
<H>38</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>185</X>
<Y>2</Y>
<W>38</W>
<H>38</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>190</X>
<Y>25</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Normal</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonNext>
<ButtonRepeat>
<!--<Skin>: Texture name-->
<STextSpecified>false</STextSpecified>
<Reflection Enabled="false" />
<SelReflection Enabled="false" />
</Button>
<Button Name="ButtonRepeat">
<Skin>RepeatIcon</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>RepeatIcon</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>225</X>
<Y>2</Y>
<Z>0,00</Z>
<W>38</W>
<H>38</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>225</X>
<Y>2</Y>
<W>38</W>
<H>38</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>405</X>
<Y>25</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Normal</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonRepeat>
<ButtonShowVideo>
<!--<Skin>: Texture name-->
<STextSpecified>false</STextSpecified>
<Reflection Enabled="false" />
<SelReflection Enabled="false" />
</Button>
<Button Name="ButtonShowVideo">
<Skin>VideoIconCO</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>VideoIconCO</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>270</X>
<Y>2</Y>
<Z>0,00</Z>
<W>38</W>
<H>38</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>270</X>
<Y>2</Y>
<W>38</W>
<H>38</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>315</X>
<Y>0</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Normal</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonShowVideo>
<ButtonSing>
<!--<Skin>: Texture name-->
<STextSpecified>false</STextSpecified>
<Reflection Enabled="false" />
<SelReflection Enabled="false" />
</Button>
<Button Name="ButtonSing">
<Skin>DuetIcon</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>DuetIcon</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>360</X>
<Y>2</Y>
<Z>0,00</Z>
<W>38</W>
<H>38</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>360</X>
<Y>2</Y>
<W>38</W>
<H>38</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>380</X>
<Y>0</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Normal</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonSing>
<ButtonToBackgroundVideo>
<!--<Skin>: Texture name-->
<STextSpecified>false</STextSpecified>
<Reflection Enabled="false" />
<SelReflection Enabled="false" />
</Button>
<Button Name="ButtonToBackgroundVideo">
<Skin>VideoIconBG</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>VideoIconBG</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>315</X>
<Y>2</Y>
<Z>0,00</Z>
<W>38</W>
<H>38</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>315</X>
<Y>2</Y>
<W>38</W>
<H>38</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>315</X>
<Y>0</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Normal</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonToBackgroundVideo>
</PopupScreenPlayerControl>
</root>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="false" />
<SelReflection Enabled="false" />
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
@@ -1,315 +1,244 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<PopupScreenServerQR>
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PopupScreenServerQR</ScreenName>
<ScreenVersion>1</ScreenVersion>
<Static1>
<!--<Skin>: Texture name-->
</Informations>
<Backgrounds />
<Statics>
<Static Name="Static1">
<Skin>SongMenuBG</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>0</X>
<Y>0</Y>
<Z>-1,99</Z>
<W>1280</W>
<H>720</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<R>1,00</R>
<G>1,00</G>
<B>1,00</B>
<A>0,80</A>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Static1>
<StaticQRServer>
<!--<Skin>: Texture name-->
<Color>
<Color>
<R>1</R>
<G>1</G>
<B>1</B>
<A>0.8</A>
</Color>
</Color>
<Rect>
<X>0</X>
<Y>0</Y>
<W>1280</W>
<H>720</H>
<Z>-1.99</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
<Static Name="StaticQRServer">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>490</X>
<Y>210</Y>
<Z>-2,00</Z>
<W>300</W>
<H>300</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Visible</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticQRServer>
<StaticQRAndroid>
<!--<Skin>: Texture name-->
<Color>
<Name>Visible</Name>
</Color>
<Rect>
<X>490</X>
<Y>210</Y>
<W>300</W>
<H>300</H>
<Z>-2</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
<Static Name="StaticQRAndroid">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>25</X>
<Y>25</Y>
<Z>-2,00</Z>
<W>200</W>
<H>200</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Visible</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticQRAndroid>
<StaticQRSymbian>
<!--<Skin>: Texture name-->
<Color>
<Name>Visible</Name>
</Color>
<Rect>
<X>25</X>
<Y>25</Y>
<W>200</W>
<H>200</H>
<Z>-2</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
<Static Name="StaticQRSymbian">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>1055</X>
<Y>25</Y>
<Z>-2,00</Z>
<W>200</W>
<H>200</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Visible</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticQRSymbian>
<StaticQRWebOS>
<!--<Skin>: Texture name-->
<Color>
<Name>Visible</Name>
</Color>
<Rect>
<X>1055</X>
<Y>25</Y>
<W>200</W>
<H>200</H>
<Z>-2</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
<Static Name="StaticQRWebOS">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>25</X>
<Y>495</Y>
<Z>-2,00</Z>
<W>200</W>
<H>200</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Visible</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticQRWebOS>
<StaticQRWindowsPhone>
<!--<Skin>: Texture name-->
<Color>
<Name>Visible</Name>
</Color>
<Rect>
<X>25</X>
<Y>495</Y>
<W>200</W>
<H>200</H>
<Z>-2</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
<Static Name="StaticQRWindowsPhone">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>1055</X>
<Y>495</Y>
<Z>-2,00</Z>
<W>200</W>
<H>200</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Visible</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticQRWindowsPhone>
<TextServerAddress>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>515</Y>
<!--<Z>: Text position-->
<Z>-2,00</Z>
<!--<H>: Text height-->
<H>35</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>300</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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>Center</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-->
</TextServerAddress>
<TextServerNotRunning>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>265</Y>
<!--<Z>: Text position-->
<Z>-2,00</Z>
<!--<H>: Text height-->
<H>45</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>600</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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>Center</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>TR_SCREENPSERVERQR_NOTRUNNING</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextServerNotRunning>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Name>Visible</Name>
</Color>
<Rect>
<X>1055</X>
<Y>495</Y>
<W>200</W>
<H>200</H>
<Z>-2</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>640</X>
<Y>180</Y>
<!--<Z>: Text position-->
<Z>-2,00</Z>
<!--<H>: Text height-->
<Z>-2</Z>
<H>35</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>300</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPSERVERQR_ADDRESS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<Text2>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text2">
<X>125</X>
<Y>230</Y>
<!--<Z>: Text position-->
<Z>-2,00</Z>
<!--<H>: Text height-->
<Z>-2</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>200</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>Android</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text2>
<Text3>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text3">
<X>1155</X>
<Y>230</Y>
<!--<Z>: Text position-->
<Z>-2,00</Z>
<!--<H>: Text height-->
<Z>-2</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>200</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>Symbian</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text3>
<Text4>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text4">
<X>125</X>
<Y>460</Y>
<!--<Z>: Text position-->
<Z>-2,00</Z>
<!--<H>: Text height-->
<Z>-2</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>200</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>WebOS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text4>
<Text5>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text5">
<X>1155</X>
<Y>460</Y>
<!--<Z>: Text position-->
<Z>-2,00</Z>
<!--<H>: Text height-->
<Z>-2</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>200</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>Windows Phone</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text5>
</PopupScreenServerQR>
</root>
<Reflection Enabled="false" />
</Text>
<Text Name="TextServerAddress">
<X>640</X>
<Y>515</Y>
<Z>-2</Z>
<H>35</H>
<MaxW>300</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text />
<Reflection Enabled="false" />
</Text>
<Text Name="TextServerNotRunning">
<X>640</X>
<Y>265</Y>
<Z>-2</Z>
<H>45</H>
<MaxW>600</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENPSERVERQR_NOTRUNNING</Text>
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons />
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
@@ -1,121 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<PopupScreenVolumeControl>
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>PopupScreenVolumeControl</ScreenName>
<ScreenVersion>1</ScreenVersion>
<StaticBG>
<!--<Skin>: Texture name-->
</Informations>
<Backgrounds />
<Statics>
<Static Name="StaticBG">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>1065</X>
<Y>672</Y>
<Z>-2,00</Z>
<W>225</W>
<H>48</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticBG>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Name>StaticColor</Name>
</Color>
<Rect>
<X>1065</X>
<Y>672</Y>
<W>225</W>
<H>48</H>
<Z>-2</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>1067</X>
<Y>682</Y>
<!--<Z>: Text position-->
<Z>-2,00</Z>
<!--<H>: Text height-->
<Z>-2</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>80</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPVOLUMECONTROL_VOLUME</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<SelectSlideVolume>
<!--<Skin>: Texture name-->
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons />
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideVolume">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>Minus</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>Plus</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>Invisible</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>Minus</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>Plus</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>Invisible</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>1090</X>
<Y>680</Y>
<Z>-2,00</Z>
<W>200</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>1195</ArrowLeftX>
<ArrowLeftY>682</ArrowLeftY>
<ArrowLeftZ>-2,00</ArrowLeftZ>
<ArrowLeftW>30</ArrowLeftW>
<ArrowLeftH>30</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1240</ArrowRightX>
<ArrowRightY>682</ArrowRightY>
<ArrowRightZ>-2,00</ArrowRightZ>
<ArrowRightW>30</ArrowRightW>
<ArrowRightH>30</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<TextRelativeX>-15,00</TextRelativeX>
<!--<TextRelativeY>: Text relative y-position-->
<TextRelativeY>-8,00</TextRelativeY>
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>500,00</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>1090</X>
<Y>680</Y>
<W>200</W>
<H>50</H>
<Z>-2</Z>
</Rect>
<RectArrowLeft>
<X>1195</X>
<Y>682</Y>
<W>30</W>
<H>30</H>
<Z>-2</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1240</X>
<Y>682</Y>
<W>30</W>
<H>30</H>
<Z>-2</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>-15</TextRelativeX>
<TextRelativeY>-8</TextRelativeY>
<TextMaxW>500</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>1</NumVisible>
</SelectSlideVolume>
</PopupScreenVolumeControl>
</root>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
File diff suppressed because it is too large. Load diff
+83 -100
View File
@@ -1,120 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ScreenLoad>
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>ScreenLoad</ScreenName>
<ScreenVersion>2</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Texture</Type>
<!--<Video>: Background video name-->
<SlideShowTextures />
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Default</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>BackgroundColor</Color>
</Background1>
<Static1>
<!--<Skin>: Texture name-->
<Color>
<Name>BackgroundColor</Name>
</Color>
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>50</X>
<Y>644</Y>
<Z>0,00</Z>
<W>1195</W>
<H>50</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Invisible</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Static1>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Name>Invisible</Name>
</Color>
<Rect>
<X>50</X>
<Y>644</Y>
<W>1195</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>60</X>
<Y>655</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<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>TR_SCREENLOAD_LOADING</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<TextProgramName>
<!--<X>, <Y>: Text position-->
<X>640</X>
<Y>305</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<H>101</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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>Center</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>TR_PROGRAM_NAME</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextProgramName>
<TextStatus>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="TextStatus">
<X>240</X>
<Y>655</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<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-->
</TextStatus>
</ScreenLoad>
</root>
<Text>Gesamt: 168 Lieder (168 geladen)</Text>
<Reflection Enabled="false" />
</Text>
<Text Name="TextProgramName">
<X>640</X>
<Y>305</Y>
<Z>0</Z>
<H>101</H>
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_PROGRAM_NAME</Text>
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons />
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
+245 -239
View File
@@ -1,318 +1,324 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ScreenMain>
<ScreenVersion>1</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>ScreenMain</ScreenName>
<ScreenVersion>2</ScreenVersion>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<!--<Video>: Background video name-->
<SlideShowTextures />
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Default</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>BackgroundColor</Color>
</Background1>
<StaticMenuBar>
<!--<Skin>: Texture name-->
<Color>
<Name>BackgroundColor</Name>
</Color>
</Background>
</Backgrounds>
<Statics>
<Static Name="StaticMenuBar">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>49</X>
<Y>32</Y>
<Z>0,00</Z>
<W>1181</W>
<H>50</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Invisible</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</StaticMenuBar>
<ButtonSing>
<!--<Skin>: Texture name-->
<Color>
<Name>Invisible</Name>
</Color>
<Rect>
<X>49</X>
<Y>32</Y>
<W>1181</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
<Static Name="StaticWarningProfiles">
<Skin>TextBG</Skin>
<Color>
<Name>StaticWarningColor</Name>
</Color>
<Rect>
<X>150</X>
<Y>610</Y>
<W>355</W>
<H>30</H>
<Z>-1.9</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="TextRelease">
<X>10</X>
<Y>690</Y>
<Z>-1</Z>
<H>15</H>
<MaxW>0</MaxW>
<Color>
<Name>TextWhite</Name>
</Color>
<SColor>
<Name>TextWhite</Name>
</SColor>
<Align>Left</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Normal</Style>
<Font>Normal</Font>
<Text>Vocaluxe "Shining Heaven" v0.3.0 (x64) Beta (0083)</Text>
<Reflection Enabled="false" />
</Text>
<Text Name="TextWarningProfiles">
<X>320</X>
<Y>612</Y>
<Z>-2</Z>
<H>27</H>
<MaxW>355</MaxW>
<Color>
<Name>TextWarningColor</Name>
</Color>
<SColor>
<Name>TextWarningColor</Name>
</SColor>
<Align>Center</Align>
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<Font>Outline</Font>
<Text>TR_SCREENMAIN_TEXT_NOPROFILES</Text>
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonSing">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>145</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</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>TR_SCREENMAIN_BUTTON_SING</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonSing>
<ButtonParty>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonParty">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>355</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>355</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</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>TR_SCREENMAIN_BUTTON_PARTY</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonParty>
<ButtonOptions>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonOptions">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>565</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>565</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</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>TR_SCREENMAIN_BUTTON_OPTIONS</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonOptions>
<ButtonProfiles>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonProfiles">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>775</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>775</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</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>TR_SCREENMAIN_BUTTON_PROFILES</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonProfiles>
<ButtonExit>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonExit">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>985</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>985</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</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>TR_BUTTON_EXIT</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonExit>
</ScreenMain>
</root>
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
File diff suppressed because it is too large. Load diff
+240 -308
View File
@@ -1,404 +1,336 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ScreenOptions>
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>ScreenOptions</ScreenName>
<ScreenVersion>1</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<!--<Video>: Background video name-->
<SlideShowTextures />
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Default</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>BackgroundColor</Color>
</Background1>
<Static1>
<!--<Skin>: Texture name-->
<Color>
<Name>BackgroundColor</Name>
</Color>
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>50</X>
<Y>32</Y>
<Z>0,00</Z>
<W>1180</W>
<H>50</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Invisible</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Static1>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Name>Invisible</Name>
</Color>
<Rect>
<X>50</X>
<Y>32</Y>
<W>1180</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>60</X>
<Y>43</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>Invisible</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>Invisible</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<MaxW>0</MaxW>
<Color>
<Name>Invisible</Name>
</Color>
<SColor>
<Name>Invisible</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENO_OPTIONS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<ButtonOptionsGame>
<!--<Skin>: Texture name-->
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonOptionsGame">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>55</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>55</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENO_BUTTON_GAME</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonOptionsGame>
<ButtonOptionsSound>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonOptionsSound">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>259</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>259</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENO_BUTTON_SOUND</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonOptionsSound>
<ButtonOptionsRecord>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonOptionsRecord">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>464</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>464</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENO_BUTTON_RECORD</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonOptionsRecord>
<ButtonOptionsVideo>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonOptionsVideo">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>669</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>669</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENO_BUTTON_VIDEO</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonOptionsVideo>
<ButtonOptionsLyrics>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonOptionsLyrics">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>874</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>874</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENO_BUTTON_LYRICS</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonOptionsLyrics>
<ButtonOptionsTheme>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonOptionsTheme">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>1078</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>1078</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENO_BUTTON_THEME</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonOptionsTheme>
</ScreenOptions>
</root>
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
File diff suppressed because it is too large. Load diff
@@ -1,311 +1,266 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ScreenOptionsLyrics>
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>ScreenOptionsLyrics</ScreenName>
<ScreenVersion>2</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<!--<Video>: Background video name-->
<SlideShowTextures />
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Options</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>BackgroundColor</Color>
</Background1>
<Static1>
<!--<Skin>: Texture name-->
<Color>
<Name>BackgroundColor</Name>
</Color>
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>40</X>
<Y>40</Y>
<Z>0,00</Z>
<W>1200</W>
<H>50</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Static1>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Name>StaticColor</Name>
</Color>
<Rect>
<X>40</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>640</X>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOLYRICS_OPTIONS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<Text2>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text2">
<X>75</X>
<Y>107</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOLYRICS_STYLE</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text2>
<Text3>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text3">
<X>75</X>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOLYRICS_POSITION</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text3>
<ButtonExit>
<!--<Skin>: Texture name-->
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonExit">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>145</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_BACK</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonExit>
<SelectSlideLyricStyle>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideLyricStyle">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>100</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>105</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>105</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>100</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>4</NumVisible>
</SelectSlideLyricStyle>
<SelectSlideLyricsPosition>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideLyricsPosition">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>160</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>165</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>165</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>160</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>2</NumVisible>
</SelectSlideLyricsPosition>
</ScreenOptionsLyrics>
</root>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
File diff suppressed because it is too large. Load diff
@@ -1,599 +1,497 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ScreenOptionsSound>
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>ScreenOptionsSound</ScreenName>
<ScreenVersion>3</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<!--<Video>: Background video name-->
<SlideShowTextures />
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Options</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>BackgroundColor</Color>
</Background1>
<Static1>
<!--<Skin>: Texture name-->
<Color>
<Name>BackgroundColor</Name>
</Color>
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>40</X>
<Y>40</Y>
<Z>0,00</Z>
<W>1200</W>
<H>50</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Static1>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Name>StaticColor</Name>
</Color>
<Rect>
<X>40</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>640</X>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOSOUND_OPTIONS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<Text2>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text2">
<X>75</X>
<Y>107</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOSOUND_BACKGROUNDMUSIC</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text2>
<Text3>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text3">
<X>75</X>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text3>
<Text4>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text4">
<X>75</X>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text4>
<Text5>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text5">
<X>75</X>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOSOUND_PREVIEWMUSICVOLUME</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text5>
<Text6>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text6">
<X>75</X>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOSOUND_GAMEMUSICVOLUME</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text6>
<ButtonExit>
<!--<Skin>: Texture name-->
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonExit">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>145</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_BACK</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonExit>
<SelectSlideBackgroundMusic>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideBackgroundMusic">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>100</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>105</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>105</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>100</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>3</NumVisible>
</SelectSlideBackgroundMusic>
<SelectSlideBackgroundMusicVolume>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideBackgroundMusicVolume">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>160</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>165</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>165</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>205,33</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>160</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>165</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>205.33</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>3</NumVisible>
</SelectSlideBackgroundMusicVolume>
<SelectSlideBackgroundMusicSource>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideBackgroundMusicSource">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>220</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>225</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>225</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>500,00</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>220</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>225</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>500</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>1</NumVisible>
</SelectSlideBackgroundMusicSource>
<SelectSlidePreviewMusicVolume>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlidePreviewMusicVolume">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>280</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>285</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>285</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>500,00</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>280</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>285</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>500</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>3</NumVisible>
</SelectSlidePreviewMusicVolume>
<SelectSlideGameMusicVolume>
<!--<Skin>: Texture name-->
</SelectSlide>
<SelectSlide Name="SelectSlideGameMusicVolume">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>340</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>345</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>345</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>500,00</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>340</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>345</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>345</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>500</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>3</NumVisible>
</SelectSlideGameMusicVolume>
</ScreenOptionsSound>
</root>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -1,251 +1,196 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ScreenOptionsVideoAdjustments>
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>ScreenOptionsVideoAdjustments</ScreenName>
<ScreenVersion>1</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Color</Type>
<!--<Video>: Background video name-->
<SlideShowTextures />
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Options</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<R>1,00</R>
<G>1,00</G>
<B>1,00</B>
<A>1,00</A>
</Background1>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Color>
<R>1</R>
<G>1</G>
<B>1</B>
<A>1</A>
</Color>
</Color>
</Background>
</Backgrounds>
<Statics />
<Texts>
<Text Name="Text1">
<X>0</X>
<Y>0</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Top</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<Text2>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text2">
<X>1280</X>
<Y>0</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Top</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text2>
<Text3>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text3">
<X>0</X>
<Y>693</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Bottom</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOVIDEOADJUSTMENTS_BOTTOMLEFT</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text3>
<Text4>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text4">
<X>1280</X>
<Y>693</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Right</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Bottom</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOVIDEOADJUSTMENTS_BOTTOMRIGHT</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text4>
<Text5>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text5">
<X>640</X>
<Y>320</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>35</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOVIDEOADJUSTMENTS_NOTES</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text5>
<Text6>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text6">
<X>640</X>
<Y>360</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>35</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text6>
<ButtonExit>
<!--<Skin>: Texture name-->
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonExit">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>145</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_BACK</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonExit>
</ScreenOptionsVideoAdjustments>
</root>
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides />
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
+326 -501
View File
@@ -1,656 +1,481 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ScreenParty>
<?xml version="1.0" encoding="utf-8"?>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>ScreenParty</ScreenName>
<ScreenVersion>1</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>Video</Type>
<!--<Video>: Background video name-->
<SlideShowTextures />
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Default</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>BackgroundColor</Color>
</Background1>
<Static1>
<!--<Skin>: Texture name-->
<Color>
<Name>BackgroundColor</Name>
</Color>
</Background>
</Backgrounds>
<Statics>
<Static Name="Static1">
<Skin>Menu</Skin>
<!--<X>, <Y>, <Z>, <W>, <H>: Static position, width and height-->
<X>40</X>
<Y>40</Y>
<Z>0,00</Z>
<W>1200</W>
<H>50</H>
<!--<Color>: Static color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Static1>
<Text1>
<!--<X>, <Y>: Text position-->
<Color>
<Name>StaticColor</Name>
</Color>
<Rect>
<X>40</X>
<Y>40</Y>
<W>1200</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Reflection Enabled="false" />
</Static>
</Statics>
<Texts>
<Text Name="Text1">
<X>640</X>
<Y>50</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPARTY_TITLE</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text1>
<Text2>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text2">
<X>75</X>
<Y>107</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPARTY_MODES</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text2>
<Text3>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text3">
<X>75</X>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPARTY_DESCRIPTION</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text3>
<Text4>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text4">
<X>75</X>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPARTY_TARGETAUDIENCE</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text4>
<Text5>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text5">
<X>75</X>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPARTY_NUMTEAMS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text5>
<Text6>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text6">
<X>75</X>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPARTY_NUMPLAYERS</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text6>
<Text7>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text7">
<X>75</X>
<Y>407</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPARTY_AUTHOR</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text7>
<Text8>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="Text8">
<X>75</X>
<Y>467</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<MaxW>0</MaxW>
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Left</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPARTY_VERSION</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</Text8>
<TextDescription>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="TextDescription">
<X>850</X>
<Y>167</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>600</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<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-->
</TextDescription>
<TextTargetAudience>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="TextTargetAudience">
<X>850</X>
<Y>227</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>600</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<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-->
</TextTargetAudience>
<TextNumTeams>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="TextNumTeams">
<X>850</X>
<Y>287</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>600</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<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-->
</TextNumTeams>
<TextNumPlayers>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="TextNumPlayers">
<X>850</X>
<Y>347</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>600</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<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-->
</TextNumPlayers>
<TextAuthor>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="TextAuthor">
<X>850</X>
<Y>407</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>600</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<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-->
</TextAuthor>
<TextVersion>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="TextVersion">
<X>850</X>
<Y>467</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>600</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</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-->
<Color>
<Name>StaticColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<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-->
</TextVersion>
<TextError>
<!--<X>, <Y>: Text position-->
<Reflection Enabled="false" />
</Text>
<Text Name="TextError">
<X>850</X>
<Y>527</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>600</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>TextWarningColor</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-->
<Color>
<Name>TextWarningColor</Name>
</Color>
<SColor>
<Name>TextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_SCREENPARTY_ERROR</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextError>
<ButtonStart>
<!--<Skin>: Texture name-->
<Reflection Enabled="false" />
</Text>
</Texts>
<Buttons>
<Button Name="ButtonStart">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>985</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>985</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_START</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonStart>
<ButtonExit>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
<Button Name="ButtonExit">
<Skin>Button</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>Button</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>145</X>
<Y>600</Y>
<Z>0,00</Z>
<W>150</W>
<H>50</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<Rect>
<X>145</X>
<Y>600</Y>
<W>150</W>
<H>50</H>
<Z>0</Z>
</Rect>
<Color>
<Name>ButtonColor</Name>
</Color>
<SelColor>
<Name>ButtonSColor</Name>
</SelColor>
<Text Name="Text">
<X>75</X>
<Y>12</Y>
<!--<H>: Text height-->
<Z>0</Z>
<H>27</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Color>
<Name>ButtonTextColor</Name>
</Color>
<SColor>
<Name>ButtonTextSColor</Name>
</SColor>
<Align>Center</Align>
<!--<ResizeAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<ResizeAlign>Center</ResizeAlign>
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text>TR_BUTTON_BACK</Text>
<Reflection Enabled="false" />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<Reflection>
<Space>10</Space>
<STextSpecified>false</STextSpecified>
<Reflection Enabled="true">
<Height>26</Height>
<Space>10</Space>
</Reflection>
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
<SReflection>
<Space>10</Space>
<SelReflection Enabled="true">
<Height>26</Height>
</SReflection>
</ButtonExit>
<SelectSlideModes>
<!--<Skin>: Texture name-->
<Space>10</Space>
</SelReflection>
</Button>
</Buttons>
<SongMenus />
<Lyrics />
<SelectSlides>
<SelectSlide Name="SelectSlideModes">
<Skin>Invisible</Skin>
<!--<SkinArrowLeft>: Texture name of left arrow-->
<SkinArrowLeft>SelectSlideArrowLeft</SkinArrowLeft>
<!--<SkinArrowRight>: Texture name of right arrow-->
<SkinArrowRight>SelectSlideArrowRight</SkinArrowRight>
<!--<SkinSelected>: Texture name for selected SelectSlide-->
<SkinSelected>SelectSlide</SkinSelected>
<!--<SkinArrowLeftSelected>: Texture name of selected left arrow-->
<SkinArrowLeftSelected>SelectSlideArrowLeft</SkinArrowLeftSelected>
<!--<SkinArrowRightSelected>: Texture name of selected right arrow-->
<SkinArrowRightSelected>SelectSlideArrowRight</SkinArrowRightSelected>
<!--<SkinHighlighted>: Texture name for highlighted SelectSlide-->
<SkinHighlighted>SelectSlide</SkinHighlighted>
<!--<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height-->
<X>500</X>
<Y>100</Y>
<Z>0,00</Z>
<W>700</W>
<H>50</H>
<!--<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height-->
<ArrowLeftX>505</ArrowLeftX>
<ArrowLeftY>105</ArrowLeftY>
<ArrowLeftZ>0,00</ArrowLeftZ>
<ArrowLeftW>40</ArrowLeftW>
<ArrowLeftH>40</ArrowLeftH>
<!--<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height-->
<ArrowRightX>1170</ArrowRightX>
<ArrowRightY>105</ArrowRightY>
<ArrowRightZ>0,00</ArrowRightZ>
<ArrowRightW>40</ArrowRightW>
<ArrowRightH>40</ArrowRightH>
<!--<Color>: SelectSlide color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>SelectSlideColor</Color>
<!--<SColor>: Selected SelectSlide color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>SelectSlideSColor</SColor>
<!--<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)-->
<!--or <HR>, <HG>, <HB>, <HA> (lower priority)-->
<HColor>SelectSlideHColor</HColor>
<!--<ArrowColor>: Arrow color from ColorScheme (high priority)-->
<!--or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)-->
<ArrowColor>ArrowColor</ArrowColor>
<!--<ArrowSColor>: Selected arrow color from ColorScheme (high priority)-->
<!--or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)-->
<ArrowSColor>ArrowSColor</ArrowSColor>
<!--<TextColor>: Text color from ColorScheme (high priority)-->
<!--or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)-->
<TextColor>TextColor</TextColor>
<!--<TextSColor>: Selected text color from ColorScheme (high priority)-->
<!--or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)-->
<TextSColor>TextSColor</TextSColor>
<!--<TextH>: Text height-->
<TextH>27,00</TextH>
<!--<TextRelativeX>: Text relative x-position-->
<!--<TextRelativeY>: Text relative y-position-->
<!--<TextMaxW>: Maximum text width (if exists)-->
<TextMaxW>600,00</TextMaxW>
<!--<TextFont>: Text font name-->
<Rect>
<X>500</X>
<Y>100</Y>
<W>700</W>
<H>50</H>
<Z>0</Z>
</Rect>
<RectArrowLeft>
<X>505</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowLeft>
<RectArrowRight>
<X>1170</X>
<Y>105</Y>
<W>40</W>
<H>40</H>
<Z>0</Z>
</RectArrowRight>
<Color>
<Name>SelectSlideColor</Name>
</Color>
<SColor>
<Name>SelectSlideSColor</Name>
</SColor>
<HColor>
<Name>SelectSlideHColor</Name>
</HColor>
<ArrowColor>
<Name>ArrowColor</Name>
</ArrowColor>
<ArrowSColor>
<Name>ArrowSColor</Name>
</ArrowSColor>
<TextColor>
<Name>TextColor</Name>
</TextColor>
<TextSColor>
<Name>TextSColor</Name>
</TextSColor>
<TextH>27</TextH>
<TextRelativeX>0</TextRelativeX>
<TextRelativeY>0</TextRelativeY>
<TextMaxW>600</TextMaxW>
<TextFont>Outline</TextFont>
<!--<TextStyle>: Text style: Normal, Italic, Bold, BoldItalic-->
<TextStyle>Bold</TextStyle>
<!--<NumVisible>: Number of visible elements in the slide-->
<NumVisible>1</NumVisible>
</SelectSlideModes>
</ScreenParty>
</root>
</SelectSlide>
</SelectSlides>
<SingNotes />
<NameSelections />
<Equalizers />
<Playlists />
<ParticleEffects />
<ScreenSettings />
</Screen>
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+21 -15
View File
@@ -1,17 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<ScreenTest>
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Informations>
<ScreenName>ScreenTest</ScreenName>
<ScreenVersion>1</ScreenVersion>
<Background1>
<!--<Type>: Background type: None, Color, Texture, Video-->
<Type>Video</Type>
<!--<Video>: Background video name-->
<Video>BG_Video</Video>
<!--<Skin>: Background Texture name-->
<Skin>BG_Default</Skin>
<!--<Color>: Background color for type "Color" from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>BackgroundColor</Color>
</Background1>
</ScreenTest>
</root>
</Informations>
<Backgrounds>
<Background Name="Background1">
<Type>None</Type>
<SlideShowTextures />
<Video />
<Skin />
<Color>
<Color>
<R>0</R>
<G>0</G>
<B>0</B>
<A>1</A>
</Color>
</Color>
</Background>
</Backgrounds>
</Screen>
+4 -4
View File
@@ -140,7 +140,7 @@
<R>0,675</R>
<G>0,890</G>
<B>0,969</B>
<A>1,000</A>
<A>0,600</A>
</StaticWarningColor>
<ButtonColor>
<R>0,675</R>
@@ -227,9 +227,9 @@
<A>1,000</A>
</TextBlack>
<TextWhite>
<R>0,000</R>
<G>0,000</G>
<B>0,000</B>
<R>1,000</R>
<G>1,000</G>
<B>1,000</B>
<A>1,000</A>
</TextWhite>
<Visible>
+4 -4
View File
@@ -140,7 +140,7 @@
<R>0,709</R>
<G>0,968</G>
<B>0,674</B>
<A>1,000</A>
<A>0,600</A>
</StaticWarningColor>
<ButtonColor>
<R>0,709</R>
@@ -221,9 +221,9 @@
<A>1,000</A>
</TextBlack>
<TextWhite>
<R>0,000</R>
<G>0,000</G>
<B>0,000</B>
<R>1,000</R>
<G>1,000</G>
<B>1,000</B>
<A>1,000</A>
</TextWhite>
<Visible>
+4 -4
View File
@@ -140,7 +140,7 @@
<R>0,968</R>
<G>0,674</G>
<B>0,674</B>
<A>1,000</A>
<A>0,600</A>
</StaticWarningColor>
<ButtonColor>
<R>0,968</R>
@@ -221,9 +221,9 @@
<A>1,000</A>
</TextBlack>
<TextWhite>
<R>0,000</R>
<G>0,000</G>
<B>0,000</B>
<R>1,000</R>
<G>1,000</G>
<B>1,000</B>
<A>1,000</A>
</TextWhite>
<Visible>
+4 -4
View File
@@ -140,7 +140,7 @@
<R>0,968</R>
<G>0,956</G>
<B>0,674</B>
<A>1,000</A>
<A>0,600</A>
</StaticWarningColor>
<ButtonColor>
<R>0,968</R>
@@ -221,9 +221,9 @@
<A>1,000</A>
</TextBlack>
<TextWhite>
<R>0,000</R>
<G>0,000</G>
<B>0,000</B>
<R>1,000</R>
<G>1,000</G>
<B>1,000</B>
<A>1,000</A>
</TextWhite>
<Visible>
@@ -0,0 +1,10 @@
SceenMain
++++++++++
Version 2:
Add:
<StaticWarningProfiles>
<TextWarningProfiles>
<TextRelease>
@@ -457,7 +457,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
public override void LeavingHighscore()
{
for (int i = 0; i < CBase.Game.GetNumSongs();i++ )
for (int i = 0; i < CBase.Game.GetNumSongs(); i++)
CBase.Songs.AddPartySongSung(CBase.Game.GetSong(i).ID);
_GameData.CurrentRoundNr++;
CBase.Graphics.FadeTo(EScreens.ScreenPartyDummy);
@@ -588,12 +588,6 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
{
CProfile[] profiles = CBase.Profiles.GetProfiles();
if (profiles == null)
{
_ScreenSongOptions.Selection.TeamNames = new string[] {"foo", "bar"};
return;
}
if (_GameData.NumPlayerAtOnce < 1 || _GameData.ProfileIDs.Count < _GameData.NumPlayerAtOnce || profiles.Length < _GameData.NumPlayerAtOnce)
{
_ScreenSongOptions.Selection.TeamNames = new string[] {"foo", "bar"};
+7 -1
View File
@@ -91,6 +91,7 @@ namespace Vocaluxe.Base
public static EFadePlayerInfo FadePlayerInfo = EFadePlayerInfo.TR_CONFIG_FADEPLAYERINFO_OFF;
public static ECoverLoading CoverLoading = ECoverLoading.TR_CONFIG_COVERLOADING_DYNAMIC;
public static ELyricStyle LyricStyle = ELyricStyle.Slide;
public static bool LoadOldThemeFiles = false;
// Sound
public static EPlaybackLib PlayBackLib = EPlaybackLib.GstreamerSharp;
@@ -831,6 +832,11 @@ namespace Vocaluxe.Base
ProfileFolders.Clear();
ProfileFolders.Add(value);
break;
case "oldtheme":
if(value == "yes")
LoadOldThemeFiles = true;
break;
}
}
}
@@ -888,7 +894,7 @@ namespace Vocaluxe.Base
for (int j = 0; j < CSettings.MaxNumPlayer; j++)
{
CGame.Players[j].ProfileID = -1;
if (Players[j] == "" || profiles == null)
if (Players[j] == "")
continue;
foreach (CProfile profile in profiles)
+9 -42
View File
@@ -40,7 +40,7 @@ namespace Vocaluxe.Base
public static void Init()
{
_LoadCoverThemes();
_LoadCover(CConfig.CoverTheme);
_LoadCovers(CConfig.CoverTheme);
}
public static void Close()
@@ -107,7 +107,7 @@ namespace Vocaluxe.Base
public static void ReloadCovers()
{
_UnloadCovers();
_LoadCover(CConfig.CoverTheme);
_LoadCovers(CConfig.CoverTheme);
}
private static void _UnloadCovers()
@@ -170,69 +170,36 @@ namespace Vocaluxe.Base
/// <summary>
/// Loads all cover which are defined in the cover config file.
/// </summary>
private static void _LoadCover(string coverThemeName)
private static void _LoadCovers(string coverThemeName)
{
SCoverTheme coverTheme = _CoverTheme(coverThemeName);
if (String.IsNullOrEmpty(coverTheme.Name))
return;
var ignoreList = new List<string>();
string coverPath = Path.Combine(CSettings.ProgramFolder, CSettings.FolderNameCover, coverTheme.Folder);
List<string> files = CHelper.ListImageFiles(coverPath, true, true);
CXMLReader xmlReader = CXMLReader.OpenFile(Path.Combine(CSettings.ProgramFolder, CSettings.FolderNameCover, coverTheme.File));
lock (_Covers)
{
if (xmlReader != null)
{
_Covers.Clear();
List<string> cover = xmlReader.GetNames("//root/Cover/*");
foreach (string coverName in cover)
{
string name;
string filePath;
xmlReader.GetValue("//root/Cover/" + coverName + "/Name", out name, String.Empty);
xmlReader.GetValue("//root/Cover/" + coverName + "/Path", out filePath, String.Empty);
string coverFilePath = Path.Combine(CSettings.ProgramFolder, CSettings.FolderNameCover, coverTheme.Folder, filePath);
if (!File.Exists(coverFilePath))
continue;
_AddCover(name, coverFilePath);
ignoreList.Add(Path.GetFileName(coverFilePath));
if (name == "NoCover")
NoCover = _Covers[name];
}
}
foreach (string file in files)
{
if (!ignoreList.Contains(Path.GetFileName(file)))
_AddCover(Path.GetFileNameWithoutExtension(file), file);
}
_AddCover(Path.GetFileNameWithoutExtension(file), file);
if (_CoverExists("No Cover"))
NoCover = _Covers["No Cover"];
}
}
/// <summary>
/// Ads a cover with the given name if it does not exist yet
/// MUST HOLD _Covers lock at this point
/// </summary>
/// <param name="name">Name of the cover</param>
/// <param name="file">Filename of image file</param>
private static void _AddCover(string name, string file)
{
CTexture texture = CDraw.AddTexture(file);
if (!_CoverExists(name))
_Covers.Add(name, texture);
else
lock (_Covers)
{
CTexture tex = _Covers[name];
CDraw.RemoveTexture(ref tex);
_Covers[name] = texture;
if (!_CoverExists(name))
_Covers.Add(name, CDraw.AddTexture(file));
}
}
}
+10 -1
View File
@@ -20,6 +20,8 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Xml.Serialization;
using Vocaluxe.Base.Fonts;
using Vocaluxe.Screens;
using VocaluxeLib;
@@ -160,11 +162,18 @@ namespace Vocaluxe.Base
public static void SaveTheme()
{
CTheme.SaveTheme();
foreach (IMenu screen in _Screens)
foreach (CMenu screen in _Screens)
{
if (screen.ThemePath == null || screen.ThemeName == "ScreenTest")
continue;
screen.SaveTheme();
}
foreach (IMenu popup in _PopupScreens)
popup.SaveTheme();
CParty.SaveThemes();
}
public static void InitFirstScreen()
+1 -1
View File
@@ -180,7 +180,7 @@ namespace Vocaluxe.Base
}
catch (Exception e)
{
CLog.LogError("Error reading language file " + xmlReader.FileName + ": " + e.Message);
CLog.LogError("Error reading language file " + xmlReader.FilePath + ": " + e.Message);
return false;
}
}
+7 -2
View File
@@ -155,6 +155,11 @@ namespace Vocaluxe.Base
{
return CConfig.XMLSettings;
}
public bool GetLoadOldThemeFiles()
{
return CConfig.LoadOldThemeFiles;
}
}
class CBsettings : ISettings
@@ -479,9 +484,9 @@ namespace Vocaluxe.Base
class CBlog : ILog
{
public void LogError(string errorText)
public void LogError(string errorText, bool showMsg = false, bool exit = false)
{
CLog.LogError(errorText);
CLog.LogError(errorText, showMsg, exit);
}
public void LogDebug(string text)
+7
View File
@@ -93,6 +93,13 @@ namespace Vocaluxe.Base
get { return _PartyModes.Count; }
}
public static void SaveThemes()
{
foreach (KeyValuePair<int, SPartyMode> pair in _PartyModes)
pair.Value.PartyMode.SaveScreens();
}
public static List<SPartyModeInfos> GetPartyModeInfos()
{
var infos = new List<SPartyModeInfos>();
+1 -1
View File
@@ -297,7 +297,7 @@ namespace Vocaluxe.Base
public static CProfile[] GetProfiles()
{
if (_Profiles.Count == 0)
return null;
return new CProfile[0];
var list = new List<CProfile>(_Profiles.Values);
list.Sort(_CompareByPlayerName);
+1 -1
View File
@@ -106,7 +106,7 @@ namespace Vocaluxe.Screens
}
}
class CScreenCredits : CMenu
public class CScreenCredits : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -27,7 +27,7 @@ using VocaluxeLib.Songs;
namespace Vocaluxe.Screens
{
class CScreenHighscore : CMenu
public class CScreenHighscore : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -23,7 +23,7 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenLoad : CMenu
public class CScreenLoad : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+20 -12
View File
@@ -22,12 +22,12 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenMain : CMenu
public class CScreenMain : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
{
get { return 1; }
get { return 2; }
}
private const string _ButtonSing = "ButtonSing";
@@ -35,23 +35,30 @@ namespace Vocaluxe.Screens
private const string _ButtonOptions = "ButtonOptions";
private const string _ButtonProfiles = "ButtonProfiles";
private const string _ButtonExit = "ButtonExit";
private CText _ReleaseText;
private const string _StaticWarningProfiles = "StaticWarningProfiles";
private const string _TextWarningProfiles = "TextWarningProfiles";
private const string _TextRelease = "TextRelease";
//CParticleEffect Snowflakes;
public override void Init()
{
base.Init();
_ThemeStatics = new string[] {"StaticMenuBar"};
_ThemeStatics = new string[] {"StaticMenuBar", _StaticWarningProfiles};
_ThemeButtons = new string[] {_ButtonSing, _ButtonParty, _ButtonOptions, _ButtonProfiles, _ButtonExit};
_ThemeTexts = new string[] {_TextRelease, _TextWarningProfiles};
}
public override void LoadTheme(string xmlPath)
{
base.LoadTheme(xmlPath);
_ReleaseText = GetNewText(10, 690, -1, 15, -1, EAlignment.Left, EStyle.Normal, "Normal", new SColorF(1f, 1f, 1f, 1f), CSettings.GetFullVersionText());
_Texts[_TextRelease].Text = CSettings.GetFullVersionText();
// ReSharper disable ConditionIsAlwaysTrueOrFalse
_Texts[_TextRelease].Visible = CSettings.VersionRevision != ERevision.Release;
// ReSharper restore ConditionIsAlwaysTrueOrFalse
_Statics[_StaticWarningProfiles].Visible = false;
_Texts[_TextWarningProfiles].Visible = false;
}
public override bool HandleInput(SKeyEvent keyEvent)
@@ -68,7 +75,8 @@ namespace Vocaluxe.Screens
break;
case Keys.S:
CGraphics.FadeTo(EScreens.ScreenSong);
if (CProfiles.NumProfiles > 0)
CGraphics.FadeTo(EScreens.ScreenSong);
break;
case Keys.C:
@@ -145,6 +153,11 @@ namespace Vocaluxe.Screens
public override bool UpdateGame()
{
bool profileOK = CProfiles.NumProfiles > 0;
_Statics[_StaticWarningProfiles].Visible = !profileOK;
_Texts[_TextWarningProfiles].Visible = !profileOK;
_Buttons[_ButtonSing].Enabled = profileOK;
_Buttons[_ButtonParty].Enabled = profileOK;
return true;
}
@@ -159,11 +172,6 @@ namespace Vocaluxe.Screens
//Snowflakes.Draw();
_DrawFG();
// ReSharper disable ConditionIsAlwaysTrueOrFalse
if (CSettings.VersionRevision != ERevision.Release)
// ReSharper restore ConditionIsAlwaysTrueOrFalse
_ReleaseText.Draw();
return true;
}
+1 -1
View File
@@ -27,7 +27,7 @@ using VocaluxeLib.Profile;
namespace Vocaluxe.Screens
{
class CScreenNames : CMenu
public class CScreenNames : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -22,7 +22,7 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenOptions : CMenu
public class CScreenOptions : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -22,7 +22,7 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenOptionsGame : CMenu
public class CScreenOptionsGame : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -22,7 +22,7 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenOptionsLyrics : CMenu
public class CScreenOptionsLyrics : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -25,7 +25,7 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenOptionsRecord : CMenu
public class CScreenOptionsRecord : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -22,7 +22,7 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenOptionsSound : CMenu
public class CScreenOptionsSound : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -23,7 +23,7 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenOptionsTheme : CMenu
public class CScreenOptionsTheme : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -25,7 +25,7 @@ using VocaluxeLib.Draw;
namespace Vocaluxe.Screens
{
class CScreenOptionsVideo : CMenu
public class CScreenOptionsVideo : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
@@ -22,7 +22,7 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenOptionsVideoAdjustments : CMenu
public class CScreenOptionsVideoAdjustments : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -23,7 +23,7 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenParty : CMenu
public class CScreenParty : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -35,7 +35,7 @@ namespace Vocaluxe.Screens
PlayerName
}
class CScreenProfiles : CMenu
public class CScreenProfiles : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -28,7 +28,7 @@ using VocaluxeLib.Songs;
namespace Vocaluxe.Screens
{
class CScreenScore : CMenu
public class CScreenScore : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -31,7 +31,7 @@ using VocaluxeLib.Songs;
namespace Vocaluxe.Screens
{
class CScreenSing : CMenu
public class CScreenSing : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+1 -1
View File
@@ -29,7 +29,7 @@ using VocaluxeLib.Songs;
namespace Vocaluxe.Screens
{
class CScreenSong : CMenu
public class CScreenSong : CMenu
{
private enum ESongOptionsView
{
+1 -1
View File
@@ -23,7 +23,7 @@ using VocaluxeLib.Menu;
namespace Vocaluxe.Screens
{
class CScreenTest : CMenu
public class CScreenTest : CMenu
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
+5
View File
@@ -302,6 +302,11 @@ namespace VocaluxeLib
filename = Path.Combine(path, filename);
return filename + ext;
}
public static int Sum(int n)
{
return (n * n + n) / 2;
}
}
static class CEncoding
+22 -5
View File
@@ -24,17 +24,17 @@ namespace VocaluxeLib
public class CXMLReader
{
private readonly XPathNavigator _Navigator;
private readonly String _FileName;
private readonly String _FilePath;
public string FileName
public string FilePath
{
get { return _FileName; }
get { return _FilePath; }
}
//Private method. Use OpenFile factory method to get an instance
private CXMLReader(string uri)
{
_FileName = uri;
_FilePath = uri;
var xmlDoc = new XPathDocument(uri);
_Navigator = xmlDoc.CreateNavigator();
}
@@ -88,7 +88,24 @@ namespace VocaluxeLib
return GetValue(xPath, out val, value.ToString()) && CHelper.TryParse(val, out value);
}
public bool GetValue(string xPath, out string value, string defaultValue)
public bool TryGetColorFromRGBA(string xPath, ref SColorF value)
{
bool result = true;
result &= TryGetFloatValue(xPath + "/R", ref value.R);
result &= TryGetFloatValue(xPath + "/G", ref value.G);
result &= TryGetFloatValue(xPath + "/B", ref value.B);
result &= TryGetFloatValue(xPath + "/A", ref value.A);
if (result)
{
value.R = value.R.Clamp(0f, 1f);
value.G = value.G.Clamp(0f, 1f);
value.B = value.B.Clamp(0f, 1f);
value.A = value.A.Clamp(0f, 1f);
}
return result;
}
public bool GetValue(string xPath, out string value, string defaultValue = "")
{
int resultCt = 0;
string val = string.Empty;
+3 -1
View File
@@ -62,6 +62,8 @@ namespace VocaluxeLib
/// Get the uniform settings for writing XML files. ALWAYS use this!
/// </summary>
XmlWriterSettings GetXMLSettings();
bool GetLoadOldThemeFiles();
}
public interface ISettings
@@ -166,7 +168,7 @@ namespace VocaluxeLib
public interface ILog
{
void LogError(string errorText);
void LogError(string errorText, bool showMsg = false, bool exit = false);
void LogDebug(string text);
void LogSongInfo(string text);
}
+32 -50
View File
@@ -18,6 +18,7 @@
using System;
using System.Drawing;
using System.Xml;
using System.Xml.Serialization;
using System.Diagnostics;
using System.Collections.Generic;
using VocaluxeLib.Draw;
@@ -33,18 +34,20 @@ namespace VocaluxeLib.Menu
Video
}
struct SThemeBackground
[XmlType("Background")]
public struct SThemeBackground
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
[XmlElement("Type")]
public EBackgroundTypes Type;
[XmlArray]
public List<string> SlideShowTextures;
[XmlElement("Video")]
public string VideoName;
[XmlElement("Skin")]
public string TextureName;
public string ColorName;
public SThemeColor Color;
}
public class CBackground : IMenuElement
@@ -58,6 +61,10 @@ namespace VocaluxeLib.Menu
private readonly List<CTexture> _SlideShowTextures = new List<CTexture>();
public SColorF Color;
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
public string GetThemeName()
{
@@ -73,6 +80,14 @@ namespace VocaluxeLib.Menu
Color = new SColorF(0f, 0f, 0f, 1f);
}
public CBackground(SThemeBackground theme, int partyModeID)
{
_Theme = theme;
_PartyModeID = partyModeID;
LoadTextures();
}
#endregion Constructors
#region public
@@ -87,8 +102,8 @@ namespace VocaluxeLib.Menu
bool tex = xmlReader.GetValue(item + "/Skin", out _Theme.TextureName, String.Empty);
_ThemeLoaded &= vid || tex || _Theme.Type == EBackgroundTypes.None;
if (xmlReader.GetValue(item + "/Color", out _Theme.ColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out Color);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.Color.Name, skinIndex, out Color);
else
{
bool success = true;
@@ -101,6 +116,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= success;
}
_Theme.Color.Color = new SColorF(Color);
int i = 1;
while (xmlReader.ItemExists(item + "/SlideShow" + i))
@@ -120,46 +137,6 @@ namespace VocaluxeLib.Menu
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<Type>: Background type: " + CHelper.ListStrings(Enum.GetNames(typeof(EBackgroundTypes))));
writer.WriteElementString("Type", Enum.GetName(typeof(EBackgroundTypes), _Theme.Type));
writer.WriteComment("<Video>: Background video name");
writer.WriteElementString("Video", _Theme.VideoName);
writer.WriteComment("<Skin>: Background Texture name");
writer.WriteElementString("Skin", _Theme.TextureName);
writer.WriteComment("<SlideShow%>: Texture name for slide-show");
for (int i = 0; i < _Theme.SlideShowTextures.Count; i++)
writer.WriteElementString("SlideShow" + (i + 1), _Theme.SlideShowTextures[i]);
writer.WriteComment("<Color>: Background color for type \"Color\" from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
if (_Theme.Type != EBackgroundTypes.None)
{
writer.WriteElementString("R", Color.R.ToString("#0.00"));
writer.WriteElementString("G", Color.G.ToString("#0.00"));
writer.WriteElementString("B", Color.B.ToString("#0.00"));
writer.WriteElementString("A", Color.A.ToString("#0.00"));
}
}
writer.WriteEndElement();
return true;
}
return false;
}
public void Resume()
{
if (_Theme.Type == EBackgroundTypes.Video && !String.IsNullOrEmpty(_Theme.VideoName) && CBase.Config.GetVideoBackgrounds() == EOffOn.TR_CONFIG_ON)
@@ -211,8 +188,8 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.Color.Name))
Color = CBase.Theme.GetColor(_Theme.Color.Name, _PartyModeID);
foreach (string s in _Theme.SlideShowTextures)
_SlideShowTextures.Add(CBase.Theme.GetSkinTexture(s, _PartyModeID));
@@ -244,6 +221,11 @@ namespace VocaluxeLib.Menu
UnloadTextures();
LoadTextures();
}
public SThemeBackground GetTheme()
{
return _Theme;
}
#endregion public
#region internal
+124 -99
View File
@@ -17,19 +17,35 @@
using System;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
struct SThemeButton
[XmlType("Button")]
public struct SThemeButton
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
public string ColorName;
public string SelColorName;
[XmlElement("Skin")]
public string TextureName;
[XmlElement("SkinSelected")]
public string SelTextureName;
public SRectF Rect;
[XmlElement("Color")]
public SThemeColor Color;
[XmlElement("SelColor")]
public SThemeColor SelColor;
[XmlElement("Text")]
public SThemeText Text;
[XmlElement("SText")]
public SThemeText SText;
public bool STextSpecified;
[XmlElement("Reflection")]
public SReflection Reflection;
[XmlElement("SelReflection")]
public SReflection SelReflection;
}
public class CButton : IMenuElement
@@ -44,9 +60,8 @@ namespace VocaluxeLib.Menu
public SColorF Color;
public SColorF SelColor;
private bool _IsSelText;
public readonly CText Text;
private readonly CText _SelText;
public CText Text;
private CText _SelText;
private bool _Reflection;
private float _ReflectionSpace;
@@ -79,13 +94,29 @@ namespace VocaluxeLib.Menu
}
}
public bool Visible = true;
public bool Enabled = true;
private bool _Enabled = true;
public bool Enabled
{
get { return _Enabled; }
set
{
_Enabled = value;
if (!_Enabled)
_Selected = false;
}
}
public string GetThemeName()
{
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
public CButton(int partyModeID)
{
_PartyModeID = partyModeID;
@@ -95,13 +126,25 @@ namespace VocaluxeLib.Menu
EditMode = false;
}
public CButton(SThemeButton theme, int partyModeID, bool buttonText = false)
{
_PartyModeID = partyModeID;
_Theme = theme;
Text = new CText(_Theme.Text, _PartyModeID, buttonText);
_SelText = new CText(_Theme.SText, _PartyModeID, buttonText);
Selected = false;
EditMode = false;
LoadTextures();
}
public CButton(CButton button)
{
_PartyModeID = button._PartyModeID;
_Theme = new SThemeButton
{
ColorName = button._Theme.ColorName,
SelColorName = button._Theme.SelColorName,
TextureName = button._Theme.TextureName,
SelTextureName = button._Theme.SelTextureName
};
@@ -116,7 +159,7 @@ namespace VocaluxeLib.Menu
_SelText = new CText(button._SelText);
Selected = false;
EditMode = false;
Enabled = button.Enabled;
_Enabled = button._Enabled;
_Reflection = button._Reflection;
_ReflectionHeight = button._ReflectionHeight;
@@ -141,8 +184,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref Rect.W);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref Rect.H);
if (xmlReader.GetValue(item + "/Color", out _Theme.ColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out Color);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.Color.Name, skinIndex, out Color);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
@@ -151,8 +194,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
if (xmlReader.GetValue(item + "/SColor", out _Theme.SelColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SelColorName, skinIndex, out SelColor);
if (xmlReader.GetValue(item + "/SColor", out _Theme.SelColor.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SelColor.Name, skinIndex, out SelColor);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SR", ref SelColor.R);
@@ -165,7 +208,7 @@ namespace VocaluxeLib.Menu
Text.Z = Rect.Z;
if (xmlReader.ItemExists(item + "/SText"))
{
_IsSelText = true;
_Theme.STextSpecified = true;
_ThemeLoaded &= _SelText.LoadTheme(item, "SText", xmlReader, skinIndex, true);
_SelText.Z = Rect.Z;
}
@@ -177,103 +220,44 @@ namespace VocaluxeLib.Menu
_Reflection = true;
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Space", ref _ReflectionSpace);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Height", ref _ReflectionHeight);
_Theme.Reflection = new SReflection(true, _ReflectionHeight, _ReflectionSpace);
}
else
{
_Reflection = false;
_Theme.Reflection = new SReflection(false, 0f, 0f);
}
if (xmlReader.ItemExists(item + "/SReflection"))
{
_SelReflection = true;
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SReflection/Space", ref _SelReflectionSpace);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SReflection/Height", ref _SelReflectionHeight);
_Theme.SelReflection = new SReflection(true, _SelReflectionHeight, _SelReflectionSpace);
}
else
{
_SelReflection = false;
_Theme.SelReflection = new SReflection(false, 0f, 0f);
}
if (_ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.Rect = new SRectF(Rect);
_Theme.Color.Color = new SColorF(Color);
_Theme.SelColor.Color = new SColorF(SelColor);
_Theme.Text = Text.GetTheme();
_Theme.SText = _SelText.GetTheme();
LoadTextures();
}
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<Skin>: Texture name");
writer.WriteElementString("Skin", _Theme.TextureName);
writer.WriteComment("<SkinSelected>: Texture name for selected button");
writer.WriteElementString("SkinSelected", _Theme.SelTextureName);
writer.WriteComment("<X>, <Y>, <Z>, <W>, <H>: Button position, width and height");
writer.WriteElementString("X", Rect.X.ToString("#0"));
writer.WriteElementString("Y", Rect.Y.ToString("#0"));
writer.WriteElementString("Z", Rect.Z.ToString("#0.00"));
writer.WriteElementString("W", Rect.W.ToString("#0"));
writer.WriteElementString("H", Rect.H.ToString("#0"));
writer.WriteComment("<Color>: Button color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
writer.WriteElementString("R", Color.R.ToString("#0.00"));
writer.WriteElementString("G", Color.G.ToString("#0.00"));
writer.WriteElementString("B", Color.B.ToString("#0.00"));
writer.WriteElementString("A", Color.A.ToString("#0.00"));
}
writer.WriteComment("<SColor>: Selected button color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName);
else
{
writer.WriteElementString("SR", SelColor.R.ToString("#0.00"));
writer.WriteElementString("SG", SelColor.G.ToString("#0.00"));
writer.WriteElementString("SB", SelColor.B.ToString("#0.00"));
writer.WriteElementString("SA", SelColor.A.ToString("#0.00"));
}
Text.SaveTheme(writer);
if (_IsSelText)
_SelText.SaveTheme(writer);
writer.WriteComment("<Reflection> If exists:");
writer.WriteComment(" <Space>: Reflection Space");
writer.WriteComment(" <Height>: Reflection Height");
if (_Reflection)
{
writer.WriteStartElement("Reflection");
writer.WriteElementString("Space", _ReflectionSpace.ToString("#0"));
writer.WriteElementString("Height", _ReflectionHeight.ToString("#0"));
writer.WriteEndElement();
}
writer.WriteComment("<SReflection> If exists:");
writer.WriteComment(" <Space>: Reflection Space of selected button");
writer.WriteComment(" <Height>: Reflection Height of selected button");
if (_SelReflection)
{
writer.WriteStartElement("SReflection");
writer.WriteElementString("Space", _ReflectionSpace.ToString("#0"));
writer.WriteElementString("Height", _ReflectionHeight.ToString("#0"));
writer.WriteEndElement();
}
writer.WriteEndElement();
return true;
}
return false;
}
public void Draw(bool forceDraw = false)
{
if (!Visible && CBase.Settings.GetProgramState() != EProgramState.EditTheme && !forceDraw)
@@ -281,7 +265,7 @@ namespace VocaluxeLib.Menu
CTexture texture;
if (!Selected && !Pressed || !Enabled)
if (!Selected && !Pressed || !_Enabled)
{
texture = Texture ?? CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
@@ -295,7 +279,7 @@ namespace VocaluxeLib.Menu
else
Text.DrawRelative(Rect.X, Rect.Y);
}
else if (!_IsSelText)
else if (!_Theme.STextSpecified)
{
texture = Texture ?? CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
@@ -309,7 +293,7 @@ namespace VocaluxeLib.Menu
else
Text.DrawRelative(Rect.X, Rect.Y);
}
else if (_IsSelText)
else if (_Theme.STextSpecified)
{
texture = SelTexture ?? CBase.Theme.GetSkinTexture(_Theme.SelTextureName, _PartyModeID);
@@ -337,13 +321,43 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
Text = new CText(_Theme.Text, _PartyModeID);
Text.LoadTextures();
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (_Theme.STextSpecified)
{
_SelText = new CText(_Theme.SText, _PartyModeID);
_SelText.LoadTextures();
}
if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.Color.Name))
Color = CBase.Theme.GetColor(_Theme.Color.Name, _PartyModeID);
else
Color = _Theme.Color.Color;
if (!String.IsNullOrEmpty(_Theme.SelColor.Name))
SelColor = CBase.Theme.GetColor(_Theme.SelColor.Name, _PartyModeID);
else
SelColor = _Theme.SelColor.Color;
Rect = _Theme.Rect;
_Reflection = _Theme.Reflection.Enabled;
if (_Reflection)
{
_ReflectionHeight = _Theme.Reflection.Height;
_ReflectionSpace = _Theme.Reflection.Space;
}
_SelReflection = _Theme.Reflection.Enabled;
if (_SelReflection)
{
_SelReflectionHeight = _Theme.SelReflection.Height;
_SelReflectionSpace = _Theme.SelReflection.Space;
}
if (_Theme.Rect.Z < Text.Z)
Text.Z = _Theme.Rect.Z;
}
public void ReloadTextures()
@@ -352,11 +366,19 @@ namespace VocaluxeLib.Menu
LoadTextures();
}
public SThemeButton GetTheme()
{
return _Theme;
}
#region ThemeEdit
public void MoveElement(int stepX, int stepY)
{
Rect.X += stepX;
Rect.Y += stepY;
_Theme.Rect.X += stepX;
_Theme.Rect.Y += stepY;
}
public void ResizeElement(int stepW, int stepH)
@@ -368,6 +390,9 @@ namespace VocaluxeLib.Menu
Rect.H += stepH;
if (Rect.H <= 0)
Rect.H = 1;
_Theme.Rect.W = Rect.W;
_Theme.Rect.H = Rect.H;
}
#endregion ThemeEdit
}
+84 -81
View File
@@ -17,26 +17,42 @@
using System;
using System.Xml;
using System.Xml.Serialization;
namespace VocaluxeLib.Menu
{
enum EEqualizerStyle
public enum EEqualizerStyle
{
Columns
}
struct SThemeEqualizer
[XmlType("Equalizer")]
public struct SThemeEqualizer
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
public string ColorName;
public string MaxColorName;
[XmlElement("Skin")]
public string TextureName;
public int NumBars;
[XmlElement("Rect")]
public SRectF Rect;
[XmlElement("NumBars")]
public int NumBars;
[XmlElement("Space")]
public float Space;
[XmlElement("Style")]
public EEqualizerStyle Style;
[XmlElement("DrawNegative")]
public EOffOn DrawNegative;
[XmlElement("Color")]
public SThemeColor Color;
[XmlElement("MaxColor")]
public SThemeColor MaxColor;
[XmlElement("Reflection")]
public SReflection Reflection;
}
public class CEqualizer : IMenuElement
@@ -63,6 +79,11 @@ namespace VocaluxeLib.Menu
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
private float[] _Bars;
private int _MaxBar;
private float _MaxVolume;
@@ -86,6 +107,17 @@ namespace VocaluxeLib.Menu
ReflectionHeight = 0f;
}
public CEqualizer(SThemeEqualizer theme, int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = theme;
Visible = true;
ScreenHandles = false;
LoadTextures();
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
{
string item = xmlPath + "/" + elementName;
@@ -107,8 +139,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/DrawNegative", ref _Theme.DrawNegative);
if (xmlReader.GetValue(item + "/Color", out _Theme.ColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out Color);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.Color.Name, skinIndex, out Color);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
@@ -117,8 +149,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
if (xmlReader.GetValue(item + "/MaxColor", out _Theme.MaxColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out Color);
if (xmlReader.GetValue(item + "/MaxColor", out _Theme.MaxColor.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.MaxColor.Name, skinIndex, out Color);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/MaxR", ref MaxColor.R);
@@ -133,86 +165,28 @@ namespace VocaluxeLib.Menu
Reflection = true;
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Space", ref ReflectionSpace);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Height", ref ReflectionHeight);
_Theme.Reflection = new SReflection(true, ReflectionHeight, ReflectionSpace);
}
else
{
Reflection = false;
_Theme.Reflection = new SReflection(false, 0f, 0f);
}
if (_ThemeLoaded)
{
_Theme.Name = elementName;
_Bars = new float[_Theme.NumBars];
for (int i = 0; i < _Bars.Length; i++)
_Bars[i] = 0f;
_Theme.Space = Space;
_Theme.Color.Color = new SColorF(Color);
_Theme.MaxColor.Color = new SColorF(MaxColor);
_Theme.Rect = Rect;
LoadTextures();
}
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<Skin>: Texture name");
writer.WriteElementString("Skin", _Theme.TextureName);
writer.WriteComment("<X>, <Y>, <Z>, <W>, <H>: Equalizer position, width and height");
writer.WriteElementString("X", Rect.X.ToString("#0"));
writer.WriteElementString("Y", Rect.Y.ToString("#0"));
writer.WriteElementString("Z", Rect.Z.ToString("#0.00"));
writer.WriteElementString("W", Rect.W.ToString("#0"));
writer.WriteElementString("H", Rect.H.ToString("#0"));
writer.WriteComment("<NumBars>: Number of equalizer-elements.");
writer.WriteElementString("NumBars", _Theme.NumBars.ToString("#0"));
writer.WriteComment("<Space>: Space between equalizer-elements.");
writer.WriteElementString("Space", Space.ToString("#0.00"));
writer.WriteComment("<Style>: Style of equalizer-elements: " + CHelper.ListStrings(Enum.GetNames(typeof(EEqualizerStyle))));
writer.WriteElementString("Style", Enum.GetName(typeof(EEqualizerStyle), _Theme.Style));
writer.WriteComment("<DrawNegative>: Draw negative values: " + CHelper.ListStrings(Enum.GetNames(typeof(EOffOn))));
writer.WriteElementString("DrawNegative", Enum.GetName(typeof(EOffOn), _Theme.DrawNegative));
writer.WriteComment("<Color>: Equalizer color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
writer.WriteElementString("R", Color.R.ToString("#0.00"));
writer.WriteElementString("G", Color.G.ToString("#0.00"));
writer.WriteElementString("B", Color.B.ToString("#0.00"));
writer.WriteElementString("A", Color.A.ToString("#0.00"));
}
writer.WriteComment("<MaxColor>: Equalizer color for maximal volume from ColorScheme (high priority)");
writer.WriteComment("or <MaxR>, <MaxG>, <MaxB>, <MaxA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("MaxColor", _Theme.ColorName);
else
{
writer.WriteElementString("MaxR", Color.R.ToString("#0.00"));
writer.WriteElementString("MaxG", Color.G.ToString("#0.00"));
writer.WriteElementString("MaxB", Color.B.ToString("#0.00"));
writer.WriteElementString("MaxA", Color.A.ToString("#0.00"));
}
writer.WriteComment("<Reflection> If exists:");
writer.WriteComment(" <Space>: Reflection Space");
writer.WriteComment(" <Height>: Reflection Height");
if (Reflection)
{
writer.WriteStartElement("Reflection");
writer.WriteElementString("Space", ReflectionSpace.ToString("#0"));
writer.WriteElementString("Height", ReflectionHeight.ToString("#0"));
writer.WriteEndElement();
}
writer.WriteEndElement();
return true;
}
return false;
}
public void Update(float[] weights, float volume)
{
if (weights == null || weights.Length == 0 || _Bars == null)
@@ -286,11 +260,28 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.Color.Name))
Color = CBase.Theme.GetColor(_Theme.Color.Name, _PartyModeID);
else
Color = _Theme.Color.Color;
if (!String.IsNullOrEmpty(_Theme.MaxColorName))
MaxColor = CBase.Theme.GetColor(_Theme.MaxColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.MaxColor.Name))
MaxColor = CBase.Theme.GetColor(_Theme.MaxColor.Name, _PartyModeID);
else
MaxColor = _Theme.MaxColor.Color;
Rect = _Theme.Rect;
Space = _Theme.Space;
Reflection = _Theme.Reflection.Enabled;
if(Reflection)
{
ReflectionHeight = _Theme.Reflection.Height;
ReflectionSpace = _Theme.Reflection.Space;
}
_Bars = new float[_Theme.NumBars];
for (int i = 0; i < _Bars.Length; i++)
_Bars[i] = 0f;
}
public void ReloadTextures()
@@ -299,11 +290,19 @@ namespace VocaluxeLib.Menu
LoadTextures();
}
public SThemeEqualizer GetTheme()
{
return _Theme;
}
#region ThemeEdit
public void MoveElement(int stepX, int stepY)
{
Rect.X += stepX;
Rect.Y += stepY;
_Theme.Rect.X += stepX;
_Theme.Rect.Y += stepY;
}
public void ResizeElement(int stepW, int stepH)
@@ -312,9 +311,13 @@ namespace VocaluxeLib.Menu
if (Rect.W <= 0)
Rect.W = 1;
_Theme.Rect.W = Rect.W;
Rect.H += stepH;
if (Rect.H <= 0)
Rect.H = 1;
_Theme.Rect.H = Rect.H;
}
#endregion ThemeEdit
}
+56 -55
View File
@@ -17,16 +17,24 @@
using System;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Songs;
namespace VocaluxeLib.Menu
{
struct SThemeLyrics
[XmlType("Lyric")]
public struct SThemeLyrics
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
public string ColorName;
public string SelColorName;
[XmlElement("Rect")]
public SRectF Rect;
[XmlElement("Color")]
public SThemeColor Color;
[XmlElement("SColor")]
public SThemeColor SColor;
}
public class CLyric : IMenuElement
@@ -56,6 +64,11 @@ namespace VocaluxeLib.Menu
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
public SRectF Rect
{
get { return new SRectF(_X, _Y, _MaxW, _H, _Z); }
@@ -107,6 +120,20 @@ namespace VocaluxeLib.Menu
LyricStyle = ELyricStyle.Fill;
}
public CLyric(SThemeLyrics theme, int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = theme;
_Line = new CSongLine();
_Text = new CText(_PartyModeID);
_Width = 1f;
LyricStyle = ELyricStyle.Fill;
LoadTextures();
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
{
string item = xmlPath + "/" + elementName;
@@ -118,8 +145,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref _MaxW);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _H);
if (xmlReader.GetValue(item + "/Color", out _Theme.ColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out _Color);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.Color.Name, skinIndex, out _Color);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref _Color.R);
@@ -128,8 +155,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref _Color.A);
}
if (xmlReader.GetValue(item + "/SColor", out _Theme.SelColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SelColorName, skinIndex, out _ColorProcessed);
if (xmlReader.GetValue(item + "/SColor", out _Theme.SColor.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SColor.Name, skinIndex, out _ColorProcessed);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SR", ref _ColorProcessed.R);
@@ -141,56 +168,16 @@ namespace VocaluxeLib.Menu
if (_ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.Color.Color = new SColorF(_Color);
_Theme.SColor.Color = new SColorF(_ColorProcessed);
_Theme.Rect = new SRectF(Rect);
LoadTextures();
_Text = new CText(_X, _Y, _Z, _H, _MaxW, EAlignment.Left, EStyle.Bold, "Normal", _Color, String.Empty);
}
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<X>, <Y>, <Z>, <W>, <H>: Lyric position, width and height");
writer.WriteElementString("X", _X.ToString("#0"));
writer.WriteElementString("Y", _Y.ToString("#0"));
writer.WriteElementString("Z", _Z.ToString("#0.00"));
writer.WriteElementString("W", _MaxW.ToString("#0"));
writer.WriteElementString("H", _H.ToString("#0"));
writer.WriteComment("<Color>: Lyric text color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
writer.WriteElementString("R", _Color.R.ToString("#0.00"));
writer.WriteElementString("G", _Color.G.ToString("#0.00"));
writer.WriteElementString("B", _Color.B.ToString("#0.00"));
writer.WriteElementString("A", _Color.A.ToString("#0.00"));
}
writer.WriteComment("<SColor>: Highlighted lyric color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName);
else
{
writer.WriteElementString("SR", _ColorProcessed.R.ToString("#0.00"));
writer.WriteElementString("SG", _ColorProcessed.G.ToString("#0.00"));
writer.WriteElementString("SB", _ColorProcessed.B.ToString("#0.00"));
writer.WriteElementString("SA", _ColorProcessed.A.ToString("#0.00"));
}
writer.WriteEndElement();
return true;
}
return false;
}
public void SetLine(CSongLine line)
{
_Line = line;
@@ -467,11 +454,18 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (!String.IsNullOrEmpty(_Theme.ColorName))
_Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.Color.Name))
_Color = CBase.Theme.GetColor(_Theme.Color.Name, _PartyModeID);
else
_Color = _Theme.Color.Color;
if (!String.IsNullOrEmpty(_Theme.SelColorName))
_ColorProcessed = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.SColor.Name))
_ColorProcessed = CBase.Theme.GetColor(_Theme.SColor.Name, _PartyModeID);
else
_ColorProcessed = _Theme.SColor.Color;
Rect = _Theme.Rect;
_Text = new CText(_X, _Y, _Z, _H, _MaxW, EAlignment.Left, EStyle.Bold, "Normal", _Color, String.Empty);
}
public void ReloadTextures()
@@ -480,6 +474,11 @@ namespace VocaluxeLib.Menu
LoadTextures();
}
public SThemeLyrics GetTheme()
{
return _Theme;
}
#region ThemeEdit
public void MoveElement(int stepX, int stepY)
{
@@ -487,6 +486,7 @@ namespace VocaluxeLib.Menu
rect.X += stepX;
rect.Y += stepY;
Rect = rect;
_Theme.Rect = rect;
}
public void ResizeElement(int stepW, int stepH)
@@ -501,6 +501,7 @@ namespace VocaluxeLib.Menu
rect.H = 1;
Rect = rect;
_Theme.Rect = rect;
}
#endregion ThemeEdit
}
+184 -73
View File
@@ -21,12 +21,51 @@ using System.Drawing;
using System.IO;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
using VocaluxeLib.Menu.SingNotes;
using VocaluxeLib.Menu.SongMenu;
namespace VocaluxeLib.Menu
{
public struct SScreenInformation
{
public string ScreenName;
public int ScreenVersion;
}
[XmlType("Screen")]
public struct STheme
{
[XmlElement("Informations")]
public SScreenInformation ScreenInformation;
[XmlArray("Backgrounds")]
public List<SThemeBackground> Backgrounds;
[XmlArray("Statics")]
public List<SThemeStatic> Statics;
[XmlArray("Texts")]
public List<SThemeText> Texts;
[XmlArray("Buttons")]
public List<SThemeButton> Buttons;
[XmlArray("SongMenus")]
public List<SThemeSongMenu> SongMenus;
[XmlArray("Lyrics")]
public List<SThemeLyrics> Lyrics;
[XmlArray("SelectSlides")]
public List<SThemeSelectSlide> SelectSlides;
[XmlArray("SingNotes")]
public List<SThemeSingBar> SingNotes;
[XmlArray("NameSelections")]
public List<SThemeNameSelection> NameSelections;
[XmlArray("Equalizers")]
public List<SThemeEqualizer> Equalizers;
[XmlArray("Playlists")]
public List<SThemePlaylist> Playlists;
[XmlArray("ParticleEffects")]
public List<SThemeParticleEffect> ParticleEffects;
[XmlArray("ScreenSettings")]
public List<SScreenSetting> ScreenSettings;
}
struct SZSort
{
public int ID;
@@ -37,7 +76,7 @@ namespace VocaluxeLib.Menu
{
private List<CInteraction> _Interactions;
private int _Selection;
private string _ThemePath = String.Empty;
public string ThemePath { get; private set; }
protected int _PartyModeID = -1;
private int _PrevMouseX;
@@ -49,7 +88,8 @@ namespace VocaluxeLib.Menu
protected bool _Active;
protected abstract int _ScreenVersion { get; }
public string ThemeName { get; private set; }
public string ThemeName { get; set; }
public STheme Theme;
// ReSharper disable MemberCanBePrivate.Global
protected string[] _ThemeBackgrounds;
@@ -158,6 +198,89 @@ namespace VocaluxeLib.Menu
}
public virtual void LoadTheme(string xmlPath)
{
if (CBase.Config.GetLoadOldThemeFiles())
{
LoadThemeOld(xmlPath);
return;
}
ThemePath = xmlPath;
string file = Path.Combine(xmlPath, ThemeName + ".xml");
int skinIndex = CBase.Theme.GetSkinIndex(_PartyModeID);
Theme.ScreenInformation = new SScreenInformation();
Theme.Backgrounds = new List<SThemeBackground>();
Theme.Statics = new List<SThemeStatic>();
Theme.Texts = new List<SThemeText>();
Theme.Buttons = new List<SThemeButton>();
Theme.SongMenus = new List<SThemeSongMenu>();
Theme.Lyrics = new List<SThemeLyrics>();
Theme.SelectSlides = new List<SThemeSelectSlide>();
Theme.SingNotes = new List<SThemeSingBar>();
Theme.NameSelections = new List<SThemeNameSelection>();
Theme.Equalizers = new List<SThemeEqualizer>();
Theme.Playlists = new List<SThemePlaylist>();
Theme.ParticleEffects = new List<SThemeParticleEffect>();
Theme.ScreenSettings = new List<SScreenSetting>();
try
{
TextReader textReader = new StreamReader(file);
XmlSerializer deserializer = new XmlSerializer(typeof(STheme));
Theme = (STheme)deserializer.Deserialize(textReader);
foreach (SThemeBackground bg in Theme.Backgrounds)
_AddBackground(new CBackground(bg, _PartyModeID), bg.Name);
foreach (SThemeButton bt in Theme.Buttons)
_AddButton(new CButton(bt, _PartyModeID), bt.Name);
foreach (SThemeEqualizer eq in Theme.Equalizers)
_AddEqualizer(new CEqualizer(eq, _PartyModeID), eq.Name);
foreach (SThemeLyrics ly in Theme.Lyrics)
_AddLyric(new CLyric(ly, _PartyModeID), ly.Name);
foreach (SThemeNameSelection ns in Theme.NameSelections)
_AddNameSelection(new CNameSelection(ns, _PartyModeID), ns.Name);
foreach (SThemeParticleEffect pe in Theme.ParticleEffects)
_AddParticleEffect(new CParticleEffect(pe, _PartyModeID), pe.Name);
foreach(SThemePlaylist pl in Theme.Playlists)
_AddPlaylist(new CPlaylist(pl, _PartyModeID), pl.Name);
foreach (SScreenSetting ss in Theme.ScreenSettings)
_AddScreenSetting(new CScreenSetting(ss, _PartyModeID), ss.Name);
foreach (SThemeSelectSlide sl in Theme.SelectSlides)
_AddSelectSlide(new CSelectSlide(sl, _PartyModeID), sl.Name);
foreach (SThemeSingBar sb in Theme.SingNotes)
_AddSingNote(new CSingNotesClassic(sb, _PartyModeID), sb.Name);
foreach (SThemeSongMenu sm in Theme.SongMenus)
_AddSongMenu(new CSongMenu(sm, _PartyModeID), sm.Name);
foreach (SThemeStatic st in Theme.Statics)
_AddStatic(new CStatic(st, _PartyModeID), st.Name);
foreach (SThemeText te in Theme.Texts)
_AddText(new CText(te, _PartyModeID), te.Name);
}
catch (InvalidOperationException e)
{
CBase.Log.LogError("Error while reading " + ThemeName + ".xml", true, true);
}
catch (Exception e)
{
CBase.Log.LogError(e.Message + e.StackTrace, true, true);
}
}
public virtual void LoadThemeOld(string xmlPath)
{
string file = Path.Combine(xmlPath, ThemeName + ".xml");
@@ -171,7 +294,7 @@ namespace VocaluxeLib.Menu
if (versionCheck && skinIndex != -1)
{
_ThemePath = xmlPath;
ThemePath = xmlPath;
_LoadThemeBasics(xmlReader, skinIndex);
_LoadThemeElement<CBackground>(_ThemeBackgrounds, _AddBackground, xmlReader, skinIndex);
@@ -188,84 +311,72 @@ namespace VocaluxeLib.Menu
_LoadThemeElement<CParticleEffect>(_ThemeParticleEffects, _AddParticleEffect, xmlReader, skinIndex);
_LoadThemeElement<CScreenSetting>(_ThemeScreenSettings, _AddScreenSetting, xmlReader, skinIndex);
}
Theme.ScreenInformation.ScreenName = ThemeName;
Theme.ScreenInformation.ScreenVersion = _ScreenVersion;
Theme.Backgrounds = new List<SThemeBackground>();
Theme.Statics = new List<SThemeStatic>();
Theme.Texts = new List<SThemeText>();
Theme.Buttons = new List<SThemeButton>();
Theme.SongMenus = new List<SThemeSongMenu>();
Theme.Lyrics = new List<SThemeLyrics>();
Theme.SelectSlides = new List<SThemeSelectSlide>();
Theme.SingNotes = new List<SThemeSingBar>();
Theme.NameSelections = new List<SThemeNameSelection>();
Theme.Equalizers = new List<SThemeEqualizer>();
Theme.Playlists = new List<SThemePlaylist>();
Theme.ParticleEffects = new List<SThemeParticleEffect>();
Theme.ScreenSettings = new List<SScreenSetting>();
}
public virtual void SaveTheme()
{
if (_ThemePath == "")
if (CBase.Config.GetLoadOldThemeFiles())
{
//Have to add theme-stuff manually, later it will be done while de-serialization
foreach (CBackground el in _Backgrounds)
Theme.Backgrounds.Add(el.GetTheme());
foreach (CButton el in _Buttons)
Theme.Buttons.Add(el.GetTheme());
foreach (CEqualizer el in _Equalizers)
Theme.Equalizers.Add(el.GetTheme());
foreach (CLyric el in _Lyrics)
Theme.Lyrics.Add(el.GetTheme());
foreach (CNameSelection el in _NameSelections)
Theme.NameSelections.Add(el.GetTheme());
foreach (CParticleEffect el in _ParticleEffects)
Theme.ParticleEffects.Add(el.GetTheme());
foreach (CPlaylist el in _Playlists)
Theme.Playlists.Add(el.GetTheme());
foreach (CScreenSetting el in _ScreenSettings)
Theme.ScreenSettings.Add(el.GetTheme());
foreach (CSelectSlide el in _SelectSlides)
Theme.SelectSlides.Add(el.GetTheme());
foreach (CStatic el in _Statics)
Theme.Statics.Add(el.GetTheme());
foreach (CText el in _Texts)
Theme.Texts.Add(el.GetTheme());
foreach (CSongMenu el in _SongMenus)
Theme.SongMenus.Add(el.GetTheme());
foreach (CSingNotes el in _SingNotes)
Theme.SingNotes.Add(el.GetTheme());
}
if (ThemePath == "" || ThemePath == null)
return;
string file = Path.Combine(_ThemePath, ThemeName + ".xml");
using (XmlWriter writer = XmlWriter.Create(file, CBase.Config.GetXMLSettings()))
try
{
writer.WriteStartDocument();
writer.WriteStartElement("root");
TextWriter textWriter = new StreamWriter(@Path.Combine(ThemePath, ThemeName + ".xml"));
writer.WriteStartElement(ThemeName);
XmlSerializer serializer = new XmlSerializer(typeof(STheme));
serializer.Serialize(textWriter, Theme);
// Screen Version
writer.WriteElementString("ScreenVersion", _ScreenVersion.ToString());
// Backgrounds
foreach (CBackground bg in _Backgrounds)
bg.SaveTheme(writer);
// Statics
foreach (CStatic st in _Statics)
st.SaveTheme(writer);
// Texts
foreach (CText txt in _Texts)
txt.SaveTheme(writer);
// Buttons
foreach (CButton bt in _Buttons)
bt.SaveTheme(writer);
// SelectSlides
foreach (CSelectSlide ss in _SelectSlides)
ss.SaveTheme(writer);
// SongMenus
foreach (CSongMenu sm in _SongMenus)
sm.SaveTheme(writer);
// Lyrics
foreach (CLyric ly in _Lyrics)
ly.SaveTheme(writer);
// SingBars
foreach (CSingNotes sn in _SingNotes)
sn.SaveTheme(writer);
// NameSelections
foreach (CNameSelection ns in _NameSelections)
ns.SaveTheme(writer);
//Equalizers
foreach (CEqualizer eq in _Equalizers)
eq.SaveTheme(writer);
//Playlists
foreach (CPlaylist pl in _Playlists)
pl.SaveTheme(writer);
//ParticleEffects
foreach (CParticleEffect pa in _ParticleEffects)
pa.SaveTheme(writer);
//ScreenSettings
foreach (CScreenSetting cs in _ScreenSettings)
cs.SaveTheme(writer);
writer.WriteEndElement();
// End of File
writer.WriteEndElement(); //end of root
writer.WriteEndDocument();
writer.Flush();
textWriter.Close();
}
catch (Exception e)
{
CBase.Log.LogError("Error while saving theme-file: " + ThemeName + " " + e.Message, true);
}
}
@@ -355,7 +466,7 @@ namespace VocaluxeLib.Menu
public virtual void ReloadTheme(string xmlPath)
{
if (_ThemePath == "")
if (ThemePath == "")
return;
UnloadTextures();
+117 -122
View File
@@ -19,23 +19,59 @@ using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
using VocaluxeLib.Profile;
namespace VocaluxeLib.Menu
{
struct SThemeNameSelection
[XmlType("NameSelection")]
public struct SThemeNameSelection
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
[XmlElement("Rect")]
public SRectF Rect;
[XmlElement("SkinEmptyTile")]
public string TextureEmptyTileName;
public string ColorEmptyTileName;
[XmlElement("ColorEmptyTile")]
public SThemeColor ColorEmptyTile;
[XmlElement("SkinTileSelected")]
public string TextureTileSelectedName;
public float NameSpace;
public float NameHeight;
public string NameFont;
public EStyle NameStyle;
public SColorF NameColor;
public string NameColorName;
[XmlElement("Tiles")]
public SThemeNameSelectionTiles Tiles;
}
public struct SThemeNameSelectionTiles
{
[XmlElement("W")]
public int W;
[XmlElement("H")]
public int H;
[XmlElement("NumW")]
public int NumW;
[XmlElement("NumH")]
public int NumH;
[XmlElement("SpaceW")]
public float SpaceW;
[XmlElement("SpaceH")]
public float SpaceH;
[XmlElement("Name")]
public SThemeNameSelectionName Name;
}
public struct SThemeNameSelectionName
{
[XmlElement("Space")]
public float Space;
[XmlElement("H")]
public float Height;
[XmlElement("Font")]
public string Font;
[XmlElement("Style")]
public EStyle Style;
[XmlElement("Color")]
public SThemeColor Color;
}
public class CNameSelection : IMenuElement
@@ -63,6 +99,11 @@ namespace VocaluxeLib.Menu
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
public bool Selected;
public bool Visible = true;
@@ -78,14 +119,6 @@ namespace VocaluxeLib.Menu
public SColorF ColorEmptyTile;
private int _NumW;
private int _NumH;
private float _SpaceW;
private float _SpaceH;
private int _TileW;
private int _TileH;
public int Offset;
private int _ActualSelection = -1;
@@ -102,12 +135,26 @@ namespace VocaluxeLib.Menu
{
_PartyModeID = partyModeID;
_Theme = new SThemeNameSelection();
_Theme.Tiles = new SThemeNameSelectionTiles();
_Theme.Tiles.Name = new SThemeNameSelectionName();
_Tiles = new List<CTile>();
_VisibleProfiles = new List<int>();
_UsedProfiles = new List<int>();
}
public CNameSelection(SThemeNameSelection theme, int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = theme;
_Tiles = new List<CTile>();
_VisibleProfiles = new List<int>();
_UsedProfiles = new List<int>();
LoadTextures();
}
public void Init()
{
_PrepareTiles();
@@ -115,7 +162,7 @@ namespace VocaluxeLib.Menu
_PlayerSelector = new CStatic(_PartyModeID)
{
Texture = _TextureTileSelected,
Rect = new SRectF(0, 0, _TileW + 6, _TileH + 6, Rect.Z - 0.5f),
Rect = new SRectF(0, 0, _Theme.Tiles.W + 6, _Theme.Tiles.H + 6, Rect.Z - 0.5f),
Visible = false
};
@@ -137,8 +184,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.GetValue(item + "/SkinEmptyTile", out _Theme.TextureEmptyTileName, String.Empty);
if (xmlReader.GetValue(item + "/ColorEmptyTile", out _Theme.ColorEmptyTileName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorEmptyTileName, skinIndex, out ColorEmptyTile);
if (xmlReader.GetValue(item + "/ColorEmptyTile", out _Theme.ColorEmptyTile.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorEmptyTile.Name, skinIndex, out ColorEmptyTile);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref ColorEmptyTile.R);
@@ -149,25 +196,25 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.GetValue(item + "/SkinTileSelected", out _Theme.TextureTileSelectedName, String.Empty);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/W", ref _TileW);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/H", ref _TileH);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/NumW", ref _NumW);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/NumH", ref _NumH);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/SpaceW", ref _SpaceW);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/SpaceH", ref _SpaceH);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/Space", ref _Theme.NameSpace);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/H", ref _Theme.NameHeight);
_ThemeLoaded &= xmlReader.GetValue(item + "/Tiles/Name/Font", out _Theme.NameFont, "Normal");
_ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Tiles/Name/Style", ref _Theme.NameStyle);
if (xmlReader.GetValue(item + "/Tiles/Name/Color", out _Theme.NameColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.NameColorName, skinIndex, out _Theme.NameColor);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/W", ref _Theme.Tiles.W);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/H", ref _Theme.Tiles.H);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/NumW", ref _Theme.Tiles.NumW);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/Tiles/NumH", ref _Theme.Tiles.NumH);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/SpaceW", ref _Theme.Tiles.SpaceW);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/SpaceH", ref _Theme.Tiles.SpaceH);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/Space", ref _Theme.Tiles.Name.Space);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/H", ref _Theme.Tiles.Name.Height);
_ThemeLoaded &= xmlReader.GetValue(item + "/Tiles/Name/Font", out _Theme.Tiles.Name.Font, "Normal");
_ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Tiles/Name/Style", ref _Theme.Tiles.Name.Style);
if (xmlReader.GetValue(item + "/Tiles/Name/Color", out _Theme.Tiles.Name.Color.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.Tiles.Name.Color.Name, skinIndex, out _Theme.Tiles.Name.Color.Color);
else
{
if (xmlReader.TryGetFloatValue(item + "/Tiles/Name/R", ref _Theme.NameColor.R))
if (xmlReader.TryGetFloatValue(item + "/Tiles/Name/R", ref _Theme.Tiles.Name.Color.Color.R))
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/G", ref _Theme.NameColor.G);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/B", ref _Theme.NameColor.B);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/A", ref _Theme.NameColor.A);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/G", ref _Theme.Tiles.Name.Color.Color.G);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/B", ref _Theme.Tiles.Name.Color.Color.B);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Tiles/Name/A", ref _Theme.Tiles.Name.Color.Color.A);
}
}
@@ -175,82 +222,15 @@ namespace VocaluxeLib.Menu
if (_ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.Rect = new SRectF(Rect);
_Theme.ColorEmptyTile.Color = new SColorF(ColorEmptyTile);
LoadTextures();
}
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<X>, <Y>, <Z>, <W>, <H>: NameSelection position, width and height");
writer.WriteElementString("X", Rect.X.ToString("#0"));
writer.WriteElementString("Y", Rect.Y.ToString("#0"));
writer.WriteElementString("Z", Rect.Z.ToString("#0.00"));
writer.WriteElementString("W", Rect.W.ToString("#0"));
writer.WriteElementString("H", Rect.H.ToString("#0"));
writer.WriteComment("<SkinEmptyTile>: Texture name");
writer.WriteElementString("SkinEmptyTile", _Theme.TextureEmptyTileName);
writer.WriteComment("<ColorEmptyTile>: Static color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorEmptyTileName))
writer.WriteElementString("ColorEmptyTile", _Theme.ColorEmptyTileName);
else
{
writer.WriteElementString("R", ColorEmptyTile.R.ToString("#0.00"));
writer.WriteElementString("G", ColorEmptyTile.G.ToString("#0.00"));
writer.WriteElementString("B", ColorEmptyTile.B.ToString("#0.00"));
writer.WriteElementString("A", ColorEmptyTile.A.ToString("#0.00"));
}
writer.WriteComment("<SkinTileSelected>: Texture name");
writer.WriteElementString("SkinTileSelected", _Theme.TextureTileSelectedName);
writer.WriteComment("<Tiles>: Options for tiles");
writer.WriteStartElement("Tiles");
writer.WriteComment("<W>, <H>: Width and height of tile");
writer.WriteElementString("W", _TileW.ToString());
writer.WriteElementString("H", _TileH.ToString());
writer.WriteComment("<NumW>, <NumH>: Number of tiles");
writer.WriteElementString("NumW", _NumW.ToString());
writer.WriteElementString("NumH", _NumH.ToString());
writer.WriteComment("<SpaceW>, <SpaceH>: Space between tiles");
writer.WriteElementString("SpaceW", _SpaceW.ToString("#0.00"));
writer.WriteElementString("SpaceH", _SpaceH.ToString("#0.00"));
writer.WriteComment("<Name>: Options for player-name");
writer.WriteStartElement("Name");
writer.WriteComment("<Space>: Space between name and tile");
writer.WriteElementString("Space", _Theme.NameSpace.ToString("#0.0"));
writer.WriteComment("<Font>: Text font name");
writer.WriteElementString("Font", _Theme.NameFont);
writer.WriteComment("<Color>: Text color from ColorScheme (high priority)");
if (!String.IsNullOrEmpty(_Theme.NameColorName))
writer.WriteElementString("Color", _Theme.NameColorName);
else
{
writer.WriteElementString("R", _Theme.NameColor.R.ToString("#0.00"));
writer.WriteElementString("G", _Theme.NameColor.G.ToString("#0.00"));
writer.WriteElementString("B", _Theme.NameColor.B.ToString("#0.00"));
writer.WriteElementString("A", _Theme.NameColor.A.ToString("#0.00"));
}
writer.WriteComment("<Style>: Text style: " + CHelper.ListStrings(Enum.GetNames(typeof(EStyle))));
writer.WriteElementString("Style", _Theme.NameStyle.ToString());
writer.WriteComment("<H>: Text height");
writer.WriteElementString("H", _Theme.NameHeight.ToString("#0"));
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
return true;
}
return false;
}
public void Draw()
{
int i = 0;
@@ -308,20 +288,20 @@ namespace VocaluxeLib.Menu
break;
case Keys.Up:
if (_ActualSelection - _NumW > -1)
_ActualSelection -= _NumW;
if (_ActualSelection - _Theme.Tiles.NumW > -1)
_ActualSelection -= _Theme.Tiles.NumW;
else if (Offset > 0)
{
UpdateList(Offset - 1);
_ActualSelection += _Tiles.Count - _NumW;
_ActualSelection += _Tiles.Count - _Theme.Tiles.NumW;
}
break;
case Keys.Down:
if (_ActualSelection + _NumW < _Tiles.Count)
if (_ActualSelection + _Theme.Tiles.NumW < _Tiles.Count)
{
if (_Tiles[_ActualSelection + _NumW].ProfileID != -1)
_ActualSelection += _NumW;
if (_Tiles[_ActualSelection + _Theme.Tiles.NumW].ProfileID != -1)
_ActualSelection += _Theme.Tiles.NumW;
}
else
{
@@ -329,7 +309,7 @@ namespace VocaluxeLib.Menu
UpdateList(Offset + 1);
if (offset != Offset)
{
_ActualSelection = _ActualSelection - _Tiles.Count + _NumW;
_ActualSelection = _ActualSelection - _Tiles.Count + _Theme.Tiles.NumW;
if (_Tiles[_ActualSelection].ProfileID == -1)
{
for (int i = _Tiles.Count - 1; i >= 0; i--)
@@ -469,11 +449,15 @@ namespace VocaluxeLib.Menu
_TextureEmptyTile = CBase.Theme.GetSkinTexture(_Theme.TextureEmptyTileName, _PartyModeID);
_TextureTileSelected = CBase.Theme.GetSkinTexture(_Theme.TextureTileSelectedName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.ColorEmptyTileName))
ColorEmptyTile = CBase.Theme.GetColor(_Theme.ColorEmptyTileName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.ColorEmptyTile.Name))
ColorEmptyTile = CBase.Theme.GetColor(_Theme.ColorEmptyTile.Name, _PartyModeID);
else
ColorEmptyTile = _Theme.ColorEmptyTile.Color;
if (!String.IsNullOrEmpty(_Theme.NameColorName))
_Theme.NameColor = CBase.Theme.GetColor(_Theme.NameColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.Tiles.Name.Color.Name))
_Theme.Tiles.Name.Color.Color = CBase.Theme.GetColor(_Theme.Tiles.Name.Color.Name, _PartyModeID);
Rect = _Theme.Rect;
}
public void ReloadTextures()
@@ -529,14 +513,14 @@ namespace VocaluxeLib.Menu
private void _PrepareTiles()
{
_Tiles.Clear();
for (int i = 0; i < _NumH; i++)
for (int i = 0; i < _Theme.Tiles.NumH; i++)
{
for (int j = 0; j < _NumW; j++)
for (int j = 0; j < _Theme.Tiles.NumW; j++)
{
var rect = new SRectF(Rect.X + j * (_TileW + _SpaceW), Rect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, Rect.Z);
var rect = new SRectF(Rect.X + j * (_Theme.Tiles.W + _Theme.Tiles.SpaceW), Rect.Y + i * (_Theme.Tiles.H + _Theme.Tiles.SpaceH), _Theme.Tiles.W, _Theme.Tiles.H, Rect.Z);
var tileStatic = new CStatic(_PartyModeID, _TextureEmptyTile, ColorEmptyTile, rect) {Aspect = EAspect.Crop};
var 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, "");
var tileText = new CText(rect.X + rect.W / 2, rect.Y + rect.H + _Theme.Tiles.Name.Space, rect.Z, _Theme.Tiles.Name.Height, rect.W, EAlignment.Center, _Theme.Tiles.Name.Style,
_Theme.Tiles.Name.Font, _Theme.Tiles.Name.Color.Color, "");
_Tiles.Add(new CTile(tileStatic, tileText, -1));
}
}
@@ -560,11 +544,19 @@ namespace VocaluxeLib.Menu
}
}
public SThemeNameSelection GetTheme()
{
return _Theme;
}
#region ThemeEdit
public void MoveElement(int stepX, int stepY)
{
Rect.X += stepX;
Rect.Y += stepY;
_Theme.Rect.X += stepX;
_Theme.Rect.Y += stepY;
}
public void ResizeElement(int stepW, int stepH)
@@ -576,6 +568,9 @@ namespace VocaluxeLib.Menu
Rect.H += stepH;
if (Rect.H <= 0)
Rect.H = 1;
_Theme.Rect.W = Rect.W;
_Theme.Rect.H = Rect.H;
}
#endregion ThemeEdit
}
+78 -71
View File
@@ -19,15 +19,29 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
struct SThemeParticleEffect
[XmlType("ParticleEffect")]
public struct SThemeParticleEffect
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
[XmlElement("Skin")]
public string TextureName;
public string ColorName;
[XmlElement("Rect")]
public SRectF Rect;
[XmlElement("Color")]
public SThemeColor Color;
[XmlElement("Type")]
public EParticleType Type;
[XmlElement("Size")]
public float Size;
[XmlElement("MaxNumber")]
public int MaxNumber;
}
public enum EParticleType
@@ -145,6 +159,8 @@ namespace VocaluxeLib.Menu
_MaxAge = maxage;
_Rotation = (float)(CBase.Game.GetRandomDouble() * 360.0);
}
#endregion Constructors
public void Update()
@@ -308,9 +324,6 @@ namespace VocaluxeLib.Menu
public bool Visible;
private readonly List<CParticle> _Stars;
private int _MaxNumber;
private float _Size;
private EParticleType _Type;
private readonly Stopwatch _SpawnTimer;
private float _NextSpawnTime;
@@ -321,6 +334,11 @@ namespace VocaluxeLib.Menu
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
public bool IsAlive
{
get { return _Stars.Count > 0 || !_SpawnTimer.IsRunning; }
@@ -344,9 +362,9 @@ namespace VocaluxeLib.Menu
Rect = rect;
Color = color;
_Theme.TextureName = textureName;
_MaxNumber = maxNumber;
_Size = size;
_Type = type;
_Theme.MaxNumber = maxNumber;
_Theme.Size = size;
_Theme.Type = type;
_SpawnTimer = new Stopwatch();
_NextSpawnTime = 0f;
Visible = true;
@@ -361,14 +379,26 @@ namespace VocaluxeLib.Menu
Color = color;
_Theme.TextureName = String.Empty;
Texture = texture;
_MaxNumber = maxNumber;
_Size = size;
_Type = type;
_Theme.MaxNumber = maxNumber;
_Theme.Size = size;
_Theme.Type = type;
_SpawnTimer = new Stopwatch();
_NextSpawnTime = 0f;
Visible = true;
}
public CParticleEffect(SThemeParticleEffect theme, int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = theme;
_Stars = new List<CParticle>();
_SpawnTimer = new Stopwatch();
_NextSpawnTime = 0f;
Visible = true;
LoadTextures();
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
{
string item = xmlPath + "/" + elementName;
@@ -382,8 +412,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref Rect.W);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref Rect.H);
if (xmlReader.GetValue(item + "/Color", out _Theme.ColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out Color);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.Color.Name, skinIndex, out Color);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
@@ -392,59 +422,20 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
_ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Type", ref _Type);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Size", ref _Size);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/MaxNumber", ref _MaxNumber);
_ThemeLoaded &= xmlReader.TryGetEnumValue(item + "/Type", ref _Theme.Type);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Size", ref _Theme.Size);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/MaxNumber", ref _Theme.MaxNumber);
if (_ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.Rect = new SRectF(Rect);
_Theme.Color.Color = new SColorF(Color);
LoadTextures();
}
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<Skin>: Texture name");
writer.WriteElementString("Skin", _Theme.TextureName);
writer.WriteComment("<X>, <Y>, <Z>, <W>, <H>: ParticleEffect position, width and height");
writer.WriteElementString("X", Rect.X.ToString("#0"));
writer.WriteElementString("Y", Rect.Y.ToString("#0"));
writer.WriteElementString("Z", Rect.Z.ToString("#0.00"));
writer.WriteElementString("W", Rect.W.ToString("#0"));
writer.WriteElementString("H", Rect.H.ToString("#0"));
writer.WriteComment("<Color>: ParticleEffect color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
writer.WriteElementString("R", Color.R.ToString("#0.00"));
writer.WriteElementString("G", Color.G.ToString("#0.00"));
writer.WriteElementString("B", Color.B.ToString("#0.00"));
writer.WriteElementString("A", Color.A.ToString("#0.00"));
}
writer.WriteComment("<Type>: Type of ParticleEffect: " + CHelper.ListStrings(Enum.GetNames(typeof(EParticleType))));
writer.WriteElementString("Type", Enum.GetName(typeof(EParticleType), _Type));
writer.WriteComment("<Size>: Size of particle");
writer.WriteElementString("Size", _Size.ToString("#0.00"));
writer.WriteComment("<MaxNumber>: Max number of drawn particles");
writer.WriteElementString("MaxNumber", _MaxNumber.ToString("#0"));
writer.WriteEndElement();
return true;
}
return false;
}
public void Update()
{
bool doSpawn = false;
@@ -462,9 +453,9 @@ namespace VocaluxeLib.Menu
_SpawnTimer.Start();
}
while (_Stars.Count < _MaxNumber && doSpawn)
while (_Stars.Count < _Theme.MaxNumber && doSpawn)
{
float size = CBase.Game.GetRandom((int)_Size / 2) + _Size / 2;
float size = CBase.Game.GetRandom((int)_Theme.Size / 2) + _Theme.Size / 2;
float lifetime = 0f;
float vx = 0f;
float vy = 0f;
@@ -472,10 +463,10 @@ namespace VocaluxeLib.Menu
float vsize = 0f;
_NextSpawnTime = 0f;
switch (_Type)
switch (_Theme.Type)
{
case EParticleType.Twinkle:
size = CBase.Game.GetRandom((int)_Size / 2) + _Size / 2;
size = CBase.Game.GetRandom((int)_Theme.Size / 2) + _Theme.Size / 2;
lifetime = CBase.Game.GetRandom(500) / 1000f + 0.5f;
vx = -CBase.Game.GetRandom(10000) / 50f + 100f;
vy = -CBase.Game.GetRandom(10000) / 50f + 100f;
@@ -484,7 +475,7 @@ namespace VocaluxeLib.Menu
break;
case EParticleType.Star:
size = CBase.Game.GetRandom((int)_Size / 2) + _Size / 2;
size = CBase.Game.GetRandom((int)_Theme.Size / 2) + _Theme.Size / 2;
lifetime = CBase.Game.GetRandom(1000) / 500f + 0.2f;
vx = -CBase.Game.GetRandom(1000) / 50f + 10f;
vy = -CBase.Game.GetRandom(1000) / 50f + 10f;
@@ -493,19 +484,19 @@ namespace VocaluxeLib.Menu
break;
case EParticleType.Snow:
size = CBase.Game.GetRandom((int)_Size / 2) + _Size / 2;
size = CBase.Game.GetRandom((int)_Theme.Size / 2) + _Theme.Size / 2;
lifetime = CBase.Game.GetRandom(5000) / 50f + 10f;
vx = -CBase.Game.GetRandom(1000) / 50f + 10f;
vy = CBase.Game.GetRandom(1000) / 50f + Math.Abs(vx) + 10f;
vr = -CBase.Game.GetRandom(200) / 50f + 2f;
vsize = lifetime * 2f;
_NextSpawnTime = lifetime / _MaxNumber;
_NextSpawnTime = lifetime / _Theme.MaxNumber;
doSpawn = false;
break;
case EParticleType.Flare:
size = CBase.Game.GetRandom((int)_Size / 2) + _Size / 2;
size = CBase.Game.GetRandom((int)_Theme.Size / 2) + _Theme.Size / 2;
lifetime = CBase.Game.GetRandom(500) / 1000f + 0.1f;
vx = -CBase.Game.GetRandom(2000) / 50f;
vy = -CBase.Game.GetRandom(2000) / 50f + 20f;
@@ -514,7 +505,7 @@ namespace VocaluxeLib.Menu
break;
case EParticleType.PerfNoteStar:
size = CBase.Game.GetRandom((int)_Size / 2) + _Size / 2;
size = CBase.Game.GetRandom((int)_Theme.Size / 2) + _Theme.Size / 2;
lifetime = CBase.Game.GetRandom(1000) / 500f + 1.2f;
vx = 0f;
vy = 0f;
@@ -538,20 +529,20 @@ namespace VocaluxeLib.Menu
star = new CParticle(_PartyModeID, _Theme.TextureName, Color,
CBase.Game.GetRandom(w) + Rect.X - size / 4f,
CBase.Game.GetRandom(h) + Rect.Y - size / 4f,
size, lifetime, Rect.Z, vx, vy, vr, vsize, _Type);
size, lifetime, Rect.Z, vx, vy, vr, vsize, _Theme.Type);
}
else
{
star = new CParticle(_PartyModeID, Texture, Color,
CBase.Game.GetRandom(w) + Rect.X - size / 4f,
CBase.Game.GetRandom(h) + Rect.Y - size / 4f,
size, lifetime, Rect.Z, vx, vy, vr, vsize, _Type);
size, lifetime, Rect.Z, vx, vy, vr, vsize, _Theme.Type);
}
_Stars.Add(star);
}
if (_Type == EParticleType.Flare || _Type == EParticleType.PerfNoteStar || _Type == EParticleType.Twinkle)
if (_Theme.Type == EParticleType.Flare || _Theme.Type == EParticleType.PerfNoteStar || _Theme.Type == EParticleType.Twinkle)
_NextSpawnTime = -1f;
int i = 0;
@@ -594,10 +585,15 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.Color.Name))
Color = CBase.Theme.GetColor(_Theme.Color.Name, _PartyModeID);
else
Color = _Theme.Color.Color;
if (!String.IsNullOrEmpty(_Theme.TextureName))
Texture = CBase.Theme.GetSkinTexture(_Theme.TextureName, _PartyModeID);
Rect = _Theme.Rect;
}
public void ReloadTextures()
@@ -606,11 +602,19 @@ namespace VocaluxeLib.Menu
LoadTextures();
}
public SThemeParticleEffect GetTheme()
{
return _Theme;
}
#region ThemeEdit
public void MoveElement(int stepX, int stepY)
{
Rect.X += stepX;
Rect.Y += stepY;
_Theme.Rect.X += stepX;
_Theme.Rect.Y += stepY;
}
public void ResizeElement(int stepW, int stepH)
@@ -622,6 +626,9 @@ namespace VocaluxeLib.Menu
Rect.H += stepH;
if (Rect.H <= 0)
Rect.H = 1;
_Theme.Rect.W = Rect.W;
_Theme.Rect.H = Rect.H;
}
#endregion ThemeEdit
}
+249 -220
View File
@@ -19,6 +19,7 @@ using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Songs;
namespace VocaluxeLib.Menu
@@ -53,31 +54,51 @@ namespace VocaluxeLib.Menu
}
}
struct SThemePlaylist
[XmlType("Playlist")]
public struct SThemePlaylist
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
public string ColorBackgroundName;
public string SelColorBackgroundName;
public string TextureBackgroundName;
public string SelTextureBackgroundName;
[XmlElement("Rect")]
public SRectF Rect;
[XmlElement("EntryHeight")]
public float EntryHeight;
public CText Text1;
[XmlElement("SkinBackground")]
public string TextureBackgroundName;
[XmlElement("SkinBackgroundSelected")]
public string SelTextureBackgroundName;
public CStatic StaticCover;
public CStatic StaticPlaylistHeader;
public CStatic StaticPlaylistFooter;
[XmlElement("ColorBackground")]
public SThemeColor ColorBackground;
[XmlElement("SColorBackground")]
public SThemeColor SelColorBackground;
public CButton ButtonPlaylistName;
public CButton ButtonPlaylistClose;
public CButton ButtonPlaylistSave;
public CButton ButtonPlaylistDelete;
public CButton ButtonPlaylistSing;
[XmlElement("Text1")]
public SThemeText SText1;
public CSelectSlide SelectSlideGameMode;
[XmlElement("StaticCover")]
public SThemeStatic SStaticCover;
[XmlElement("StaticPlaylistHeader")]
public SThemeStatic SStaticPlaylistHeader;
[XmlElement("StaticPlaylistFooter")]
public SThemeStatic SStaticPlaylistFooter;
[XmlElement("ButtonPlaylistName")]
public SThemeButton SButtonPlaylistName;
[XmlElement("ButtonPlaylistClose")]
public SThemeButton SButtonPlaylistClose;
[XmlElement("ButtonPlaylistSave")]
public SThemeButton SButtonPlaylistSave;
[XmlElement("ButtonPlaylistDelete")]
public SThemeButton SButtonPlaylistDelete;
[XmlElement("ButtonPlaylistSing")]
public SThemeButton SButtonPlaylistSing;
[XmlElement("SelectSlideGameMode")]
public SThemeSelectSlide SSelectSlideGameMode;
}
public class CPlaylist : IMenuElement
@@ -150,6 +171,11 @@ namespace VocaluxeLib.Menu
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
private readonly CObjectInteractions _Interactions;
private readonly List<CPlaylistElement> _PlaylistElements;
@@ -160,6 +186,17 @@ namespace VocaluxeLib.Menu
public SColorF BackgroundColor;
public SColorF BackgroundSelColor;
public CButton ButtonPlaylistName;
public CButton ButtonPlaylistClose;
public CButton ButtonPlaylistSave;
public CButton ButtonPlaylistDelete;
public CButton ButtonPlaylistSing;
public CText Text1;
public CSelectSlide SelectSlideGameMode;
public CStatic StaticCover;
public CStatic StaticPlaylistHeader;
public CStatic StaticPlaylistFooter;
public bool Visible;
private bool _Selected;
@@ -201,19 +238,17 @@ namespace VocaluxeLib.Menu
public CPlaylist(int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = new SThemePlaylist
{
Text1 = new CText(_PartyModeID),
StaticCover = new CStatic(_PartyModeID),
StaticPlaylistFooter = new CStatic(_PartyModeID),
StaticPlaylistHeader = new CStatic(_PartyModeID),
ButtonPlaylistName = new CButton(_PartyModeID),
ButtonPlaylistClose = new CButton(_PartyModeID),
ButtonPlaylistDelete = new CButton(_PartyModeID),
ButtonPlaylistSave = new CButton(_PartyModeID),
ButtonPlaylistSing = new CButton(_PartyModeID),
SelectSlideGameMode = new CSelectSlide(_PartyModeID)
};
Text1 = new CText(_PartyModeID);
StaticCover = new CStatic(_PartyModeID);
StaticPlaylistFooter = new CStatic(_PartyModeID);
StaticPlaylistHeader = new CStatic(_PartyModeID);
ButtonPlaylistName = new CButton(_PartyModeID);
ButtonPlaylistClose = new CButton(_PartyModeID);
ButtonPlaylistDelete = new CButton(_PartyModeID);
ButtonPlaylistSave = new CButton(_PartyModeID);
ButtonPlaylistSing = new CButton(_PartyModeID);
SelectSlideGameMode = new CSelectSlide(_PartyModeID);
CompleteRect = new SRectF();
Rect = new SRectF();
@@ -230,18 +265,48 @@ namespace VocaluxeLib.Menu
Selected = false;
}
public CPlaylist(SThemePlaylist theme, int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = theme;
CompleteRect = new SRectF();
_PlaylistElements = new List<CPlaylistElement>();
_PlaylistElementContents = new List<CPlaylistElementContent>();
_Interactions = new CObjectInteractions();
_ChangeOrderElement = new CPlaylistElement();
Text1 = new CText(_Theme.SText1, _PartyModeID);
StaticCover = new CStatic(_Theme.SStaticCover, _PartyModeID);
StaticPlaylistFooter = new CStatic(_Theme.SStaticPlaylistFooter, _PartyModeID);
StaticPlaylistHeader = new CStatic(_Theme.SStaticPlaylistHeader, _PartyModeID);
ButtonPlaylistName = new CButton(_Theme.SButtonPlaylistName, _PartyModeID);
ButtonPlaylistClose = new CButton(_Theme.SButtonPlaylistClose, _PartyModeID);
ButtonPlaylistDelete = new CButton(_Theme.SButtonPlaylistDelete, _PartyModeID);
ButtonPlaylistSave = new CButton(_Theme.SButtonPlaylistSave, _PartyModeID);
ButtonPlaylistSing = new CButton(_Theme.SButtonPlaylistSing, _PartyModeID);
SelectSlideGameMode = new CSelectSlide(_Theme.SSelectSlideGameMode, _PartyModeID);
Visible = false;
Selected = false;
LoadTextures();
}
public void Init()
{
_Interactions.Clear();
_PrepareList();
_Interactions.AddStatic(_Theme.StaticCover);
_Interactions.AddStatic(_Theme.StaticPlaylistFooter);
_Interactions.AddStatic(_Theme.StaticPlaylistHeader);
_Interactions.AddButton(_Theme.ButtonPlaylistName);
_Interactions.AddButton(_Theme.ButtonPlaylistClose);
_Interactions.AddButton(_Theme.ButtonPlaylistDelete);
_Interactions.AddButton(_Theme.ButtonPlaylistSave);
_Interactions.AddButton(_Theme.ButtonPlaylistSing);
_Interactions.AddStatic(StaticCover);
_Interactions.AddStatic(StaticPlaylistFooter);
_Interactions.AddStatic(StaticPlaylistHeader);
_Interactions.AddButton(ButtonPlaylistName);
_Interactions.AddButton(ButtonPlaylistClose);
_Interactions.AddButton(ButtonPlaylistDelete);
_Interactions.AddButton(ButtonPlaylistSave);
_Interactions.AddButton(ButtonPlaylistSing);
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
@@ -257,8 +322,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Z", ref Rect.Z);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref Rect.W);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref Rect.H);
if (xmlReader.GetValue(item + "/ColorBackground", out _Theme.ColorBackgroundName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorBackgroundName, skinIndex, out BackgroundColor);
if (xmlReader.GetValue(item + "/ColorBackground", out _Theme.ColorBackground.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorBackground.Name, skinIndex, out BackgroundColor);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/BackgroundR", ref BackgroundColor.R);
@@ -266,8 +331,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/BackgroundB", ref BackgroundColor.B);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/BackgroundA", ref BackgroundColor.A);
}
if (xmlReader.GetValue(item + "/SColorBackground", out _Theme.SelColorBackgroundName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SelColorBackgroundName, skinIndex, out BackgroundSelColor);
if (xmlReader.GetValue(item + "/SColorBackground", out _Theme.SelColorBackground.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SelColorBackground.Name, skinIndex, out BackgroundSelColor);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SBackgroundR", ref BackgroundSelColor.R);
@@ -276,142 +341,42 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SBackgroundA", ref BackgroundSelColor.A);
}
_ThemeLoaded &= _Theme.Text1.LoadTheme(item, "TextPart1", xmlReader, skinIndex);
_ThemeLoaded &= Text1.LoadTheme(item, "TextPart1", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.StaticCover.LoadTheme(item, "StaticCover", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.StaticPlaylistHeader.LoadTheme(item, "StaticPlaylistHeader", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.StaticPlaylistFooter.LoadTheme(item, "StaticPlaylistFooter", xmlReader, skinIndex);
_ThemeLoaded &= StaticCover.LoadTheme(item, "StaticCover", xmlReader, skinIndex);
_ThemeLoaded &= StaticPlaylistHeader.LoadTheme(item, "StaticPlaylistHeader", xmlReader, skinIndex);
_ThemeLoaded &= StaticPlaylistFooter.LoadTheme(item, "StaticPlaylistFooter", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.ButtonPlaylistName.LoadTheme(item, "ButtonPlaylistName", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.ButtonPlaylistSing.LoadTheme(item, "ButtonPlaylistSing", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.ButtonPlaylistClose.LoadTheme(item, "ButtonPlaylistClose", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.ButtonPlaylistSave.LoadTheme(item, "ButtonPlaylistSave", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.ButtonPlaylistDelete.LoadTheme(item, "ButtonPlaylistDelete", xmlReader, skinIndex);
_ThemeLoaded &= ButtonPlaylistName.LoadTheme(item, "ButtonPlaylistName", xmlReader, skinIndex);
_ThemeLoaded &= ButtonPlaylistSing.LoadTheme(item, "ButtonPlaylistSing", xmlReader, skinIndex);
_ThemeLoaded &= ButtonPlaylistClose.LoadTheme(item, "ButtonPlaylistClose", xmlReader, skinIndex);
_ThemeLoaded &= ButtonPlaylistSave.LoadTheme(item, "ButtonPlaylistSave", xmlReader, skinIndex);
_ThemeLoaded &= ButtonPlaylistDelete.LoadTheme(item, "ButtonPlaylistDelete", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.SelectSlideGameMode.LoadTheme(item, "SelectSlideGameMode", xmlReader, skinIndex);
_ThemeLoaded &=SelectSlideGameMode.LoadTheme(item, "SelectSlideGameMode", xmlReader, skinIndex);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/EntryHeight", ref _Theme.EntryHeight);
if (_ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.Rect = Rect;
_Theme.ColorBackground.Color = BackgroundColor;
_Theme.SelColorBackground.Color = BackgroundSelColor;
_Theme.SText1 = Text1.GetTheme();
_Theme.SStaticCover = StaticCover.GetTheme();
_Theme.SStaticPlaylistFooter = StaticPlaylistFooter.GetTheme();
_Theme.SStaticPlaylistHeader = StaticPlaylistHeader.GetTheme();
_Theme.SButtonPlaylistName =ButtonPlaylistName.GetTheme();
_Theme.SButtonPlaylistSing =ButtonPlaylistSing.GetTheme();
_Theme.SButtonPlaylistClose =ButtonPlaylistClose.GetTheme();
_Theme.SButtonPlaylistSave =ButtonPlaylistSave.GetTheme();
_Theme.SButtonPlaylistDelete =ButtonPlaylistDelete.GetTheme();
//Check for highest x/y-coords
CompleteRect = Rect;
//ButtonPlaylistClose
if (_Theme.ButtonPlaylistClose.Rect.X < CompleteRect.X)
CompleteRect.X = _Theme.ButtonPlaylistClose.Rect.X;
if (_Theme.ButtonPlaylistClose.Rect.Y < CompleteRect.Y)
CompleteRect.Y = _Theme.ButtonPlaylistClose.Rect.Y;
if (_Theme.ButtonPlaylistClose.Rect.W + _Theme.ButtonPlaylistClose.Rect.X > CompleteRect.W + CompleteRect.X)
CompleteRect.W = _Theme.ButtonPlaylistClose.Rect.W + _Theme.ButtonPlaylistClose.Rect.X - CompleteRect.X;
if (_Theme.ButtonPlaylistClose.Rect.Y + _Theme.ButtonPlaylistClose.Rect.H > CompleteRect.Y + CompleteRect.H)
CompleteRect.H = _Theme.ButtonPlaylistClose.Rect.H + _Theme.ButtonPlaylistClose.Rect.Y - CompleteRect.Y;
//ButtonPlaylistName
if (_Theme.ButtonPlaylistName.Rect.X < CompleteRect.X)
CompleteRect.X = _Theme.ButtonPlaylistName.Rect.X;
if (_Theme.ButtonPlaylistName.Rect.Y < CompleteRect.Y)
CompleteRect.Y = _Theme.ButtonPlaylistName.Rect.Y;
if (_Theme.ButtonPlaylistName.Rect.W + _Theme.ButtonPlaylistName.Rect.X > CompleteRect.W + CompleteRect.X)
CompleteRect.W = _Theme.ButtonPlaylistName.Rect.W + _Theme.ButtonPlaylistName.Rect.X - CompleteRect.X;
if (_Theme.ButtonPlaylistName.Rect.Y + _Theme.ButtonPlaylistName.Rect.H > CompleteRect.Y + CompleteRect.H)
CompleteRect.H = _Theme.ButtonPlaylistName.Rect.H + _Theme.ButtonPlaylistName.Rect.Y - CompleteRect.Y;
//ButtonPlaylistSing
if (_Theme.ButtonPlaylistSing.Rect.X < CompleteRect.X)
CompleteRect.X = _Theme.ButtonPlaylistSing.Rect.X;
if (_Theme.ButtonPlaylistSing.Rect.Y < CompleteRect.Y)
CompleteRect.Y = _Theme.ButtonPlaylistSing.Rect.Y;
if (_Theme.ButtonPlaylistSing.Rect.W + _Theme.ButtonPlaylistSing.Rect.X > CompleteRect.W + CompleteRect.X)
CompleteRect.W = _Theme.ButtonPlaylistSing.Rect.W + _Theme.ButtonPlaylistSing.Rect.X - CompleteRect.X;
if (_Theme.ButtonPlaylistSing.Rect.Y + _Theme.ButtonPlaylistSing.Rect.H > CompleteRect.Y + CompleteRect.H)
CompleteRect.H = _Theme.ButtonPlaylistSing.Rect.H + _Theme.ButtonPlaylistSing.Rect.Y - CompleteRect.Y;
//ButtonPlaylistSave
if (_Theme.ButtonPlaylistSave.Rect.X < CompleteRect.X)
CompleteRect.X = _Theme.ButtonPlaylistSave.Rect.X;
if (_Theme.ButtonPlaylistSave.Rect.Y < CompleteRect.Y)
CompleteRect.Y = _Theme.ButtonPlaylistSave.Rect.Y;
if (_Theme.ButtonPlaylistSave.Rect.W + _Theme.ButtonPlaylistSave.Rect.X > CompleteRect.W + CompleteRect.X)
CompleteRect.W = _Theme.ButtonPlaylistSave.Rect.W + _Theme.ButtonPlaylistSave.Rect.X - CompleteRect.X;
if (_Theme.ButtonPlaylistSave.Rect.Y + _Theme.ButtonPlaylistSave.Rect.H > CompleteRect.Y + CompleteRect.H)
CompleteRect.H = _Theme.ButtonPlaylistSave.Rect.H + _Theme.ButtonPlaylistSave.Rect.Y - CompleteRect.Y;
//ButtonPlaylistDelete
if (_Theme.ButtonPlaylistDelete.Rect.X < CompleteRect.X)
CompleteRect.X = _Theme.ButtonPlaylistDelete.Rect.X;
if (_Theme.ButtonPlaylistDelete.Rect.Y < CompleteRect.Y)
CompleteRect.Y = _Theme.ButtonPlaylistDelete.Rect.Y;
if (_Theme.ButtonPlaylistDelete.Rect.W + _Theme.ButtonPlaylistDelete.Rect.X > CompleteRect.W + CompleteRect.X)
CompleteRect.W = _Theme.ButtonPlaylistDelete.Rect.W + _Theme.ButtonPlaylistDelete.Rect.X - CompleteRect.X;
if (_Theme.ButtonPlaylistDelete.Rect.Y + _Theme.ButtonPlaylistDelete.Rect.H > CompleteRect.Y + CompleteRect.H)
CompleteRect.H = _Theme.ButtonPlaylistDelete.Rect.H + _Theme.ButtonPlaylistDelete.Rect.Y - CompleteRect.Y;
LoadTextures();
}
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<X>, <Y>, <Z>, <W>, <H>: Playlist position, width and height");
writer.WriteElementString("X", Rect.X.ToString("#0"));
writer.WriteElementString("Y", Rect.Y.ToString("#0"));
writer.WriteElementString("Z", Rect.Z.ToString("#0.00"));
writer.WriteElementString("W", Rect.W.ToString("#0"));
writer.WriteElementString("H", Rect.H.ToString("#0"));
writer.WriteElementString("EntryHeight", _Theme.EntryHeight.ToString("#0.00"));
writer.WriteComment("<SkinBackground>: Texture name");
writer.WriteElementString("SkinBackground", _Theme.TextureBackgroundName);
writer.WriteComment("<SkinBackgroundSelected>: Texture name for selected playlist-entry");
writer.WriteElementString("SkinBackgroundSelected", _Theme.SelTextureBackgroundName);
writer.WriteComment("<ColorBackground>: Button color from ColorScheme (high priority)");
writer.WriteComment("or <BackgroundR>, <BackgroundG>, <BackgroundB>, <BackgroundA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorBackgroundName))
writer.WriteElementString("ColorBackground", _Theme.ColorBackgroundName);
else
{
writer.WriteElementString("BackgroundR", BackgroundColor.R.ToString("#0.00"));
writer.WriteElementString("BackgroundG", BackgroundColor.G.ToString("#0.00"));
writer.WriteElementString("BackgroundB", BackgroundColor.B.ToString("#0.00"));
writer.WriteElementString("BackgroundA", BackgroundColor.A.ToString("#0.00"));
}
writer.WriteComment("<SColorBackground>: Selected paylist-entry color from ColorScheme (high priority)");
writer.WriteComment("or <SBackgroundR>, <SBackgroundG>, <SBackgroundB>, <SBackgroundA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.SelColorBackgroundName))
writer.WriteElementString("SColorBackground", _Theme.SelColorBackgroundName);
else
{
writer.WriteElementString("SBackgroundR", BackgroundSelColor.R.ToString("#0.00"));
writer.WriteElementString("SBackgroundG", BackgroundSelColor.G.ToString("#0.00"));
writer.WriteElementString("SBackgroundB", BackgroundSelColor.B.ToString("#0.00"));
writer.WriteElementString("SBackgroundA", BackgroundSelColor.A.ToString("#0.00"));
}
writer.WriteComment("Positions of <TextPart1>, <TextPart2>, <TextPart3>, <StaticCover> and <SelectSlideGameMode> are relative to playlist-entry!");
writer.WriteComment("Use placeholders for Text of <TextPart1>, <TextPart2> and <TextPart3>: %t, %a, %l");
_Theme.Text1.SaveTheme(writer);
_Theme.StaticPlaylistFooter.SaveTheme(writer);
_Theme.StaticPlaylistHeader.SaveTheme(writer);
_Theme.StaticCover.SaveTheme(writer);
_Theme.SelectSlideGameMode.SaveTheme(writer);
_Theme.ButtonPlaylistName.SaveTheme(writer);
_Theme.ButtonPlaylistClose.SaveTheme(writer);
_Theme.ButtonPlaylistDelete.SaveTheme(writer);
_Theme.ButtonPlaylistSave.SaveTheme(writer);
_Theme.ButtonPlaylistSing.SaveTheme(writer);
writer.WriteEndElement();
return true;
}
return false;
}
public void Draw(bool forceDraw = false)
{
if (_PlaylistElements.Count <= 0)
@@ -445,40 +410,48 @@ namespace VocaluxeLib.Menu
public void UnloadTextures()
{
_Theme.Text1.UnloadTextures();
_Theme.ButtonPlaylistClose.UnloadTextures();
_Theme.ButtonPlaylistDelete.UnloadTextures();
_Theme.ButtonPlaylistName.UnloadTextures();
_Theme.ButtonPlaylistSave.UnloadTextures();
_Theme.ButtonPlaylistSing.UnloadTextures();
Text1.UnloadTextures();
ButtonPlaylistClose.UnloadTextures();
ButtonPlaylistDelete.UnloadTextures();
ButtonPlaylistName.UnloadTextures();
ButtonPlaylistSave.UnloadTextures();
ButtonPlaylistSing.UnloadTextures();
_Theme.StaticCover.UnloadTextures();
_Theme.StaticPlaylistFooter.UnloadTextures();
_Theme.StaticPlaylistHeader.UnloadTextures();
StaticCover.UnloadTextures();
StaticPlaylistFooter.UnloadTextures();
StaticPlaylistHeader.UnloadTextures();
_Theme.SelectSlideGameMode.UnloadTextures();
SelectSlideGameMode.UnloadTextures();
}
public void LoadTextures()
{
if (!String.IsNullOrEmpty(_Theme.ColorBackgroundName))
BackgroundColor = CBase.Theme.GetColor(_Theme.ColorBackgroundName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.ColorBackground.Name))
BackgroundColor = CBase.Theme.GetColor(_Theme.ColorBackground.Name, _PartyModeID);
else
BackgroundColor = _Theme.ColorBackground.Color;
if (!String.IsNullOrEmpty(_Theme.SelColorBackgroundName))
BackgroundSelColor = CBase.Theme.GetColor(_Theme.SelColorBackgroundName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.SelColorBackground.Name))
BackgroundSelColor = CBase.Theme.GetColor(_Theme.SelColorBackground.Name, _PartyModeID);
else
BackgroundSelColor = _Theme.SelColorBackground.Color;
_Theme.Text1.LoadTextures();
_Theme.ButtonPlaylistClose.LoadTextures();
_Theme.ButtonPlaylistDelete.LoadTextures();
_Theme.ButtonPlaylistName.LoadTextures();
_Theme.ButtonPlaylistSave.LoadTextures();
_Theme.ButtonPlaylistSing.LoadTextures();
Rect = _Theme.Rect;
_Theme.StaticCover.LoadTextures();
_Theme.StaticPlaylistFooter.LoadTextures();
_Theme.StaticPlaylistHeader.LoadTextures();
Text1.LoadTextures();
ButtonPlaylistClose.LoadTextures();
ButtonPlaylistDelete.LoadTextures();
ButtonPlaylistName.LoadTextures();
ButtonPlaylistSave.LoadTextures();
ButtonPlaylistSing.LoadTextures();
_Theme.SelectSlideGameMode.LoadTextures();
StaticCover.LoadTextures();
StaticPlaylistFooter.LoadTextures();
StaticPlaylistHeader.LoadTextures();
SelectSlideGameMode.LoadTextures();
_UpdateRect();
Init();
}
@@ -497,26 +470,26 @@ namespace VocaluxeLib.Menu
if (EditMode == EEditMode.PlaylistName)
{
if (keyEvent.KeyPressed && !Char.IsControl(keyEvent.Unicode))
_Theme.ButtonPlaylistName.Text.Text = _Theme.ButtonPlaylistName.Text.Text + keyEvent.Unicode;
ButtonPlaylistName.Text.Text = ButtonPlaylistName.Text.Text + keyEvent.Unicode;
else
{
switch (keyEvent.Key)
{
case Keys.Enter:
CBase.Playlist.SetName(ActivePlaylistID, _Theme.ButtonPlaylistName.Text.Text);
CBase.Playlist.SetName(ActivePlaylistID, ButtonPlaylistName.Text.Text);
CBase.Playlist.Save(ActivePlaylistID);
EditMode = EEditMode.None;
_Theme.ButtonPlaylistName.EditMode = false;
ButtonPlaylistName.EditMode = false;
break;
case Keys.Escape:
_Theme.ButtonPlaylistName.Text.Text = CBase.Playlist.GetName(ActivePlaylistID);
ButtonPlaylistName.Text.Text = CBase.Playlist.GetName(ActivePlaylistID);
EditMode = EEditMode.None;
_Theme.ButtonPlaylistName.EditMode = false;
ButtonPlaylistName.EditMode = false;
break;
case Keys.Delete:
case Keys.Back:
if (!String.IsNullOrEmpty(_Theme.ButtonPlaylistName.Text.Text))
_Theme.ButtonPlaylistName.Text.Text = _Theme.ButtonPlaylistName.Text.Text.Remove(_Theme.ButtonPlaylistName.Text.Text.Length - 1);
if (!String.IsNullOrEmpty(ButtonPlaylistName.Text.Text))
ButtonPlaylistName.Text.Text = ButtonPlaylistName.Text.Text.Remove(ButtonPlaylistName.Text.Text.Length - 1);
break;
}
}
@@ -749,38 +722,38 @@ namespace VocaluxeLib.Menu
switch (keyEvent.Key)
{
case Keys.Back:
if (_Theme.ButtonPlaylistName.Selected)
if (ButtonPlaylistName.Selected)
{
EditMode = EEditMode.PlaylistName;
_Theme.ButtonPlaylistName.EditMode = true;
ButtonPlaylistName.EditMode = true;
}
else
ClosePlaylist();
break;
case Keys.Enter:
if (_Theme.ButtonPlaylistClose.Selected)
if (ButtonPlaylistClose.Selected)
ClosePlaylist();
else if (_Theme.ButtonPlaylistSing.Selected)
else if (ButtonPlaylistSing.Selected)
_StartPlaylistSongs();
else if (_Theme.ButtonPlaylistSave.Selected)
else if (ButtonPlaylistSave.Selected)
CBase.Playlist.Save(ActivePlaylistID);
else if (_Theme.ButtonPlaylistDelete.Selected)
else if (ButtonPlaylistDelete.Selected)
{
CBase.Playlist.Delete(ActivePlaylistID);
ClosePlaylist();
}
else if (_Theme.ButtonPlaylistName.Selected)
else if (ButtonPlaylistName.Selected)
{
if (EditMode != EEditMode.PlaylistName)
{
EditMode = EEditMode.PlaylistName;
_Theme.ButtonPlaylistName.EditMode = true;
ButtonPlaylistName.EditMode = true;
}
else
{
EditMode = EEditMode.None;
_Theme.ButtonPlaylistName.EditMode = false;
ButtonPlaylistName.EditMode = false;
}
}
break;
@@ -910,31 +883,31 @@ namespace VocaluxeLib.Menu
_PlaylistElementContents[CurrentPlaylistElement + Offset].Modes[_PlaylistElements[CurrentPlaylistElement].SelectSlide.Selection];
UpdatePlaylist();
}
if (_Theme.ButtonPlaylistClose.Selected)
if (ButtonPlaylistClose.Selected)
{
ClosePlaylist();
return true;
}
if (_Theme.ButtonPlaylistSing.Selected)
if (ButtonPlaylistSing.Selected)
{
_StartPlaylistSongs();
return true;
}
if (_Theme.ButtonPlaylistSave.Selected)
if (ButtonPlaylistSave.Selected)
{
CBase.Playlist.Save(ActivePlaylistID);
return true;
}
if (_Theme.ButtonPlaylistDelete.Selected)
if (ButtonPlaylistDelete.Selected)
{
CBase.Playlist.Delete(ActivePlaylistID);
ClosePlaylist();
return true;
}
if (_Theme.ButtonPlaylistName.Selected)
if (ButtonPlaylistName.Selected)
{
EditMode = EEditMode.PlaylistName;
_Theme.ButtonPlaylistName.EditMode = true;
ButtonPlaylistName.EditMode = true;
return true;
}
}
@@ -1022,13 +995,13 @@ namespace VocaluxeLib.Menu
break;
case EEditMode.PlaylistName:
_Interactions.SetInteractionToButton(_Theme.ButtonPlaylistName);
_Interactions.SetInteractionToButton(ButtonPlaylistName);
CurrentPlaylistElement = -1;
if (mouseEvent.LB)
{
if (_Theme.ButtonPlaylistName.Selected)
if (ButtonPlaylistName.Selected)
{
CBase.Playlist.SetName(ActivePlaylistID, _Theme.ButtonPlaylistName.Text.Text);
CBase.Playlist.SetName(ActivePlaylistID, ButtonPlaylistName.Text.Text);
CBase.Playlist.Save(ActivePlaylistID);
EditMode = EEditMode.None;
return true;
@@ -1036,11 +1009,11 @@ namespace VocaluxeLib.Menu
}
else if (mouseEvent.RB)
{
if (_Theme.ButtonPlaylistName.Selected)
if (ButtonPlaylistName.Selected)
{
_Theme.ButtonPlaylistName.Text.Text = CBase.Playlist.GetName(ActivePlaylistID);
ButtonPlaylistName.Text.Text = CBase.Playlist.GetName(ActivePlaylistID);
EditMode = EEditMode.None;
_Theme.ButtonPlaylistName.EditMode = false;
ButtonPlaylistName.EditMode = false;
return true;
}
}
@@ -1104,17 +1077,17 @@ namespace VocaluxeLib.Menu
{
Background = new CStatic(_PartyModeID, _Theme.TextureBackgroundName, BackgroundColor,
new SRectF(Rect.X, Rect.Y + (i * _Theme.EntryHeight), Rect.W, _Theme.EntryHeight, Rect.Z)),
Cover = new CStatic(_Theme.StaticCover)
Cover = new CStatic(StaticCover)
};
en.Cover.Rect.Y += Rect.Y + (i * _Theme.EntryHeight);
en.Cover.Rect.X += Rect.X;
en.Text1 = new CText(_Theme.Text1);
en.Text1 = new CText(Text1);
en.Text1.X += Rect.X;
en.Text1.Y += Rect.Y + (i * _Theme.EntryHeight);
en.SelectSlide = new CSelectSlide(_Theme.SelectSlideGameMode);
en.SelectSlide = new CSelectSlide(SelectSlideGameMode);
en.SelectSlide.Rect.X += Rect.X;
en.SelectSlide.Rect.Y += Rect.Y + (i * _Theme.EntryHeight);
en.SelectSlide.RectArrowLeft.X += Rect.X;
@@ -1137,7 +1110,7 @@ namespace VocaluxeLib.Menu
if (!CBase.Playlist.Exists(playlistID))
return false;
ActivePlaylistID = playlistID;
_Theme.ButtonPlaylistName.Text.Text = CBase.Playlist.GetName(ActivePlaylistID);
ButtonPlaylistName.Text.Text = CBase.Playlist.GetName(ActivePlaylistID);
_PlaylistElementContents.Clear();
for (int i = 0; i < CBase.Playlist.GetSongCount(ActivePlaylistID); i++)
{
@@ -1215,7 +1188,7 @@ namespace VocaluxeLib.Menu
CPlaylistElementContent pec = _PlaylistElementContents[Offset + i];
CSong song = CBase.Songs.GetSongByID(pec.SongID);
_PlaylistElements[i].Cover.Texture = song.CoverTextureSmall;
string t1 = CBase.Language.Translate(_Theme.Text1.Text).Replace("%a", song.Artist).Replace("%t", song.Title);
string t1 = CBase.Language.Translate(Text1.Text).Replace("%a", song.Artist).Replace("%t", song.Title);
_PlaylistElements[i].Text1.Text = /*(Offset + i + 1) + ") " + */ t1; //TODO: Add text field for the number
_PlaylistElements[i].SelectSlide.Clear();
for (int g = 0; g < pec.Modes.Count; g++)
@@ -1237,6 +1210,62 @@ namespace VocaluxeLib.Menu
}
}
public SThemePlaylist GetTheme()
{
return _Theme;
}
private void _UpdateRect()
{
//Check for highest x/y-coords
CompleteRect = Rect;
//ButtonPlaylistClose
if (ButtonPlaylistClose.Rect.X < CompleteRect.X)
CompleteRect.X = ButtonPlaylistClose.Rect.X;
if (ButtonPlaylistClose.Rect.Y < CompleteRect.Y)
CompleteRect.Y = ButtonPlaylistClose.Rect.Y;
if (ButtonPlaylistClose.Rect.W + ButtonPlaylistClose.Rect.X > CompleteRect.W + CompleteRect.X)
CompleteRect.W = ButtonPlaylistClose.Rect.W + ButtonPlaylistClose.Rect.X - CompleteRect.X;
if (ButtonPlaylistClose.Rect.Y + ButtonPlaylistClose.Rect.H > CompleteRect.Y + CompleteRect.H)
CompleteRect.H = ButtonPlaylistClose.Rect.H + ButtonPlaylistClose.Rect.Y - CompleteRect.Y;
//ButtonPlaylistName
if (ButtonPlaylistName.Rect.X < CompleteRect.X)
CompleteRect.X = ButtonPlaylistName.Rect.X;
if (ButtonPlaylistName.Rect.Y < CompleteRect.Y)
CompleteRect.Y = ButtonPlaylistName.Rect.Y;
if (ButtonPlaylistName.Rect.W + ButtonPlaylistName.Rect.X > CompleteRect.W + CompleteRect.X)
CompleteRect.W = ButtonPlaylistName.Rect.W + ButtonPlaylistName.Rect.X - CompleteRect.X;
if (ButtonPlaylistName.Rect.Y + ButtonPlaylistName.Rect.H > CompleteRect.Y + CompleteRect.H)
CompleteRect.H = ButtonPlaylistName.Rect.H + ButtonPlaylistName.Rect.Y - CompleteRect.Y;
//ButtonPlaylistSing
if (ButtonPlaylistSing.Rect.X < CompleteRect.X)
CompleteRect.X = ButtonPlaylistSing.Rect.X;
if (ButtonPlaylistSing.Rect.Y < CompleteRect.Y)
CompleteRect.Y = ButtonPlaylistSing.Rect.Y;
if (ButtonPlaylistSing.Rect.W + ButtonPlaylistSing.Rect.X > CompleteRect.W + CompleteRect.X)
CompleteRect.W = ButtonPlaylistSing.Rect.W + ButtonPlaylistSing.Rect.X - CompleteRect.X;
if (ButtonPlaylistSing.Rect.Y + ButtonPlaylistSing.Rect.H > CompleteRect.Y + CompleteRect.H)
CompleteRect.H = ButtonPlaylistSing.Rect.H + ButtonPlaylistSing.Rect.Y - CompleteRect.Y;
//ButtonPlaylistSave
if (ButtonPlaylistSave.Rect.X < CompleteRect.X)
CompleteRect.X = ButtonPlaylistSave.Rect.X;
if (ButtonPlaylistSave.Rect.Y < CompleteRect.Y)
CompleteRect.Y = ButtonPlaylistSave.Rect.Y;
if (ButtonPlaylistSave.Rect.W + ButtonPlaylistSave.Rect.X > CompleteRect.W + CompleteRect.X)
CompleteRect.W = ButtonPlaylistSave.Rect.W + ButtonPlaylistSave.Rect.X - CompleteRect.X;
if (ButtonPlaylistSave.Rect.Y + ButtonPlaylistSave.Rect.H > CompleteRect.Y + CompleteRect.H)
CompleteRect.H = ButtonPlaylistSave.Rect.H + ButtonPlaylistSave.Rect.Y - CompleteRect.Y;
//ButtonPlaylistDelete
if (ButtonPlaylistDelete.Rect.X < CompleteRect.X)
CompleteRect.X = ButtonPlaylistDelete.Rect.X;
if (ButtonPlaylistDelete.Rect.Y < CompleteRect.Y)
CompleteRect.Y = ButtonPlaylistDelete.Rect.Y;
if (ButtonPlaylistDelete.Rect.W + ButtonPlaylistDelete.Rect.X > CompleteRect.W + CompleteRect.X)
CompleteRect.W = ButtonPlaylistDelete.Rect.W + ButtonPlaylistDelete.Rect.X - CompleteRect.X;
if (ButtonPlaylistDelete.Rect.Y + ButtonPlaylistDelete.Rect.H > CompleteRect.Y + CompleteRect.H)
CompleteRect.H = ButtonPlaylistDelete.Rect.H + ButtonPlaylistDelete.Rect.Y - CompleteRect.Y;
}
#region ThemeEdit
public void MoveElement(int stepX, int stepY)
{
+23 -18
View File
@@ -17,11 +17,12 @@
using System;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
enum ESettingType
public enum ESettingType
{
Int,
String,
@@ -29,10 +30,14 @@ namespace VocaluxeLib.Menu
Texture
}
struct SScreenSetting
[XmlType("ScreenSetting")]
public struct SScreenSetting
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
[XmlElement("Value")]
public string Value;
[XmlElement("Type")]
public ESettingType Type;
}
@@ -51,6 +56,11 @@ namespace VocaluxeLib.Menu
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
public CScreenSetting(int partyModeID)
{
_PartyModeID = partyModeID;
@@ -58,6 +68,12 @@ namespace VocaluxeLib.Menu
_ThemeLoaded = false;
}
public CScreenSetting(SScreenSetting theme, int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = theme;
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
{
string item = xmlPath + "/" + elementName;
@@ -71,22 +87,6 @@ namespace VocaluxeLib.Menu
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<Type>: Type of theme-setting-value: " + CHelper.ListStrings(Enum.GetNames(typeof(ESettingType))));
writer.WriteElementString("Type", Enum.GetName(typeof(ESettingType), _Theme.Type));
writer.WriteComment("<Value>: Value of theme-setting");
writer.WriteElementString("Value", _Theme.Value);
writer.WriteEndElement();
return true;
}
return false;
}
public object GetValue()
{
switch (_Theme.Type)
@@ -113,6 +113,11 @@ namespace VocaluxeLib.Menu
public void ReloadTextures() {}
public SScreenSetting GetTheme()
{
return _Theme;
}
#region Private
private int _GetIntValue(string value)
{
+165 -206
View File
@@ -19,36 +19,74 @@ using System;
using System.Collections.Generic;
using System.Drawing;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
struct SThemeSelectSlide
[XmlType("SelectSlide")]
public struct SThemeSelectSlide
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
[XmlElement("Skin")]
public string TextureName;
[XmlElement("SkinArrowLeft")]
public string TextureArrowLeftName;
[XmlElement("SkinArrowRight")]
public string TextureArrowRightName;
[XmlElement("SkinSelected")]
public string SelTextureName;
[XmlElement("SkinArrowLeftSelected")]
public string SelTextureArrowLeftName;
[XmlElement("SkinArrowRightSelected")]
public string SelTextureArrowRightName;
[XmlElement("SkinHighlighted")]
public string HighlightTextureName;
public string ColorName;
public string SelColorName;
public string HighlightColorName;
[XmlElement("Rect")]
public SRectF Rect;
[XmlElement("RectArrowLeft")]
public SRectF RectArrowLeft;
[XmlElement("RectArrowRight")]
public SRectF RectArrowRight;
public string ArrowColorName;
public string SelArrowColorName;
[XmlElement("Color")]
public SThemeColor Color;
[XmlElement("SColor")]
public SThemeColor SColor;
[XmlElement("HColor")]
public SThemeColor HColor;
public string TextColorName;
public string SelTextColorName;
[XmlElement("ArrowColor")]
public SThemeColor ArrowColor;
[XmlElement("ArrowSColor")]
public SThemeColor ArrowSColor;
[XmlElement("TextColor")]
public SThemeColor TextColor;
[XmlElement("TextSColor")]
public SThemeColor TextSColor;
[XmlElement("TextH")]
public float TextH;
[XmlElement("TextRelativeX")]
public float TextRelativeX;
[XmlElement("TextRelativeY")]
public float TextRelativeY;
[XmlElement("TextMaxW")]
public float TextMaxW;
[XmlElement("TextFont")]
public string TextFont;
[XmlElement("TextStyle")]
public EStyle TextStyle;
[XmlElement("NumVisible")]
public int NumVisible;
}
public class CSelectSlide : IMenuElement, ICloneable
@@ -62,6 +100,11 @@ namespace VocaluxeLib.Menu
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
public SRectF Rect;
public SRectF RectArrowLeft;
public SRectF RectArrowRight;
@@ -192,17 +235,17 @@ namespace VocaluxeLib.Menu
{
TextureArrowLeftName = slide._Theme.TextureArrowLeftName,
TextureArrowRightName = slide._Theme.TextureArrowRightName,
Color = slide._Theme.Color,
SColor = slide._Theme.SColor,
HColor = slide._Theme.HColor,
ArrowColor = slide._Theme.ArrowColor,
ArrowSColor = slide._Theme.ArrowSColor,
TextColor = slide._Theme.TextColor,
TextSColor = slide._Theme.TextSColor,
SelTextureName = slide._Theme.SelTextureName,
SelTextureArrowLeftName = slide._Theme.SelTextureArrowLeftName,
SelTextureArrowRightName = slide._Theme.SelTextureArrowRightName,
HighlightTextureName = slide._Theme.HighlightTextureName,
ColorName = slide._Theme.ColorName,
SelColorName = slide._Theme.SelColorName,
HighlightColorName = slide._Theme.HighlightColorName,
ArrowColorName = slide._Theme.ArrowColorName,
SelArrowColorName = slide._Theme.SelArrowColorName,
TextColorName = slide._Theme.TextColorName,
SelTextColorName = slide._Theme.SelTextColorName,
TextFont = slide._Theme.TextFont,
TextStyle = slide._Theme.TextStyle
};
@@ -239,6 +282,20 @@ namespace VocaluxeLib.Menu
Visible = slide.Visible;
}
public CSelectSlide(SThemeSelectSlide theme, int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = theme;
_Selected = false;
_Textures = new List<CTexture>();
_ValueIndexes = new List<int>();
_ValueNames = new List<string>();
_ValuePartyModeIDs = new List<int>();
LoadTextures();
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
{
string item = xmlPath + "/" + elementName;
@@ -260,8 +317,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref Rect.W);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref Rect.H);
if (xmlReader.GetValue(item + "/Color", out _Theme.ColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out Color);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.Color.Name, skinIndex, out Color);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
@@ -270,8 +327,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
if (xmlReader.GetValue(item + "/SColor", out _Theme.SelColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SelColorName, skinIndex, out SelColor);
if (xmlReader.GetValue(item + "/SColor", out _Theme.SColor.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SColor.Name, skinIndex, out SelColor);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SR", ref SelColor.R);
@@ -280,8 +337,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SA", ref SelColor.A);
}
if (xmlReader.GetValue(item + "/HColor", out _Theme.HighlightColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.HighlightColorName, skinIndex, out HighlightColor);
if (xmlReader.GetValue(item + "/HColor", out _Theme.HColor.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.HColor.Name, skinIndex, out HighlightColor);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/HR", ref HighlightColor.R);
@@ -302,8 +359,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowRightW", ref RectArrowRight.W);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowRightH", ref RectArrowRight.H);
if (xmlReader.GetValue(item + "/ArrowColor", out _Theme.ArrowColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ArrowColorName, skinIndex, out ColorArrow);
if (xmlReader.GetValue(item + "/ArrowColor", out _Theme.ArrowColor.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ArrowColor.Name, skinIndex, out ColorArrow);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowR", ref ColorArrow.R);
@@ -312,8 +369,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowA", ref ColorArrow.A);
}
if (xmlReader.GetValue(item + "/ArrowSColor", out _Theme.SelArrowColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SelArrowColorName, skinIndex, out SelColorArrow);
if (xmlReader.GetValue(item + "/ArrowSColor", out _Theme.ArrowSColor.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ArrowSColor.Name, skinIndex, out SelColorArrow);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowSR", ref SelColorArrow.R);
@@ -322,8 +379,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/ArrowSA", ref SelColorArrow.A);
}
if (xmlReader.GetValue(item + "/TextColor", out _Theme.TextColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.TextColorName, skinIndex, out TextColor);
if (xmlReader.GetValue(item + "/TextColor", out _Theme.TextColor.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.TextColor.Name, skinIndex, out TextColor);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextR", ref TextColor.R);
@@ -332,8 +389,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextA", ref TextColor.A);
}
if (xmlReader.GetValue(item + "/TextSColor", out _Theme.SelTextColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SelTextColorName, skinIndex, out SelTextColor);
if (xmlReader.GetValue(item + "/TextSColor", out _Theme.TextSColor.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.TextSColor.Name, skinIndex, out SelTextColor);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/TextSR", ref SelTextColor.R);
@@ -356,174 +413,27 @@ namespace VocaluxeLib.Menu
if (_ThemeLoaded)
{
_Theme.Name = elementName;
_Theme.ArrowColor.Color = new SColorF(ColorArrow);
_Theme.ArrowSColor.Color = new SColorF(SelColorArrow);
_Theme.Color.Color = new SColorF(Color);
_Theme.HColor.Color = new SColorF(HighlightColor);
_Theme.NumVisible = _NumVisible;
_Theme.Rect = new SRectF(Rect);
_Theme.RectArrowLeft = new SRectF(RectArrowLeft);
_Theme.RectArrowRight = new SRectF(RectArrowRight);
_Theme.SColor.Color = new SColorF(SelColor);
_Theme.TextColor.Color = new SColorF(TextColor);
_Theme.TextH = TextH;
_Theme.TextMaxW = MaxW;
_Theme.TextRelativeX = TextRelativeX;
_Theme.TextRelativeY = TextRelativeY;
_Theme.TextSColor.Color = new SColorF(SelTextColor);
LoadTextures();
}
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<Skin>: Texture name");
writer.WriteElementString("Skin", _Theme.TextureName);
writer.WriteComment("<SkinArrowLeft>: Texture name of left arrow");
writer.WriteElementString("SkinArrowLeft", _Theme.TextureArrowLeftName);
writer.WriteComment("<SkinArrowRight>: Texture name of right arrow");
writer.WriteElementString("SkinArrowRight", _Theme.TextureArrowRightName);
writer.WriteComment("<SkinSelected>: Texture name for selected SelectSlide");
writer.WriteElementString("SkinSelected", _Theme.SelTextureName);
writer.WriteComment("<SkinArrowLeftSelected>: Texture name of selected left arrow");
writer.WriteElementString("SkinArrowLeftSelected", _Theme.SelTextureArrowLeftName);
writer.WriteComment("<SkinArrowRightSelected>: Texture name of selected right arrow");
writer.WriteElementString("SkinArrowRightSelected", _Theme.SelTextureArrowRightName);
writer.WriteComment("<SkinHighlighted>: Texture name for highlighted SelectSlide");
writer.WriteElementString("SkinHighlighted", _Theme.HighlightTextureName);
writer.WriteComment("<X>, <Y>, <Z>, <W>, <H>: SelectSlide position, width and height");
writer.WriteElementString("X", Rect.X.ToString("#0"));
writer.WriteElementString("Y", Rect.Y.ToString("#0"));
writer.WriteElementString("Z", Rect.Z.ToString("#0.00"));
writer.WriteElementString("W", Rect.W.ToString("#0"));
writer.WriteElementString("H", Rect.H.ToString("#0"));
writer.WriteComment("<ArrowLeftX>, <ArrowLeftY>, <ArrowLeftZ>, <ArrowLeftW>, <ArrowLeftH>: Left arrow position, width and height");
writer.WriteElementString("ArrowLeftX", RectArrowLeft.X.ToString("#0"));
writer.WriteElementString("ArrowLeftY", RectArrowLeft.Y.ToString("#0"));
writer.WriteElementString("ArrowLeftZ", RectArrowLeft.Z.ToString("#0.00"));
writer.WriteElementString("ArrowLeftW", RectArrowLeft.W.ToString("#0"));
writer.WriteElementString("ArrowLeftH", RectArrowLeft.H.ToString("#0"));
writer.WriteComment("<ArrowRightX>, <ArrowRightY>, <ArrowRightZ>, <ArrowRightW>, <ArrowRightH>: Right arrow position, width and height");
writer.WriteElementString("ArrowRightX", RectArrowRight.X.ToString("#0"));
writer.WriteElementString("ArrowRightY", RectArrowRight.Y.ToString("#0"));
writer.WriteElementString("ArrowRightZ", RectArrowRight.Z.ToString("#0.00"));
writer.WriteElementString("ArrowRightW", RectArrowRight.W.ToString("#0"));
writer.WriteElementString("ArrowRightH", RectArrowRight.H.ToString("#0"));
writer.WriteComment("<Color>: SelectSlide color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
writer.WriteElementString("R", Color.R.ToString("#0.00"));
writer.WriteElementString("G", Color.G.ToString("#0.00"));
writer.WriteElementString("B", Color.B.ToString("#0.00"));
writer.WriteElementString("A", Color.A.ToString("#0.00"));
}
writer.WriteComment("<SColor>: Selected SelectSlide color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName);
else
{
writer.WriteElementString("SR", SelColor.R.ToString("#0.00"));
writer.WriteElementString("SG", SelColor.G.ToString("#0.00"));
writer.WriteElementString("SB", SelColor.B.ToString("#0.00"));
writer.WriteElementString("SA", SelColor.A.ToString("#0.00"));
}
writer.WriteComment("<HColor>: Highlighted SelectSlide color from ColorScheme (high priority)");
writer.WriteComment("or <HR>, <HG>, <HB>, <HA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.HighlightColorName))
writer.WriteElementString("HColor", _Theme.HighlightColorName);
else
{
writer.WriteElementString("HR", HighlightColor.R.ToString("#0.00"));
writer.WriteElementString("HG", HighlightColor.G.ToString("#0.00"));
writer.WriteElementString("HB", HighlightColor.B.ToString("#0.00"));
writer.WriteElementString("HA", HighlightColor.A.ToString("#0.00"));
}
writer.WriteComment("<ArrowColor>: Arrow color from ColorScheme (high priority)");
writer.WriteComment("or <ArrowR>, <ArrowG>, <ArrowB>, <ArrowA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ArrowColorName))
writer.WriteElementString("ArrowColor", _Theme.ArrowColorName);
else
{
writer.WriteElementString("ArrowR", ColorArrow.R.ToString("#0.00"));
writer.WriteElementString("ArrowG", ColorArrow.G.ToString("#0.00"));
writer.WriteElementString("ArrowB", ColorArrow.B.ToString("#0.00"));
writer.WriteElementString("ArrowA", ColorArrow.A.ToString("#0.00"));
}
writer.WriteComment("<ArrowSColor>: Selected arrow color from ColorScheme (high priority)");
writer.WriteComment("or <ArrowSR>, <ArrowSG>, <ArrowSB>, <ArrowSA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.SelArrowColorName))
writer.WriteElementString("ArrowSColor", _Theme.SelArrowColorName);
else
{
writer.WriteElementString("ArrowSR", SelColorArrow.R.ToString("#0.00"));
writer.WriteElementString("ArrowSG", SelColorArrow.G.ToString("#0.00"));
writer.WriteElementString("ArrowSB", SelColorArrow.B.ToString("#0.00"));
writer.WriteElementString("ArrowSA", SelColorArrow.A.ToString("#0.00"));
}
writer.WriteComment("<TextColor>: Text color from ColorScheme (high priority)");
writer.WriteComment("or <TextR>, <TextG>, <TextB>, <TextA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.TextColorName))
writer.WriteElementString("TextColor", _Theme.TextColorName);
else
{
writer.WriteElementString("TextR", TextColor.R.ToString("#0.00"));
writer.WriteElementString("TextG", TextColor.G.ToString("#0.00"));
writer.WriteElementString("TextB", TextColor.B.ToString("#0.00"));
writer.WriteElementString("TextA", TextColor.A.ToString("#0.00"));
}
writer.WriteComment("<TextSColor>: Selected text color from ColorScheme (high priority)");
writer.WriteComment("or <TextSR>, <TextSG>, <TextSB>, <TextSA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.SelTextColorName))
writer.WriteElementString("TextSColor", _Theme.SelTextColorName);
else
{
writer.WriteElementString("TextSR", SelTextColor.R.ToString("#0.00"));
writer.WriteElementString("TextSG", SelTextColor.G.ToString("#0.00"));
writer.WriteElementString("TextSB", SelTextColor.B.ToString("#0.00"));
writer.WriteElementString("TextSA", SelTextColor.A.ToString("#0.00"));
}
writer.WriteComment("<TextH>: Text height");
writer.WriteElementString("TextH", TextH.ToString("#0.00"));
writer.WriteComment("<TextRelativeX>: Text relative x-position");
if (Math.Abs(TextRelativeX) > 0.01)
writer.WriteElementString("TextRelativeX", TextRelativeX.ToString("#0.00"));
writer.WriteComment("<TextRelativeY>: Text relative y-position");
if (Math.Abs(TextRelativeY) > 0.01)
writer.WriteElementString("TextRelativeY", TextRelativeY.ToString("#0.00"));
writer.WriteComment("<TextMaxW>: Maximum text width (if exists)");
writer.WriteElementString("TextMaxW", MaxW.ToString("#0.00"));
writer.WriteComment("<TextFont>: Text font name");
writer.WriteElementString("TextFont", _Theme.TextFont);
writer.WriteComment("<TextStyle>: Text style: " + CHelper.ListStrings(Enum.GetNames(typeof(EStyle))));
writer.WriteElementString("TextStyle", Enum.GetName(typeof(EStyle), _Theme.TextStyle));
writer.WriteComment("<NumVisible>: Number of visible elements in the slide");
writer.WriteElementString("NumVisible", _NumVisible.ToString());
writer.WriteEndElement();
return true;
}
return false;
}
public void AddValue(string value)
{
AddValue(value, _PartyModeID);
@@ -809,30 +719,61 @@ namespace VocaluxeLib.Menu
}
}
public SThemeSelectSlide GetTheme()
{
return _Theme;
}
public void UnloadTextures() {}
public void LoadTextures()
{
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.Color.Name))
Color = CBase.Theme.GetColor(_Theme.Color.Name, _PartyModeID);
else
Color = _Theme.Color.Color;
if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.SColor.Name))
SelColor = CBase.Theme.GetColor(_Theme.SColor.Name, _PartyModeID);
else
SelColor = _Theme.SColor.Color;
if (!String.IsNullOrEmpty(_Theme.HighlightColorName))
HighlightColor = CBase.Theme.GetColor(_Theme.HighlightColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.HColor.Name))
HighlightColor = CBase.Theme.GetColor(_Theme.HColor.Name, _PartyModeID);
else
HighlightColor = _Theme.HColor.Color;
if (!String.IsNullOrEmpty(_Theme.ArrowColorName))
ColorArrow = CBase.Theme.GetColor(_Theme.ArrowColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.ArrowColor.Name))
ColorArrow = CBase.Theme.GetColor(_Theme.ArrowColor.Name, _PartyModeID);
else
ColorArrow = _Theme.ArrowColor.Color;
if (!String.IsNullOrEmpty(_Theme.SelArrowColorName))
SelColorArrow = CBase.Theme.GetColor(_Theme.SelArrowColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.ArrowSColor.Name))
SelColorArrow = CBase.Theme.GetColor(_Theme.ArrowSColor.Name, _PartyModeID);
else
SelColorArrow = _Theme.ArrowSColor.Color;
if (!String.IsNullOrEmpty(_Theme.TextColorName))
TextColor = CBase.Theme.GetColor(_Theme.TextColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.TextColor.Name))
TextColor = CBase.Theme.GetColor(_Theme.TextColor.Name, _PartyModeID);
else
TextColor = _Theme.TextColor.Color;
if (!String.IsNullOrEmpty(_Theme.TextSColor.Name))
SelTextColor = CBase.Theme.GetColor(_Theme.TextSColor.Name, _PartyModeID);
else
SelTextColor = _Theme.TextSColor.Color;
Rect = _Theme.Rect;
RectArrowLeft = _Theme.RectArrowLeft;
RectArrowRight = _Theme.RectArrowRight;
NumVisible = _Theme.NumVisible;
TextH = _Theme.TextH;
TextRelativeX = _Theme.TextRelativeX;
TextRelativeY = _Theme.TextRelativeY;
MaxW = _Theme.TextMaxW;
if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelTextColor = CBase.Theme.GetColor(_Theme.SelTextColorName, _PartyModeID);
}
public void ReloadTextures()
@@ -853,18 +794,27 @@ namespace VocaluxeLib.Menu
{
Rect.X += stepX;
Rect.Y += stepY;
_Theme.Rect.X += stepX;
_Theme.Rect.Y += stepY;
}
if (_ArrowLeftSelected)
{
RectArrowLeft.X += stepX;
RectArrowLeft.Y += stepY;
_Theme.RectArrowLeft.X += stepX;
_Theme.RectArrowLeft.Y += stepY;
}
if (_ArrowRightSelected)
{
RectArrowRight.X += stepX;
RectArrowRight.Y += stepY;
_Theme.RectArrowRight.X += stepX;
_Theme.RectArrowRight.Y += stepY;
}
}
@@ -879,6 +829,9 @@ namespace VocaluxeLib.Menu
Rect.H += stepH;
if (Rect.H <= 0)
Rect.H = 1;
_Theme.Rect.W = Rect.W;
_Theme.Rect.H = Rect.H;
}
if (_ArrowLeftSelected)
@@ -890,6 +843,9 @@ namespace VocaluxeLib.Menu
RectArrowLeft.H += stepH;
if (RectArrowLeft.H <= 0)
RectArrowLeft.H = 1;
_Theme.RectArrowLeft.W = RectArrowLeft.W;
_Theme.RectArrowLeft.H = RectArrowLeft.H;
}
if (_ArrowRightSelected)
@@ -901,6 +857,9 @@ namespace VocaluxeLib.Menu
RectArrowRight.H += stepH;
if (RectArrowRight.H <= 0)
RectArrowRight.H = 1;
_Theme.RectArrowRight.W = RectArrowRight.W;
_Theme.RectArrowRight.H = RectArrowRight.H;
}
}
#endregion ThemeEdit
+53 -52
View File
@@ -16,17 +16,22 @@
#endregion
using System;
using System.Drawing;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
namespace VocaluxeLib.Menu
{
struct SThemeStatic
[XmlType("Static")]
public struct SThemeStatic
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
[XmlElement("Skin")]
public string TextureName;
public string ColorName;
public SThemeColor Color;
public SRectF Rect;
public SReflection Reflection;
}
public class CStatic : IMenuElement
@@ -41,6 +46,11 @@ namespace VocaluxeLib.Menu
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
private CTexture _Texture;
public CTexture Texture
{
@@ -63,6 +73,11 @@ namespace VocaluxeLib.Menu
public EAspect Aspect = EAspect.Stretch;
public CStatic()
{
}
public CStatic(int partyModeID)
{
_PartyModeID = partyModeID;
@@ -101,6 +116,14 @@ namespace VocaluxeLib.Menu
Rect = rect;
}
public CStatic(SThemeStatic theme, int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = theme;
LoadTextures();
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
{
string item = xmlPath + "/" + elementName;
@@ -114,8 +137,10 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/W", ref Rect.W);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref Rect.H);
if (xmlReader.GetValue(item + "/Color", out _Theme.ColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out Color);
_Theme.Rect = new SRectF(Rect);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.Color.Name, skinIndex, out Color);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
@@ -124,14 +149,20 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
_Theme.Color.Color = new SColorF(Color);
if (xmlReader.ItemExists(item + "/Reflection"))
{
Reflection = true;
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Space", ref ReflectionSpace);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Height", ref ReflectionHeight);
_Theme.Reflection = new SReflection(true, ReflectionHeight, ReflectionSpace);
}
else
{
Reflection = false;
_Theme.Reflection = new SReflection(false, 0f, 0f);
}
if (_ThemeLoaded)
{
@@ -141,51 +172,6 @@ namespace VocaluxeLib.Menu
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<Skin>: Texture name");
writer.WriteElementString("Skin", _Theme.TextureName);
writer.WriteComment("<X>, <Y>, <Z>, <W>, <H>: Static position, width and height");
writer.WriteElementString("X", Rect.X.ToString("#0"));
writer.WriteElementString("Y", Rect.Y.ToString("#0"));
writer.WriteElementString("Z", Rect.Z.ToString("#0.00"));
writer.WriteElementString("W", Rect.W.ToString("#0"));
writer.WriteElementString("H", Rect.H.ToString("#0"));
writer.WriteComment("<Color>: Static color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
writer.WriteElementString("R", Color.R.ToString("#0.00"));
writer.WriteElementString("G", Color.G.ToString("#0.00"));
writer.WriteElementString("B", Color.B.ToString("#0.00"));
writer.WriteElementString("A", Color.A.ToString("#0.00"));
}
writer.WriteComment("<Reflection> If exists:");
writer.WriteComment(" <Space>: Reflection Space");
writer.WriteComment(" <Height>: Reflection Height");
if (Reflection)
{
writer.WriteStartElement("Reflection");
writer.WriteElementString("Space", ReflectionSpace.ToString("#0"));
writer.WriteElementString("Height", ReflectionHeight.ToString("#0"));
writer.WriteEndElement();
}
writer.WriteEndElement();
return true;
}
return false;
}
public void Draw(bool forceDraw = false)
{
Draw(Aspect, 1f, 0f, forceDraw);
@@ -219,8 +205,18 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.Color.Name))
Color = CBase.Theme.GetColor(_Theme.Color.Name, _PartyModeID);
else
Color = _Theme.Color.Color;
Rect = new SRectF(_Theme.Rect);
Reflection = _Theme.Reflection.Enabled;
if (Reflection)
{
ReflectionSpace = _Theme.Reflection.Space;
ReflectionHeight = _Theme.Reflection.Height;
}
}
public void ReloadTextures()
@@ -229,6 +225,11 @@ namespace VocaluxeLib.Menu
LoadTextures();
}
public SThemeStatic GetTheme()
{
return _Theme;
}
#region ThemeEdit
public void MoveElement(int stepX, int stepY)
{
+100 -94
View File
@@ -18,16 +18,39 @@
using System;
using System.Drawing;
using System.Xml;
using System.Xml.Serialization;
namespace VocaluxeLib.Menu
{
struct SThemeText
[XmlType("Text")]
public struct SThemeText
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
[XmlElement("X")]
public float X;
[XmlElement("Y")]
public float Y;
[XmlElement("Z")]
public float Z;
[XmlElement("H")]
public float Height;
[XmlElement("MaxW")]
public float MaxWidth;
public SThemeColor Color;
public SThemeColor SColor; //for Buttons
[XmlElement("Align")]
public EAlignment Align;
[XmlElement("ResizeAlign")]
public EHAlignment ResizeAlign;
[XmlElement("Style")]
public EStyle Style;
[XmlElement("Font")]
public string Font;
[XmlElement("Text")]
public string Text;
public string ColorName;
public string SelColorName; //for Buttons
public SReflection Reflection;
}
public class CText : IMenuElement
@@ -42,6 +65,11 @@ namespace VocaluxeLib.Menu
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
private bool _ButtonText;
private bool _PositionNeedsUpdate = true;
@@ -307,6 +335,17 @@ namespace VocaluxeLib.Menu
ReflectionHeight = rheight;
}
public CText(SThemeText theme, int partyModeID, bool buttonText = false)
{
_PartyModeID = partyModeID;
_TranslationID = partyModeID;
_Theme = theme;
_ButtonText = buttonText;
LoadTextures();
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
{
return LoadTheme(xmlPath, elementName, xmlReader, skinIndex, false);
@@ -326,8 +365,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/H", ref _Height);
xmlReader.TryGetFloatValue(item + "/MaxW", ref _MaxWidth);
if (xmlReader.GetValue(item + "/Color", out _Theme.ColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out Color);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.Color.Name, skinIndex, out Color);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref Color.R);
@@ -336,8 +375,8 @@ namespace VocaluxeLib.Menu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref Color.A);
}
if (xmlReader.GetValue(item + "/SColor", out _Theme.SelColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SelColorName, skinIndex, out SelColor);
if (xmlReader.GetValue(item + "/SColor", out _Theme.SColor.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.SColor.Name, skinIndex, out SelColor);
else
{
if (xmlReader.TryGetFloatValue(item + "/SR", ref SelColor.R))
@@ -359,10 +398,25 @@ namespace VocaluxeLib.Menu
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Space", ref ReflectionSpace);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/Reflection/Height", ref ReflectionHeight);
_Theme.Reflection = new SReflection(true, ReflectionHeight, ReflectionSpace);
}
else
_Theme.Reflection = new SReflection(false, 0f, 0f);
// Set values
_Theme.Name = elementName;
_Theme.Align = _Align;
_Theme.Color.Color = Color;
_Theme.Font = _Font;
_Theme.ResizeAlign = _ResizeAlign;
_Theme.SColor.Color = SelColor;
_Theme.Style = _Style;
_Theme.MaxWidth = _MaxWidth;
_Theme.X = _X;
_Theme.Y = _Y;
_Theme.Z = _Z;
_Theme.Height = _Height;
_ButtonText = buttonText;
_PositionNeedsUpdate = true;
@@ -371,89 +425,6 @@ namespace VocaluxeLib.Menu
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded || _ButtonText)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<X>, <Y>: Text position");
writer.WriteElementString("X", X.ToString("#0"));
writer.WriteElementString("Y", Y.ToString("#0"));
if (!_ButtonText)
{
writer.WriteComment("<Z>: Text position");
writer.WriteElementString("Z", Z.ToString("#0.00"));
}
writer.WriteComment("<H>: Text height");
writer.WriteElementString("H", Height.ToString("#0"));
writer.WriteComment("<MaxW>: Maximum text width (if exists)");
if (MaxWidth > 0)
writer.WriteElementString("MaxW", MaxWidth.ToString("#0"));
writer.WriteComment("<Color>: Text color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
writer.WriteElementString("R", Color.R.ToString("#0.00"));
writer.WriteElementString("G", Color.G.ToString("#0.00"));
writer.WriteElementString("B", Color.B.ToString("#0.00"));
writer.WriteElementString("A", Color.A.ToString("#0.00"));
}
writer.WriteComment("<SColor>: Selected Text color from ColorScheme (high priority)");
writer.WriteComment("or <SR>, <SG>, <SB>, <SA> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.SelColorName))
writer.WriteElementString("SColor", _Theme.SelColorName);
else
{
writer.WriteElementString("SR", SelColor.R.ToString("#0.00"));
writer.WriteElementString("SG", SelColor.G.ToString("#0.00"));
writer.WriteElementString("SB", SelColor.B.ToString("#0.00"));
writer.WriteElementString("SA", SelColor.A.ToString("#0.00"));
}
writer.WriteComment("<Align>: Text align horizontal: " + CHelper.ListStrings(Enum.GetNames(typeof(EAlignment))));
writer.WriteElementString("Align", Enum.GetName(typeof(EAlignment), Align));
writer.WriteComment("<ResizeAlign>: Text align vertical (on downsizing): " + CHelper.ListStrings(Enum.GetNames(typeof(EHAlignment))));
writer.WriteElementString("ResizeAlign", Enum.GetName(typeof(EHAlignment), ResizeAlign));
writer.WriteComment("<Style>: Text style: " + CHelper.ListStrings(Enum.GetNames(typeof(EStyle))));
writer.WriteElementString("Style", Enum.GetName(typeof(EStyle), Style));
writer.WriteComment("<Font>: Text font name");
writer.WriteElementString("Font", Font);
writer.WriteComment("<Text>: Nothing or translation tag");
writer.WriteElementString("Text", CBase.Language.TranslationExists(_Theme.Text) ? _Theme.Text : string.Empty);
if (!_ButtonText)
{
writer.WriteComment("<Reflection> If exists:");
writer.WriteComment(" <Space>: Reflection Space");
writer.WriteComment(" <Height>: Reflection Height");
}
if (ReflectionHeight > 0 && !_ButtonText)
{
writer.WriteStartElement("Reflection");
writer.WriteElementString("Space", ReflectionSpace.ToString("#0"));
writer.WriteElementString("Height", ReflectionHeight.ToString("#0"));
writer.WriteEndElement();
}
writer.WriteEndElement();
return true;
}
return false;
}
public void Draw(bool forceDraw = false)
{
@@ -521,11 +492,36 @@ namespace VocaluxeLib.Menu
public void LoadTextures()
{
if (!String.IsNullOrEmpty(_Theme.ColorName))
Color = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.Color.Name))
Color = CBase.Theme.GetColor(_Theme.Color.Name, _PartyModeID);
else
Color = new SColorF(_Theme.Color.Color);
if (!String.IsNullOrEmpty(_Theme.SelColorName))
SelColor = CBase.Theme.GetColor(_Theme.SelColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.SColor.Name))
SelColor = CBase.Theme.GetColor(_Theme.SColor.Name, _PartyModeID);
else
SelColor = new SColorF(_Theme.SColor.Color);
_X = _Theme.X;
_Y = _Theme.Y;
_Z = _Theme.Z;
_Height = _Theme.Height;
_MaxWidth = _Theme.MaxWidth;
_Align = _Theme.Align;
_ResizeAlign = _Theme.ResizeAlign;
_Style = _Theme.Style;
_Font = _Theme.Font;
if (_Theme.Reflection.Enabled)
{
ReflectionSpace = _Theme.Reflection.Space;
ReflectionHeight = _Theme.Reflection.Height;
}
Text = _Theme.Text;
Selected = false;
_ThemeLoaded = true;
}
public void ReloadTextures()
@@ -534,11 +530,19 @@ namespace VocaluxeLib.Menu
LoadTextures();
}
public SThemeText GetTheme()
{
return _Theme;
}
#region ThemeEdit
public void MoveElement(int stepX, int stepY)
{
X += stepX;
Y += stepY;
_Theme.X += stepX;
_Theme.Y += stepY;
}
public void ResizeElement(int stepW, int stepH)
@@ -546,6 +550,8 @@ namespace VocaluxeLib.Menu
Height += stepH;
if (Height <= 0)
Height = 1;
_Theme.Height = _Height;
}
#endregion ThemeEdit
-1
View File
@@ -24,7 +24,6 @@ namespace VocaluxeLib.Menu
string GetThemeName();
bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex);
bool SaveTheme(XmlWriter writer);
void UnloadTextures();
void LoadTextures();
+62 -63
View File
@@ -19,6 +19,7 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
using VocaluxeLib.Songs;
@@ -40,21 +41,43 @@ namespace VocaluxeLib.Menu.SingNotes
public List<CParticleEffect> PerfectLineTwinkle;
}
struct SThemeSingBar
[XmlType("Position")]
public struct SBarPosition
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
public SRectF Rect;
}
[XmlType("SingBar")]
public struct SThemeSingBar
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
[XmlElement("SkinLeft")]
public string SkinLeftName;
[XmlElement("SkinMiddle")]
public string SkinMiddleName;
[XmlElement("SkinRight")]
public string SkinRightName;
[XmlElement("SkinBackgroundLeft")]
public string SkinBackgroundLeftName;
[XmlElement("SkinBackgroundMiddle")]
public string SkinBackgroundMiddleName;
[XmlElement("SkinBackgroundRight")]
public string SkinBackgroundRightName;
[XmlElement("SkinGoldenStar")]
public string SkinGoldenStarName;
[XmlElement("SkinToneHelper")]
public string SkinToneHelperName;
[XmlElement("SkinPerfectNoteStart")]
public string SkinPerfectNoteStarName;
[XmlArray("BarPositions")]
public SBarPosition[] BarPos;
}
public abstract class CSingNotes : IMenuElement
@@ -78,17 +101,36 @@ namespace VocaluxeLib.Menu.SingNotes
{
_PartyModeID = partyModeID;
_Theme = new SThemeSingBar();
_Theme.BarPos = new SBarPosition[CHelper.Sum(CBase.Settings.GetMaxNumPlayer())];
_ThemeLoaded = false;
_PlayerNotes = new List<SPlayerNotes>();
_ActID = 0;
}
protected CSingNotes(SThemeSingBar theme, int partyModeID)
{
_PartyModeID = partyModeID;
_Theme = theme;
_PlayerNotes = new List<SPlayerNotes>();
_ActID = 0;
BarPos = new SRectF[CBase.Settings.GetMaxNumPlayer(), CBase.Settings.GetMaxNumPlayer()];
LoadTextures();
}
public string GetThemeName()
{
return _Theme.Name;
}
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
{
string item = xmlPath + "/" + elementName;
@@ -106,6 +148,7 @@ namespace VocaluxeLib.Menu.SingNotes
_ThemeLoaded &= xmlReader.GetValue(item + "/SkinToneHelper", out _Theme.SkinToneHelperName, String.Empty);
_ThemeLoaded &= xmlReader.GetValue(item + "/SkinPerfectNoteStar", out _Theme.SkinPerfectNoteStarName, String.Empty);
int i = 0;
BarPos = new SRectF[CBase.Settings.GetMaxNumPlayer(),CBase.Settings.GetMaxNumPlayer()];
for (int numplayer = 0; numplayer < CBase.Settings.GetMaxNumPlayer(); numplayer++)
{
@@ -120,6 +163,9 @@ namespace VocaluxeLib.Menu.SingNotes
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "Z", ref BarPos[player, numplayer].Z);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "W", ref BarPos[player, numplayer].W);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + target + "H", ref BarPos[player, numplayer].H);
_Theme.BarPos[i].Name = "P" + (player + 1) + "N" + (numplayer + 1);
_Theme.BarPos[i].Rect = new SRectF(BarPos[player, numplayer]);
i++;
}
}
}
@@ -133,67 +179,6 @@ namespace VocaluxeLib.Menu.SingNotes
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<SkinLeft>: Texture name of note begin");
writer.WriteElementString("SkinLeft", _Theme.SkinLeftName);
writer.WriteComment("<SkinMiddle>: Texture name of note middle");
writer.WriteElementString("SkinMiddle", _Theme.SkinMiddleName);
writer.WriteComment("<SkinRight>: Texture name of note end");
writer.WriteElementString("SkinRight", _Theme.SkinRightName);
writer.WriteComment("<SkinBackgroundLeft>: Texture name of note background begin");
writer.WriteElementString("SkinBackgroundLeft", _Theme.SkinBackgroundLeftName);
writer.WriteComment("<SkinBackgroundMiddle>: Texture name of note background middle");
writer.WriteElementString("SkinBackgroundMiddle", _Theme.SkinBackgroundMiddleName);
writer.WriteComment("<SkinBackgroundRight>: Texture name of note background right");
writer.WriteElementString("SkinBackgroundRight", _Theme.SkinBackgroundRightName);
writer.WriteComment("<SkinGoldenStar>: Texture name of golden star");
writer.WriteElementString("SkinGoldenStar", _Theme.SkinGoldenStarName);
writer.WriteComment("<SkinToneHelper>: Texture name of tone helper");
writer.WriteElementString("SkinToneHelper", _Theme.SkinToneHelperName);
writer.WriteComment("<SkinPerfectNoteStar>: Texture name of perfect star");
writer.WriteElementString("SkinPerfectNoteStar", _Theme.SkinPerfectNoteStarName);
writer.WriteComment("<BarPositions>");
writer.WriteComment(" <P$N$X>, <P$N$Y>, <P$N$Z>, <P$N$W>, <P$N$H>");
writer.WriteComment(" position, width and height of note bars: first index = player number; second index = num players seen on screen");
writer.WriteStartElement("BarPositions");
for (int numplayer = 0; numplayer < CBase.Settings.GetMaxNumPlayer(); numplayer++)
{
for (int player = 0; player < CBase.Settings.GetMaxNumPlayer(); player++)
{
if (player > numplayer)
continue;
string target = "P" + (player + 1) + "N" + (numplayer + 1);
writer.WriteElementString(target + "X", BarPos[player, numplayer].X.ToString("#0"));
writer.WriteElementString(target + "Y", BarPos[player, numplayer].Y.ToString("#0"));
writer.WriteElementString(target + "Z", BarPos[player, numplayer].Z.ToString("#0.00"));
writer.WriteElementString(target + "W", BarPos[player, numplayer].W.ToString("#0"));
writer.WriteElementString(target + "H", BarPos[player, numplayer].H.ToString("#0"));
}
}
writer.WriteEndElement(); //BarPositions
writer.WriteEndElement();
return true;
}
return false;
}
public void Reset()
{
@@ -443,7 +428,16 @@ namespace VocaluxeLib.Menu.SingNotes
public void UnloadTextures() {}
public void LoadTextures() {}
public void LoadTextures()
{
foreach (SBarPosition bp in _Theme.BarPos)
{
int n = Int32.Parse(bp.Name.Substring(3, 1)) - 1;
int p = Int32.Parse(bp.Name.Substring(1, 1)) - 1;
BarPos[p, n] = bp.Rect;
}
}
public void ReloadTextures()
{
@@ -451,6 +445,11 @@ namespace VocaluxeLib.Menu.SingNotes
LoadTextures();
}
public SThemeSingBar GetTheme()
{
return _Theme;
}
private int _FindPlayerNotes(int id)
{
for (int i = 0; i < _PlayerNotes.Count; i++)
@@ -21,5 +21,8 @@ namespace VocaluxeLib.Menu.SingNotes
{
public CSingNotesClassic(int partyModeID)
: base(partyModeID) {}
public CSingNotesClassic(SThemeSingBar theme, int partyModeID)
: base(theme, partyModeID) {}
}
}
+19 -8
View File
@@ -30,7 +30,13 @@ namespace VocaluxeLib.Menu.SongMenu
public CSongMenu(int partyModeID)
{
_PartyModeID = partyModeID;
_CreateSongMenu();
_CreateSongMenu(new SThemeSongMenu());
}
public CSongMenu(SThemeSongMenu theme, int partyModeID)
{
_PartyModeID = partyModeID;
_CreateSongMenu(theme);
}
#region ISongMenu
@@ -63,6 +69,11 @@ namespace VocaluxeLib.Menu.SongMenu
get { return _SongMenu.Rect; }
}
public bool ThemeLoaded
{
get { return _SongMenu.ThemeLoaded; }
}
public void Update(SScreenSongOptions songOptions)
{
_SongMenu.Update(songOptions);
@@ -150,11 +161,6 @@ namespace VocaluxeLib.Menu.SongMenu
return _SongMenu.LoadTheme(xmlPath, elementName, xmlReader, skinIndex);
}
public bool SaveTheme(XmlWriter writer)
{
return _SongMenu.SaveTheme(writer);
}
public void UnloadTextures()
{
_SongMenu.UnloadTextures();
@@ -179,9 +185,14 @@ namespace VocaluxeLib.Menu.SongMenu
{
_SongMenu.ResizeElement(stepW, stepH);
}
public SThemeSongMenu GetTheme()
{
return _SongMenu.GetTheme();
}
#endregion IMenuElement
private void _CreateSongMenu()
private void _CreateSongMenu(SThemeSongMenu theme)
{
if (_SongMenu != null)
_SongMenu.OnHide();
@@ -197,7 +208,7 @@ namespace VocaluxeLib.Menu.SongMenu
// _SongMenu = new CSongMenuDreidel();
// break;
case ESongMenu.TR_CONFIG_TILE_BOARD:
_SongMenu = new CSongMenuTileBoard(_PartyModeID);
_SongMenu = new CSongMenuTileBoard(theme, _PartyModeID);
break;
//case ESongMenu.TR_CONFIG_BOOK:
+83 -138
View File
@@ -19,77 +19,116 @@ using System;
using System.Diagnostics;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
using VocaluxeLib.Draw;
using VocaluxeLib.PartyModes;
using VocaluxeLib.Songs;
namespace VocaluxeLib.Menu.SongMenu
{
struct SThemeSongMenu
[XmlType("SongMenu")]
public struct SThemeSongMenu
{
[XmlAttributeAttribute(AttributeName = "Name")]
public string Name;
[XmlElement("CoverBackground")]
public string CoverBackgroundName;
[XmlElement("CoverBigBackground")]
public string CoverBigBackgroundName;
[XmlElement("DuetIcon")]
public string DuetIconName;
[XmlElement("VideoIcon")]
public string VideoIconName;
[XmlElement("MedleyCalcIcon")]
public string MedleyCalcIcon;
[XmlElement("MedleyTagIcon")]
public string MedleyTagIcon;
public string ColorName;
[XmlElement("Color")]
public SThemeColor Color;
//public SThemeSongMenuBook songMenuBook;
//public SThemeSongMenuDreidel songMenuDreidel;
//public SThemeSongMenuList songMenuList;
[XmlElement("SongMenuTileBoard")]
public SThemeSongMenuTileBoard SongMenuTileBoard;
public SThemeSongMenu(SThemeSongMenu theme)
{
Name = theme.Name;
CoverBackgroundName = theme.CoverBackgroundName;
CoverBigBackgroundName = theme.CoverBigBackgroundName;
DuetIconName = theme.DuetIconName;
VideoIconName = theme.VideoIconName;
MedleyCalcIcon = theme.MedleyCalcIcon;
MedleyTagIcon = theme.MedleyTagIcon;
Color = new SThemeColor(theme.Color);
SongMenuTileBoard = theme.SongMenuTileBoard;
}
}
struct SThemeSongMenuTileBoard
public struct SThemeSongMenuTileBoard
{
[XmlElement("NumW")]
/// <summary>
/// Number of tiles horizontal
/// </summary>
public int NumW;
[XmlElement("NumH")]
/// <summary>
/// Number of tiles vertical
/// </summary>
public int NumH;
[XmlElement("NumWsmall")]
/// <summary>
/// Number of tiles horizontal in small-modus
/// </summary>
public int NumWsmall;
[XmlElement("NumHsmall")]
/// <summary>
/// Number of tiles vertical in small-modus
/// </summary>
public int NumHsmall;
[XmlElement("SpaceW")]
/// <summary>
/// Space between tiles horizontal
/// </summary>
public float SpaceW;
[XmlElement("SpaceH")]
/// <summary>
/// Space between tiles vertical
/// </summary>
public float SpaceH;
[XmlElement("TileRect")]
public SRectF TileRect;
[XmlElement("TileRectSmall")]
public SRectF TileRectSmall;
public CText TextArtist;
public CText TextTitle;
public CText TextSongLength;
[XmlElement("TextArtist")]
public SThemeText TextArtist;
[XmlElement("TextTitle")]
public SThemeText TextTitle;
[XmlElement("TextSongLength")]
public SThemeText TextSongLength;
public CStatic StaticCoverBig;
public CStatic StaticTextBG;
public CStatic StaticDuetIcon;
public CStatic StaticVideoIcon;
public CStatic StaticMedleyCalcIcon;
public CStatic StaticMedleyTagIcon;
[XmlElement("StaticCoverBig")]
public SThemeStatic StaticCoverBig;
[XmlElement("StaticTextBG")]
public SThemeStatic StaticTextBG;
[XmlElement("StaticDuetIcon")]
public SThemeStatic StaticDuetIcon;
[XmlElement("StaticVideoIcon")]
public SThemeStatic StaticVideoIcon;
[XmlElement("StaticMedleyCalcIcon")]
public SThemeStatic StaticMedleyCalcIcon;
[XmlElement("StaticMedleyTagIcon")]
public SThemeStatic StaticMedleyTagIcon;
}
abstract class CSongMenuFramework : ISongMenu
@@ -98,6 +137,11 @@ namespace VocaluxeLib.Menu.SongMenu
protected SThemeSongMenu _Theme;
private bool _ThemeLoaded;
public bool ThemeLoaded
{
get { return _ThemeLoaded; }
}
protected bool _Initialized;
private int _PreviewNrInternal = -1;
@@ -157,21 +201,15 @@ namespace VocaluxeLib.Menu.SongMenu
{
Visible = true;
_PartyModeID = partyModeID;
_Theme = new SThemeSongMenu
{
SongMenuTileBoard =
{
TextArtist = new CText(_PartyModeID),
TextTitle = new CText(_PartyModeID),
TextSongLength = new CText(_PartyModeID),
StaticCoverBig = new CStatic(_PartyModeID),
StaticTextBG = new CStatic(_PartyModeID),
StaticDuetIcon = new CStatic(_PartyModeID),
StaticVideoIcon = new CStatic(_PartyModeID),
StaticMedleyCalcIcon = new CStatic(_PartyModeID),
StaticMedleyTagIcon = new CStatic(_PartyModeID)
}
};
}
protected CSongMenuFramework(SThemeSongMenu theme, int partyModeID)
{
Visible = true;
_PartyModeID = partyModeID;
_Theme = new SThemeSongMenu(theme);
LoadTextures();
}
#region Theme
@@ -180,7 +218,12 @@ namespace VocaluxeLib.Menu.SongMenu
return _Theme.Name;
}
public bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
public SThemeSongMenu GetTheme()
{
return new SThemeSongMenu(_Theme);
}
public virtual bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
{
string item = xmlPath + "/" + elementName;
_ThemeLoaded = true;
@@ -192,8 +235,8 @@ namespace VocaluxeLib.Menu.SongMenu
_ThemeLoaded &= xmlReader.GetValue(item + "/MedleyCalcIcon", out _Theme.MedleyCalcIcon, String.Empty);
_ThemeLoaded &= xmlReader.GetValue(item + "/MedleyTagIcon", out _Theme.MedleyTagIcon, String.Empty);
if (xmlReader.GetValue(item + "/Color", out _Theme.ColorName, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.ColorName, skinIndex, out _ColorInternal);
if (xmlReader.GetValue(item + "/Color", out _Theme.Color.Name, String.Empty))
_ThemeLoaded &= CBase.Theme.GetColor(_Theme.Color.Name, skinIndex, out _ColorInternal);
else
{
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/R", ref _ColorInternal.R);
@@ -201,6 +244,7 @@ namespace VocaluxeLib.Menu.SongMenu
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/B", ref _ColorInternal.B);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/A", ref _ColorInternal.A);
}
_Theme.Color.Color = new SColorF(_ColorInternal);
#region SongMenuTileBoard
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/SongMenuTileBoard/NumW", ref _Theme.SongMenuTileBoard.NumW);
@@ -211,17 +255,6 @@ namespace VocaluxeLib.Menu.SongMenu
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/SongMenuTileBoard/NumWsmall", ref _Theme.SongMenuTileBoard.NumWsmall);
_ThemeLoaded &= xmlReader.TryGetIntValue(item + "/SongMenuTileBoard/NumHsmall", ref _Theme.SongMenuTileBoard.NumHsmall);
_ThemeLoaded &= _Theme.SongMenuTileBoard.TextArtist.LoadTheme(item + "/SongMenuTileBoard", "TextArtist", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.SongMenuTileBoard.TextTitle.LoadTheme(item + "/SongMenuTileBoard", "TextTitle", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.SongMenuTileBoard.TextSongLength.LoadTheme(item + "/SongMenuTileBoard", "TextSongLength", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.SongMenuTileBoard.StaticCoverBig.LoadTheme(item + "/SongMenuTileBoard", "StaticCoverBig", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.SongMenuTileBoard.StaticTextBG.LoadTheme(item + "/SongMenuTileBoard", "StaticTextBG", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.SongMenuTileBoard.StaticDuetIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticDuetIcon", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.SongMenuTileBoard.StaticVideoIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticVideoIcon", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.SongMenuTileBoard.StaticMedleyCalcIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticMedleyCalcIcon", xmlReader, skinIndex);
_ThemeLoaded &= _Theme.SongMenuTileBoard.StaticMedleyTagIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticMedleyTagIcon", xmlReader, skinIndex);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectX", ref _Theme.SongMenuTileBoard.TileRect.X);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectY", ref _Theme.SongMenuTileBoard.TileRect.Y);
_ThemeLoaded &= xmlReader.TryGetFloatValue(item + "/SongMenuTileBoard/TileRectZ", ref _Theme.SongMenuTileBoard.TileRect.Z);
@@ -238,6 +271,7 @@ namespace VocaluxeLib.Menu.SongMenu
if (_ThemeLoaded)
{
_Theme.Name = elementName;
LoadTextures();
Init();
}
@@ -245,98 +279,6 @@ namespace VocaluxeLib.Menu.SongMenu
return _ThemeLoaded;
}
public bool SaveTheme(XmlWriter writer)
{
if (_ThemeLoaded)
{
writer.WriteStartElement(_Theme.Name);
writer.WriteComment("<CoverBackground>: Texture name of cover background/tiles");
writer.WriteElementString("CoverBackground", _Theme.CoverBackgroundName);
writer.WriteComment("<CoverBigBackground>: Texture name of big cover background and info texts");
writer.WriteElementString("CoverBigBackground", _Theme.CoverBigBackgroundName);
writer.WriteComment("<DuetIcon>: Texture name of duet icon");
writer.WriteElementString("DuetIcon", _Theme.DuetIconName);
writer.WriteComment("<VideoIcon>: Texture name of video icon");
writer.WriteElementString("VideoIcon", _Theme.VideoIconName);
writer.WriteComment("<MedleyCalcIcon>: Texture name of medley calc (calculated) icon");
writer.WriteElementString("MedleyCalcIcon", _Theme.MedleyCalcIcon);
writer.WriteComment("<MedleyTagIcon>: Texture name of medley tag (manuelly set) icon");
writer.WriteElementString("MedleyTagIcon", _Theme.MedleyTagIcon);
writer.WriteComment("<Color>: Tile color from ColorScheme (high priority)");
writer.WriteComment("or <R>, <G>, <B>, <A> (lower priority)");
if (!String.IsNullOrEmpty(_Theme.ColorName))
writer.WriteElementString("Color", _Theme.ColorName);
else
{
writer.WriteElementString("R", _Color.R.ToString("#0.00"));
writer.WriteElementString("G", _Color.G.ToString("#0.00"));
writer.WriteElementString("B", _Color.B.ToString("#0.00"));
writer.WriteElementString("A", _Color.A.ToString("#0.00"));
}
#region SongMenuTileBoard
writer.WriteComment("<SongMenuTileBoard>: Config for TileBoard view");
writer.WriteStartElement("SongMenuTileBoard");
writer.WriteComment("<NumW>: Number of tiles horizontal");
writer.WriteElementString("NumW", _Theme.SongMenuTileBoard.NumW.ToString());
writer.WriteComment("<NumH>: Number of tiles vertical");
writer.WriteElementString("NumH", _Theme.SongMenuTileBoard.NumH.ToString());
writer.WriteComment("<SpaceW>: Space between tiles horizontal");
writer.WriteElementString("SpaceW", _Theme.SongMenuTileBoard.SpaceW.ToString("#0.00"));
writer.WriteComment("<SpaceH>: Space between tiles vertical");
writer.WriteElementString("SpaceH", _Theme.SongMenuTileBoard.SpaceH.ToString("#0.00"));
writer.WriteComment("<NumWsmall>: Number of tiles horizontal in small-mode");
writer.WriteElementString("NumWsmall", _Theme.SongMenuTileBoard.NumWsmall.ToString());
writer.WriteComment("<NumHsmall>: Number of tiles vertical in small-mode");
writer.WriteElementString("NumHsmall", _Theme.SongMenuTileBoard.NumHsmall.ToString());
writer.WriteComment("<TileRectX>, <TileRectY>, <TileRectZ>, <TileRectW>, <TileRectH>: SongMenu position, width and height");
writer.WriteElementString("TileRectX", _Theme.SongMenuTileBoard.TileRect.X.ToString("#0"));
writer.WriteElementString("TileRectY", _Theme.SongMenuTileBoard.TileRect.Y.ToString("#0"));
writer.WriteElementString("TileRectZ", _Theme.SongMenuTileBoard.TileRect.Z.ToString("#0.00"));
writer.WriteElementString("TileRectW", _Theme.SongMenuTileBoard.TileRect.W.ToString("#0"));
writer.WriteElementString("TileRectH", _Theme.SongMenuTileBoard.TileRect.H.ToString("#0"));
writer.WriteComment("<TileRectSmallX>, <TileRectSmallY>, <TileRectSmallZ>, <TileRectSmallW>, <TileRectSmallH>: SongMenu position, width and height in small-mode");
writer.WriteElementString("TileRectSmallX", _Theme.SongMenuTileBoard.TileRectSmall.X.ToString("#0"));
writer.WriteElementString("TileRectSmallY", _Theme.SongMenuTileBoard.TileRectSmall.Y.ToString("#0"));
writer.WriteElementString("TileRectSmallZ", _Theme.SongMenuTileBoard.TileRectSmall.Z.ToString("#0.00"));
writer.WriteElementString("TileRectSmallW", _Theme.SongMenuTileBoard.TileRectSmall.W.ToString("#0"));
writer.WriteElementString("TileRectSmallH", _Theme.SongMenuTileBoard.TileRectSmall.H.ToString("#0"));
_Theme.SongMenuTileBoard.TextArtist.SaveTheme(writer);
_Theme.SongMenuTileBoard.TextTitle.SaveTheme(writer);
_Theme.SongMenuTileBoard.TextSongLength.SaveTheme(writer);
_Theme.SongMenuTileBoard.StaticCoverBig.SaveTheme(writer);
_Theme.SongMenuTileBoard.StaticTextBG.SaveTheme(writer);
_Theme.SongMenuTileBoard.StaticDuetIcon.SaveTheme(writer);
_Theme.SongMenuTileBoard.StaticVideoIcon.SaveTheme(writer);
_Theme.SongMenuTileBoard.StaticMedleyCalcIcon.SaveTheme(writer);
_Theme.SongMenuTileBoard.StaticMedleyTagIcon.SaveTheme(writer);
writer.WriteEndElement();
#endregion SongMenuTileBoard
writer.WriteEndElement();
return true;
}
return false;
}
#endregion Theme
public virtual void Init()
@@ -427,8 +369,11 @@ namespace VocaluxeLib.Menu.SongMenu
{
Init();
if (!String.IsNullOrEmpty(_Theme.ColorName))
_ColorInternal = CBase.Theme.GetColor(_Theme.ColorName, _PartyModeID);
if (!String.IsNullOrEmpty(_Theme.Color.Name))
_ColorInternal = CBase.Theme.GetColor(_Theme.Color.Name, _PartyModeID);
else
_ColorInternal = _Theme.Color.Color;
}
public void ReloadTextures()
+57 -29
View File
@@ -20,6 +20,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using System.Xml;
using VocaluxeLib.Draw;
using VocaluxeLib.PartyModes;
using VocaluxeLib.Songs;
@@ -47,9 +48,6 @@ namespace VocaluxeLib.Menu.SongMenu
private int _NumW;
private int _NumH;
private float _SpaceW;
private float _SpaceH;
private int _TileW;
private int _TileH;
@@ -105,6 +103,9 @@ namespace VocaluxeLib.Menu.SongMenu
public CSongMenuTileBoard(int partyModeID)
: base(partyModeID) {}
public CSongMenuTileBoard(SThemeSongMenu theme, int partyModeID)
: base(theme, partyModeID) {}
protected override int _PreviewNr
{
set
@@ -120,24 +121,50 @@ namespace VocaluxeLib.Menu.SongMenu
}
}
public override bool LoadTheme(string xmlPath, string elementName, CXMLReader xmlReader, int skinIndex)
{
string item = xmlPath + "/" + elementName;
bool themeLoaded = true;
themeLoaded &= base.LoadTheme(xmlPath, elementName, xmlReader, skinIndex);
themeLoaded &= _Artist.LoadTheme(item + "/SongMenuTileBoard", "TextArtist", xmlReader, skinIndex);
themeLoaded &= _Title.LoadTheme(item + "/SongMenuTileBoard", "TextTitle", xmlReader, skinIndex);
themeLoaded &= _SongLength.LoadTheme(item + "/SongMenuTileBoard", "TextSongLength", xmlReader, skinIndex);
themeLoaded &= _CoverBig.LoadTheme(item + "/SongMenuTileBoard", "StaticCoverBig", xmlReader, skinIndex);
themeLoaded &= _TextBG.LoadTheme(item + "/SongMenuTileBoard", "StaticTextBG", xmlReader, skinIndex);
themeLoaded &= _DuetIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticDuetIcon", xmlReader, skinIndex);
themeLoaded &= _VideoIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticVideoIcon", xmlReader, skinIndex);
themeLoaded &= _MedleyCalcIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticMedleyCalcIcon", xmlReader, skinIndex);
themeLoaded &= _MedleyTagIcon.LoadTheme(item + "/SongMenuTileBoard", "StaticMedleyTagIcon", xmlReader, skinIndex);
if (themeLoaded)
{
_Theme.Name = elementName;
_Theme.SongMenuTileBoard.TextArtist = _Artist.GetTheme();
_Theme.SongMenuTileBoard.TextSongLength = _SongLength.GetTheme();
_Theme.SongMenuTileBoard.TextTitle = _Title.GetTheme();
_Theme.SongMenuTileBoard.StaticCoverBig = _CoverBig.GetTheme();
_Theme.SongMenuTileBoard.StaticDuetIcon = _DuetIcon.GetTheme();
_Theme.SongMenuTileBoard.StaticMedleyCalcIcon = _MedleyCalcIcon.GetTheme();
_Theme.SongMenuTileBoard.StaticMedleyTagIcon = _MedleyTagIcon.GetTheme();
_Theme.SongMenuTileBoard.StaticTextBG = _TextBG.GetTheme();
_Theme.SongMenuTileBoard.StaticVideoIcon = _VideoIcon.GetTheme();
LoadTextures();
Init();
}
return themeLoaded;
}
public override void Init()
{
base.Init();
_SpaceW = _Theme.SongMenuTileBoard.SpaceW;
_SpaceH = _Theme.SongMenuTileBoard.SpaceH;
_CoverBig = _Theme.SongMenuTileBoard.StaticCoverBig;
_TextBG = _Theme.SongMenuTileBoard.StaticTextBG;
_DuetIcon = _Theme.SongMenuTileBoard.StaticDuetIcon;
_VideoIcon = _Theme.SongMenuTileBoard.StaticVideoIcon;
_MedleyCalcIcon = _Theme.SongMenuTileBoard.StaticMedleyCalcIcon;
_MedleyTagIcon = _Theme.SongMenuTileBoard.StaticMedleyTagIcon;
_Artist = _Theme.SongMenuTileBoard.TextArtist;
_Title = _Theme.SongMenuTileBoard.TextTitle;
_SongLength = _Theme.SongMenuTileBoard.TextSongLength;
_PreviewNr = -1;
_InitTiles();
}
@@ -157,8 +184,8 @@ namespace VocaluxeLib.Menu.SongMenu
Rect = _Theme.SongMenuTileBoard.TileRect;
}
_TileW = (int)((Rect.W - _SpaceW * (_NumW - 1)) / _NumW);
_TileH = (int)((Rect.H - _SpaceH * (_NumH - 1)) / _NumH);
_TileW = (int)((Rect.W - _Theme.SongMenuTileBoard.SpaceW * (_NumW - 1)) / _NumW);
_TileH = (int)((Rect.H - _Theme.SongMenuTileBoard.SpaceH * (_NumH - 1)) / _NumH);
_CoverBGTexture = CBase.Theme.GetSkinTexture(_Theme.CoverBackgroundName, _PartyModeID);
_CoverBigBGTexture = CBase.Theme.GetSkinTexture(_Theme.CoverBigBackgroundName, _PartyModeID);
@@ -168,7 +195,7 @@ namespace VocaluxeLib.Menu.SongMenu
{
for (int j = 0; j < _NumW; j++)
{
var rect = new SRectF(Rect.X + j * (_TileW + _SpaceW), Rect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, Rect.Z);
var rect = new SRectF(Rect.X + j * (_TileW + _Theme.SongMenuTileBoard.SpaceW), Rect.Y + i * (_TileH + _Theme.SongMenuTileBoard.SpaceH), _TileW, _TileH, Rect.Z);
var tile = new CStatic(_PartyModeID, _CoverBGTexture, _Color, rect);
_Tiles.Add(tile);
}
@@ -593,16 +620,17 @@ namespace VocaluxeLib.Menu.SongMenu
{
base.LoadTextures();
_Theme.SongMenuTileBoard.StaticCoverBig.ReloadTextures();
_Theme.SongMenuTileBoard.StaticTextBG.ReloadTextures();
_Theme.SongMenuTileBoard.StaticDuetIcon.ReloadTextures();
_Theme.SongMenuTileBoard.StaticVideoIcon.ReloadTextures();
_Theme.SongMenuTileBoard.StaticMedleyCalcIcon.ReloadTextures();
_Theme.SongMenuTileBoard.StaticMedleyTagIcon.ReloadTextures();
_Artist = new CText(_Theme.SongMenuTileBoard.TextArtist, _PartyModeID);
_Title = new CText(_Theme.SongMenuTileBoard.TextTitle, _PartyModeID);
_SongLength = new CText(_Theme.SongMenuTileBoard.TextSongLength, _PartyModeID);
_CoverBig = new CStatic(_Theme.SongMenuTileBoard.StaticCoverBig, _PartyModeID);
_TextBG = new CStatic(_Theme.SongMenuTileBoard.StaticTextBG, _PartyModeID);
_DuetIcon = new CStatic(_Theme.SongMenuTileBoard.StaticDuetIcon, _PartyModeID);
_VideoIcon = new CStatic(_Theme.SongMenuTileBoard.StaticVideoIcon, _PartyModeID);
_MedleyCalcIcon = new CStatic(_Theme.SongMenuTileBoard.StaticMedleyCalcIcon, _PartyModeID);
_MedleyTagIcon = new CStatic(_Theme.SongMenuTileBoard.StaticMedleyTagIcon, _PartyModeID);
_Theme.SongMenuTileBoard.TextArtist.ReloadTextures();
_Theme.SongMenuTileBoard.TextTitle.ReloadTextures();
_Theme.SongMenuTileBoard.TextSongLength.ReloadTextures();
Init();
}
}
}
+3
View File
@@ -50,5 +50,8 @@ namespace VocaluxeLib.Menu.SongMenu
bool Selected { get; set; }
bool Visible { get; set; }
bool SmallView { get; set; }
bool ThemeLoaded { get; }
SThemeSongMenu GetTheme();
}
}
+6
View File
@@ -46,6 +46,12 @@ namespace VocaluxeLib.PartyModes
_Screens.Add(screenName, screen);
}
public void SaveScreens()
{
foreach (KeyValuePair<string, CMenuParty> entry in _Screens)
entry.Value.SaveTheme();
}
public virtual void DataFromScreen(string screenName, Object data) {}
public virtual void UpdateGame() {}
+1
View File
@@ -85,6 +85,7 @@ namespace VocaluxeLib.PartyModes
bool Init();
void Initialize();
void AddScreen(CMenuParty screen, string screenName);
void SaveScreens();
void DataFromScreen(string screenName, Object data);
void UpdateGame();
+10 -7
View File
@@ -84,18 +84,21 @@ namespace VocaluxeLib.Profile
{
PlayerName = value;
string avatarFileName;
xmlReader.TryGetEnumValue("//root/Info/Difficulty", ref Difficulty);
xmlReader.GetValue("//root/Info/Avatar", out avatarFileName, String.Empty);
bool ok = xmlReader.TryGetEnumValue("//root/Info/Difficulty", ref Difficulty);
ok &= xmlReader.GetValue("//root/Info/Avatar", out avatarFileName);
Avatar = CBase.Profiles.GetAvatarByFilename(avatarFileName);
xmlReader.TryGetEnumValue("//root/Info/UserRole", ref UserRole);
xmlReader.TryGetEnumValue("//root/Info/Active", ref Active);
ok &= Avatar != null;
ok &= xmlReader.TryGetEnumValue("//root/Info/UserRole", ref UserRole);
ok &= xmlReader.TryGetEnumValue("//root/Info/Active", ref Active);
string passwordHash;
xmlReader.GetValue("//root/Info/PasswordHash", out passwordHash, "");
xmlReader.GetValue("//root/Info/PasswordHash", out passwordHash);
PasswordHash = !string.IsNullOrEmpty(passwordHash) ? Convert.FromBase64String(passwordHash) : null;
string passwordSalt;
xmlReader.GetValue("//root/Info/PasswordSalt", out passwordSalt, "");
xmlReader.GetValue("//root/Info/PasswordSalt", out passwordSalt);
PasswordSalt = !string.IsNullOrEmpty(passwordSalt) ? Convert.FromBase64String(passwordSalt) : null;
return true;
if (!ok)
CBase.Log.LogError("Error loading profile file: " + FileName);
return ok;
}
CBase.Log.LogError("Can't find PlayerName in Profile File: " + FileName);
+4 -11
View File
@@ -56,18 +56,11 @@ namespace VocaluxeLib.Songs
return Songs.Count(sp => !sp.IsSung);
}
public CCategory(string name, CTexture coverSmall, CTexture coverBig)
public CSong GetSong(int numInCategory)
{
Name = name;
CoverTextureSmall = coverSmall;
CoverTextureBig = coverBig;
}
public CCategory(CCategory cat)
{
Name = cat.Name;
CoverTextureSmall = cat.CoverTextureSmall;
CoverTextureBig = cat.CoverTextureBig;
if (numInCategory >= 0 && numInCategory < Songs.Count)
return CBase.Songs.GetSongByID(Songs[numInCategory].SongID);
return null;
}
}
}
+53
View File
@@ -17,8 +17,10 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Drawing;
using System.Windows.Forms;
using System.Xml.Serialization;
using VocaluxeLib.Songs;
namespace VocaluxeLib
@@ -27,9 +29,13 @@ namespace VocaluxeLib
#region Drawing
public struct SColorF
{
[XmlElement("R")]
public float R;
[XmlElement("G")]
public float G;
[XmlElement("B")]
public float B;
[XmlElement("A")]
public float A;
public SColorF(float r, float g, float b, float a)
@@ -48,12 +54,31 @@ namespace VocaluxeLib
A = color.A;
}
[Pure]
public Color AsColor()
{
return Color.FromArgb((int)(A * 255), (int)(R * 255), (int)(G * 255), (int)(B * 255));
}
}
//Use for holding theme-colors
[XmlRoot("Color")]
public struct SThemeColor
{
public SColorF Color;
public string Name;
//Needed for serialization
public bool ColorSpecified { get { return String.IsNullOrEmpty(Name); } }
public bool NameSpecified { get { return !String.IsNullOrEmpty(Name); } }
public SThemeColor(SThemeColor theme)
{
Color = new SColorF(theme.Color);
Name = theme.Name;
}
}
public struct SRectF
{
public float X;
@@ -61,6 +86,7 @@ namespace VocaluxeLib
public float W;
public float H;
public float Z;
[XmlIgnore]
public float Rotation; //0..360°
public SRectF(float x, float y, float w, float h, float z)
@@ -84,6 +110,33 @@ namespace VocaluxeLib
}
}
[XmlRoot("Reflection")]
public struct SReflection
{
[XmlAttributeAttribute(AttributeName = "Enabled")]
public bool Enabled;
public float Height;
public float Space;
//Needed for serialization
public bool HeightSpecified { get { return Enabled; } }
public bool SpaceSpecified { get { return Enabled; } }
public SReflection(bool enabled, float height, float space)
{
Enabled = enabled;
Height = height;
Space = space;
}
public SReflection(SReflection refl)
{
Enabled = refl.Enabled;
Height = refl.Height;
Space = refl.Space;
}
}
public struct SPoint3F
{
public float X;