Estuary - Kodi's new skin
Posted: Wed Mar 09, 2016 12:03 pm
http://forum.kodi.tv/showthread.php?tid=262144
Looks good - I imagine a step to far for the humble xbox?
Looks good - I imagine a step to far for the humble xbox?
XBMC4Xbox – Media Center for the original Xbox
https://www.xbmc4xbox.org.uk/forum/
Code: Select all
<param name="foo">
Code: Select all
<foo>$PARAM[foobar]</foo>
I get what you're saying, but not quite that simple as far as I can tell. I did it - for example - with the videofiles submenu but there is more than just one ID or label to change because each </item> in each container has it's own label, it's own visibilty sometimes, and it's own function. What a pia...took me a solid hour to wrap my head around it, but it can certainly be done. Just not in "one fell swoop" fashion unless I'm missing something.Rocky5 wrote:Should be simple enough to batch replace the $Param[label], with their corresponding values.
Code: Select all
<include name="SubMenu">
<control type="group">
<height>110</height>
<visible>$PARAM[visible]</visible>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container($PARAM[list_id]).NumItems,0)">conditional</animation>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container($PARAM[list_id]).NumItems,1)">conditional</animation>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container($PARAM[list_id]).NumItems,2)">conditional</animation>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container($PARAM[list_id]).NumItems,3)">conditional</animation>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container($PARAM[list_id]).NumItems,4)">conditional</animation>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container($PARAM[list_id]).NumItems,5)">conditional</animation>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container($PARAM[list_id]).NumItems,6)">conditional</animation>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container($PARAM[list_id]).NumItems,7)">conditional</animation>
<control type="label">
<left>235</left>
<top>53</top>
<width>700</width>
<height>40</height>
<label>$INFO[Container($PARAM[list_id]).Listitem.Label]</label>
<shadowcolor>text_shadow</shadowcolor>
<font>font20_title</font>
<align>right</align>
<animation effect="fade" time="200">VisibleChange</animation>
<visible>Control.HasFocus($PARAM[list_id])</visible>
</control>
<control type="panel" id="$PARAM[list_id]">
<orientation>horizontal</orientation>
<onleft>9000</onleft>
<left>935</left>
<top>22</top>
<height>110</height>
<width>1355</width>
<onup>20000</onup>
<ondown>$PARAM[ondown_id]</ondown>
<itemlayout width="110" height="120">
<control type="image">
<width>130</width>
<height>110</height>
<align>center</align>
<aligny>center</aligny>
<texture border="40">buttons/button-nofo.png</texture>
</control>
<control type="image">
<left>45</left>
<top>35</top>
<width>40</width>
<height>40</height>
<align>center</align>
<aligny>center</aligny>
<texture>icons/submenu/$INFO[ListItem.Art(thumb)]</texture>
</control>
</itemlayout>
<focusedlayout width="110" height="120">
<control type="image">
<width>130</width>
<height>110</height>
<align>center</align>
<aligny>center</aligny>
<texture border="40" colordiffuse="button_focus">buttons/button-theme-fo.png</texture>
</control>
<control type="image">
<left>45</left>
<top>35</top>
<width>40</width>
<height>40</height>
<align>center</align>
<aligny>center</aligny>
<texture>icons/submenu/$INFO[ListItem.Art(thumb)]</texture>
</control>
</focusedlayout>
<content>
<item>
<label>$PARAM[item1_label]</label>
<thumb>$PARAM[item1_icon]</thumb>
<onclick>$PARAM[item1_onclick]</onclick>
<visible>$PARAM[item1_vis]</visible>
</item>
<item>
<label>$PARAM[item2_label]</label>
<thumb>$PARAM[item2_icon]</thumb>
<onclick>$PARAM[item2_onclick]</onclick>
<visible>$PARAM[item2_vis]</visible>
</item>
<item>
<label>$PARAM[item3_label]</label>
<thumb>$PARAM[item3_icon]</thumb>
<onclick>$PARAM[item3_onclick]</onclick>
<visible>$PARAM[item3_vis]</visible>
</item>
<item>
<label>$PARAM[item4_label]</label>
<thumb>$PARAM[item4_icon]</thumb>
<onclick>$PARAM[item4_onclick]</onclick>
<visible>$PARAM[item4_vis]</visible>
</item>
<item>
<label>$PARAM[item5_label]</label>
<thumb>$PARAM[item5_icon]</thumb>
<onclick>$PARAM[item5_onclick]</onclick>
<visible>$PARAM[item5_vis]</visible>
</item>
<item>
<label>$PARAM[item6_label]</label>
<thumb>$PARAM[item6_icon]</thumb>
<onclick>$PARAM[item6_onclick]</onclick>
<visible>$PARAM[item6_vis]</visible>
</item>
<item>
<label>$PARAM[item7_label]</label>
<thumb>$PARAM[item7_icon]</thumb>
<onclick>$PARAM[item7_onclick]</onclick>
<visible>$PARAM[item7_vis]</visible>
</item>
<item>
<label>$PARAM[item8_label]</label>
<thumb>$PARAM[item8_icon]</thumb>
<onclick>$PARAM[item8_onclick]</onclick>
<visible>$PARAM[item8_vis]</visible>
</item>
</content>
</control>
</control>
</include>
Code: Select all
<include content="SubMenu">
<param name="list_id" value="11900"/>
<param name="ondown_id" value="11100"/>
<param name="item1_onclick" value="ActivateWindow(Videos,Files,return)" />
<param name="item1_icon" value="files.png" />
<param name="item1_label" value="$LOCALIZE[744]" />
<param name="item2_onclick" value="ActivateWindow(Videos,special://videoplaylists/,return)" />
<param name="item2_icon" value="playlists.png" />
<param name="item2_label" value="$LOCALIZE[136]" />
<param name="item3_onclick" value="PlayDVD" />
<param name="item3_icon" value="dvd.png" />
<param name="item3_label" value="$LOCALIZE[31076]" />
<param name="item3_vis" value="System.HasMediadvd" />
<param name="item4_onclick" value="ActivateWindow(videos,root,return)" />
<param name="item4_icon" value="videos.png" />
<param name="item4_label" value="$LOCALIZE[31074]" />
<param name="item5_vis" value="False" />
<param name="item6_vis" value="False" />
<param name="item7_vis" value="False" />
<param name="item8_vis" value="False" />
</include>
Code: Select all
<control type="group">
<height>110</height>
<visible>true</visible>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container(11900).NumItems,0)">conditional</animation>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container(11900).NumItems,1)">conditional</animation>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container(11900).NumItems,2)">conditional</animation>
<animation effect="slide" end="110,0" time="0" condition="!Integer.IsGreater(Container(11900).NumItems,3)">conditional</animation>
<control type="label">
<left>235</left>
<top>53</top>
<width>700</width>
<height>40</height>
<label>$INFO[Container(11900).Listitem.Label]</label>
<shadowcolor>text_shadow</shadowcolor>
<font>font20_title</font>
<align>right</align>
<animation effect="fade" time="200">VisibleChange</animation>
<visible>Control.HasFocus(11900)</visible>
</control>
<!--video files-->
<control type="panel" id="11900">
<orientation>horizontal</orientation>
<onleft>9000</onleft>
<left>935</left>
<top>22</top>
<height>110</height>
<width>1355</width>
<onup>20000</onup>
<ondown>11100</ondown>
<itemlayout width="110" height="120">
<control type="image">
<width>130</width>
<height>110</height>
<align>center</align>
<aligny>center</aligny>
<texture border="40">buttons/button-nofo.png</texture>
</control>
<control type="image">
<left>45</left>
<top>35</top>
<width>40</width>
<height>40</height>
<align>center</align>
<aligny>center</aligny>
<texture>icons/submenu/$INFO[ListItem.Art(thumb)]</texture>
</control>
</itemlayout>
<focusedlayout width="110" height="120">
<control type="image">
<width>130</width>
<height>110</height>
<align>center</align>
<aligny>center</aligny>
<texture border="40" colordiffuse="button_focus">buttons/button-theme-fo.png</texture>
</control>
<control type="image">
<left>45</left>
<top>35</top>
<width>40</width>
<height>40</height>
<align>center</align>
<aligny>center</aligny>
<texture>icons/submenu/$INFO[ListItem.Art(thumb)]</texture>
</control>
</focusedlayout>
<content>
<item>
<label>$LOCALIZE[744]</label>
<thumb>files.png</thumb>
<onclick>ActivateWindow(VideoFiles,return)</onclick>
<visible></visible>
</item>
<item>
<label>$LOCALIZE[136]</label>
<thumb>playlists.png</thumb>
<onclick>ActivateWindow(VideoLibrary,Playlists,Return)</onclick>
<visible></visible>
</item>
<item>
<label>$LOCALIZE[31076]</label>
<thumb>dvd.png</thumb>
<onclick>PlayDVD</onclick>
<visible>System.HasMediadvd</visible>
</item>
<item>
<label>$LOCALIZE[31074]</label>
<thumb>videos.png</thumb>
<onclick>ActivateWindow(videolibrary,root,return)</onclick>
<visible></visible>
</item>
</content>
</control>
</control>
+1 That is exactly what I did.Rocky5 wrote:Basically what I would do is cut the include, paste it in a new file & batch replace the values. Then cut & paste it back into the correct file.
(Not to be confused with the includes.xml)
About the colordiffuse i thought i was doing something wrong , so i gave a blue color to see and 60ffffff but still gave me a issue, super awesome job byro , i been trying to get catagory settings to run but just havent gotten around to it, but this will be a touch one i know little of theses new codes, like byron said your more then welcome to help us with cpp coding, thanks and again glad we got a few windows going byronbyron wrote:So I'm trying to get Home.xml together as a starting point and then on to other windows for a less buggy framework. At that point I'll push to git so anybody that wants to can help. In the meantime I've kind of hit a wall due to a texture attribute we don't have, it's stretched throughout the skin, and without it I honestly don't think it can be ported in a respectable manner. It seems like an easy fix, so to any of you out there that have some cpp skills I've made a feature request:
http://redmine.exotica.org.uk/issues/357
There are ways to get the normal textures working with <colordiffuse/> but for the many controls with more than one texture (eg radio button control) it simply doesn't work like that. The <colordiffuse/> makes all textures in a multi texture control that way while the attribute allows each image a control like that produces to be independantly changed. Hope that makes senseAnyway, without that attribute...I think moving forward with this is going to be really hard.