Well, I figured out a way to hardcode it into the skin... however it looks as though you cannot have more than 2 animations per label control (is this a bug? If someone confirms this, I'll add an entry in the bug tracker).
I thought that it might work to do something like:
Code:
<control type="label" id="4">
<description>Swap Text 1</description>
<posx>352</posx>
<posy>534</posy>
<width>928</width>
<height>95</height>
<align>left</align>
<aligny>center</aligny>
<font>font45caps_title</font>
<textcolor>white</textcolor>
<label>Test One</label>
<visible>Player.HasMedia+IntegerGreaterThan(VideoPlayer.Time,0)</visible>
<animation effect="fade" start="0" end="100" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,0)">Conditional</animation>
<animation effect="fade" start="100" end="0" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,10)">Conditional</animation>
<animation effect="fade" start="0" end="100" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,20)">Conditional</animation>
<animation effect="fade" start="100" end="0" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,30)">Conditional</animation>
<animation effect="fade" start="0" end="100" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,40)">Conditional</animation>
<animation effect="fade" start="100" end="0" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,50)">Conditional</animation>
</control>
<control type="label" id="5">
<description>Swap Text 2</description>
<posx>352</posx>
<posy>534</posy>
<width>928</width>
<height>95</height>
<align>left</align>
<aligny>center</aligny>
<font>font45caps_title</font>
<textcolor>white</textcolor>
<label>Test Two</label>
<visible>Player.HasMedia+IntegerGreaterThan(VideoPlayer.Time,10)</visible>
<animation effect="fade" start="0" end="100" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,10)">Conditional</animation>
<animation effect="fade" start="100" end="0" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,20)">Conditional</animation>
<animation effect="fade" start="0" end="100" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,30)">Conditional</animation>
<animation effect="fade" start="100" end="0" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,40)">Conditional</animation>
<animation effect="fade" start="0" end="100" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,50)">Conditional</animation>
<animation effect="fade" start="100" end="0" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,60)">Conditional</animation>
</control>
In this way, the two labels would alternately fade in for 10 seconds, fade out, then be replaced by the other for 10 seconds. This effect could be extended further by adding additional <animation> tags. More labels could be added as well by adjusting the timings.
I'm using the "fade" animation, however it could be swapped out for a slide-animation if needed.
Anyhow, the above only works for the first two animations... again, I'm not sure if this is by design, or if it's a bug, or if there's some tag I'm missing here.
Anyhow, the completely inefficient way I'm working around this is by creating duplicate labels with two animations attached:
Code:
<control type="label" id="4">
<description>Swap Text 1</description>
<posx>352</posx>
<posy>534</posy>
<width>928</width>
<height>95</height>
<align>left</align>
<aligny>center</aligny>
<font>font45caps_title</font>
<textcolor>white</textcolor>
<label>Test One</label>
<visible>Player.HasMedia+IntegerGreaterThan(VideoPlayer.Time,0)</visible>
<animation effect="fade" start="0" end="100" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,0)">Conditional</animation>
<animation effect="fade" start="100" end="0" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,10)">Conditional</animation>
</control>
<control type="label" id="5">
<description>Swap Text 2</description>
<posx>352</posx>
<posy>534</posy>
<width>928</width>
<height>95</height>
<align>left</align>
<aligny>center</aligny>
<font>font45caps_title</font>
<textcolor>white</textcolor>
<label>Test Two</label>
<visible>Player.HasMedia+IntegerGreaterThan(VideoPlayer.Time,10)</visible>
<animation effect="fade" start="0" end="100" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,10)">Conditional</animation>
<animation effect="fade" start="100" end="0" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,20)">Conditional</animation>
</control>
<control type="label" id="6">
<description>Swap Text 1a</description>
<posx>352</posx>
<posy>534</posy>
<width>928</width>
<height>95</height>
<align>left</align>
<aligny>center</aligny>
<font>font45caps_title</font>
<textcolor>white</textcolor>
<label>Test One</label>
<visible>Player.HasMedia+IntegerGreaterThan(VideoPlayer.Time,20)</visible>
<animation effect="fade" start="0" end="100" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,20)">Conditional</animation>
<animation effect="fade" start="100" end="0" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,30)">Conditional</animation>
</control>
<control type="label" id="7">
<description>Swap Text 2a</description>
<posx>352</posx>
<posy>534</posy>
<width>928</width>
<height>95</height>
<align>left</align>
<aligny>center</aligny>
<font>font45caps_title</font>
<textcolor>white</textcolor>
<label>Test Two</label>
<visible>Player.HasMedia+IntegerGreaterThan(VideoPlayer.Time,30)</visible>
<animation effect="fade" start="0" end="100" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,30)">Conditional</animation>
<animation effect="fade" start="100" end="0" time="1500" condition="IntegerGreaterThan(VideoPlayer.Time,40)">Conditional</animation>
</control>
It does work that way, however it gets very tedious and the XML gets huuge if you want to achieve this effect for minutes at a time.
Anyhow, thought I'd post this and see if anyone has some insight for me on a better method of doing this and whether the 2 animations per label thing is a bug... or perhaps this will help someone else in the future who's looking to achieve the same effect!