jf-roku/components/music/NowPlaying.xml
2022-05-30 15:28:31 -04:00

49 lines
3.2 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<component name="NowPlaying" extends="JFGroup">
<children>
<Poster id="backdrop" opacity=".5" loadDisplayMode="scaleToZoom" width="1920" height="1200" blendColor="#3f3f3f" />
<LayoutGroup id="toplevel" layoutDirection="vert" horizAlignment="center" translation="[960,175]" itemSpacings="[40]">
<LayoutGroup id="main_group" layoutDirection="vert" horizAlignment="center" itemSpacings="[15]">
<Poster id="albumCover" width="500" height="500" />
<Label id="artist" width="900" height="25" horizAlign="center" />
<Label id="song" width="900" height="25" horizAlign="center" />
<Label id="numberofsongs" width="500" height="25" horizAlign="center" font="font:SmallestSystemFont" color="#999999" />
</LayoutGroup>
<Rectangle id="seekBar" color="0x00000099" width="500" height="10">
<Rectangle id="bufferPosition" color="0xFFFFFF44" height="10"></Rectangle>
<Rectangle id="playPosition" color="#00a4dcFF" height="10"></Rectangle>
</Rectangle>
<LayoutGroup id="buttons" layoutDirection="horiz" horizAlignment="center" itemSpacings="[45]">
<Poster id="previous" width="64" height="64" uri="pkg:/images/icons/previous-default.png" opacity="0" />
<Poster id="play" width="64" height="64" uri="pkg:/images/icons/play-default.png" />
<Poster id="next" width="64" height="64" uri="pkg:/images/icons/next-default.png" opacity="0" />
</LayoutGroup>
<Animation id="bufferPositionAnimation" duration="1" repeat="false" easeFunction="linear">
<FloatFieldInterpolator id="bufferPositionAnimationWidth" key="[0.0, 1.0]" fieldToInterp="bufferPosition.width" />
</Animation>
<Animation id="playPositionAnimation" duration="1" repeat="false" easeFunction="linear">
<FloatFieldInterpolator id="playPositionAnimationWidth" key="[0.0, 1.0]" fieldToInterp="playPosition.width" />
</Animation>
<Animation id="displayButtonsAnimation" duration="1" repeat="false" easeFunction="linear">
<FloatFieldInterpolator key="[0.0, 1.0]" keyValue="[0.0, 1.0]" fieldToInterp="previous.opacity" />
<FloatFieldInterpolator key="[0.0, 1.0]" keyValue="[0.0, 1.0]" fieldToInterp="next.opacity" />
</Animation>
</LayoutGroup>
<!-- Preload selected icons to prevent flicker -->
<Poster width="0" height="0" uri="pkg:/images/icons/previous-selected.png" visible="false" />
<Poster width="0" height="0" uri="pkg:/images/icons/play-selected.png" visible="false" />
<Poster width="0" height="0" uri="pkg:/images/icons/next-selected.png" visible="false" />
</children>
<interface>
<field id="pageContent" type="array" onChange="pageContentChanged" />
<field id="audio" type="node" />
<field id="state" type="string" />
<field id="selectedButtonIndex" type="integer" />
</interface>
<script type="text/brightscript" uri="pkg:/source/utils/misc.brs" />
<script type="text/brightscript" uri="NowPlaying.brs" />
<script type="text/brightscript" uri="pkg:/source/api/Image.brs" />
<script type="text/brightscript" uri="pkg:/source/api/baserequest.brs" />
<script type="text/brightscript" uri="pkg:/source/utils/config.brs" />
</component>