2015-05-21, 08:38
Morning,
On the path of learning to skin my latest exercise is a new view from scratch and I am having a problem that I need help with.
The idea for the view is a vertical list on the left hand side of the screen that scrolls throug 0-Z like a directory and then then final intention is to have when <onright> on the focused icon it displays a seconday horizontal list to the right with all the relevant films, and hopefully music in the future, that begin with the number / letter selected.
I'm trying to populate the secondary list with dynamic content from a smartplaylist, but the it doesn't seem to work and I've tried numerous vars etc.
I also have to give musc gratitiude to Hitcher, I've been harassing him via PM with questions on this and he have been very kind to offer advice when he had the time. Thank you Hitcher.
Here is more detail info that will hopefully explain what I'm wanting to do:
Screenshots:
The 950 debug label shows VAR[DirectoryListVar] when in control 950 the main vertical control
The 960 debug label shows VAR[DirectoryListVar] when in control 960 the secondary film horizontal control
I can't get the secondary list to populate with the relevant smart playlist, I've tried a couple of VARs:
current version of the code:
If you can spare some time to help me the it would be much appreciated.
Mike.
On the path of learning to skin my latest exercise is a new view from scratch and I am having a problem that I need help with.
The idea for the view is a vertical list on the left hand side of the screen that scrolls throug 0-Z like a directory and then then final intention is to have when <onright> on the focused icon it displays a seconday horizontal list to the right with all the relevant films, and hopefully music in the future, that begin with the number / letter selected.
I'm trying to populate the secondary list with dynamic content from a smartplaylist, but the it doesn't seem to work and I've tried numerous vars etc.
I also have to give musc gratitiude to Hitcher, I've been harassing him via PM with questions on this and he have been very kind to offer advice when he had the time. Thank you Hitcher.
Here is more detail info that will hopefully explain what I'm wanting to do:
Screenshots:
watch gallery
The 950 debug label shows VAR[DirectoryListVar] when in control 950 the main vertical control
The 960 debug label shows VAR[DirectoryListVar] when in control 960 the secondary film horizontal control
I can't get the secondary list to populate with the relevant smart playlist, I've tried a couple of VARs:
Code:
<variable name="DirectoryListVar">
<value condition="Substring(Container(950).ListItem.Label,0,left)">special://skin/extras/playlists/video/directory/movies/zero.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,1,left)">special://skin/extras/playlists/video/directory/movies/one.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,2,left)">special://skin/extras/playlists/video/directory/movies/two.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,3,left)">special://skin/extras/playlists/video/directory/movies/three.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,4,left)">special://skin/extras/playlists/video/directory/movies/four.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,5,left)">special://skin/extras/playlists/video/directory/movies/five.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,6,left)">special://skin/extras/playlists/video/directory/movies/six.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,7,left)">special://skin/extras/playlists/video/directory/movies/seven.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,8,left)">special://skin/extras/playlists/video/directory/movies/eight.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,9,left)">special://skin/extras/playlists/video/directory/movies/nine.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,a,left)">special://skin/extras/playlists/video/directory/movies/a.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,b,left)">special://skin/extras/playlists/video/directory/movies/b.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,c,left)">special://skin/extras/playlists/video/directory/movies/c.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,d,left)">special://skin/extras/playlists/video/directory/movies/d.xsp</value>
<value condition="Substring(Container(950).ListItem.Label,e,left)">special://skin/extras/playlists/video/directory/movies/e.xsp</value>
<!--value>special://skin/extras/playlists/video/directory/movies/$INFO[ListItem.Label].xsp</value-->
<!--value>special://skin/extras/playlists/video/directory/movies/a.xsp</value-->
</variable>
<variable name="DirectoryVar">
<!--value condition="Substring(ListItem.Label,0,left)">zero.xsp</value>
<value condition="Substring(ListItem.Label,1,left)">one.xsp</value>
<value condition="Substring(ListItem.Label,2,left)">two.xsp</value>
<value condition="Substring(ListItem.Label,3,left)">three.xsp</value>
<value condition="Substring(ListItem.Label,4,left)">four.xsp</value>
<value condition="Substring(ListItem.Label,5,left)">five.xsp</value>
<value condition="Substring(ListItem.Label,6,left)">six.xsp</value>
<value condition="Substring(ListItem.Label,7,left)">seven.xsp</value>
<value condition="Substring(ListItem.Label,8,left)">eight.xsp</value>
<value condition="Substring(ListItem.Label,9,left)">nine.xsp</value>
<value condition="Substring(ListItem.Label,a,left)">A.xsp</value>
<value condition="Substring(ListItem.Label,b,left)">b.xsp</value>
<value condition="Substring(ListItem.Label,c,left)">C.xsp</value>
<value condition="Substring(ListItem.Label,d,left)">d.xsp</value>
<value condition="Substring(ListItem.Label,e,left)">e.xsp</value>
<value>special://skin/extras/playlists/video/directory/movies/$INFO[ListItem.Label].xsp</value-->
<value>special://skin/extras/playlists/video/directory/movies/a.xsp</value>
</variable>
current version of the code:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<include name="DirectoryView">
<control type="group">
<control type="image">
<posx>75</posx>
<posy>-720</posy>
<width>120</width>
<height>2200</height>
<texture>panels/panel.png</texture>
<visible>Control.IsVisible(950)</visible>
</control>
<control type="wraplist" id="950">
<description>My first wraplist container</description>
<posx>80</posx>
<posy>-720</posy>
<width>1400</width>
<height>2200</height>
<visible>true</visible>
<onup>2</onup>
<ondown>3</ondown>
<onleft>9000</onleft>
<onright>960</onright>
<viewtype label="Directory View">list</viewtype>
<orientation>vertical</orientation>
<pagecontrol>25</pagecontrol>
<focusposition>5</focusposition>
<itemlayout width="100" height="100">
<control type="image">
<posx>5</posx>
<posy>800</posy>
<width>100</width>
<height>100</height>
<info>ListItem.Icon</info>
</control>
<control type="label">
<posx>5</posx>
<posy>800</posy>
<width>100</width>
<height>100</height>
<info>$VAR[DirectoryListVar]</info>
</control>
</itemlayout>
<focusedlayout height="100" width="100">
<control type="image">
<posx>5</posx>
<posy>800</posy>
<width>100</width>
<height>100</height>
<info>ListItem.Icon</info>
</control>
<control type="label">
<posx>5</posx>
<posy>800</posy>
<width>100</width>
<height>100</height>
<info>$VAR[DirectoryVar] - ListItem.Label</info>
</control>
<control type="image">
<width>100</width>
<height>100</height>
<posx>5</posx>
<posy>800</posy>
<visible>Control.HasFocus(950)</visible>
<texture>listselect_fo.png</texture>
</control>
<control type="label">
<posx>105</posx>
<posy>1000</posy>
<width>800</width>
<height>300</height>
<label>950 - $VAR[DirectoryListVar]</label>
</control>
</focusedlayout>
<content>
<item>
<onclick>ActivateWindow(Videos,special://skin/extras/playlists/video/directory/movies/zero.xsp,return)</onclick>
<label>zero</label>
<icon>special://skin/extras/Directory/images/0.png</icon>
</item>
<item>
<onclick>ActivateWindow(Videos,special://skin/extras/playlists/video/directory/movies/one.xsp,return)</onclick>
<onright><content target="video">special://skin/extras/playlists/video/directory/movies/$VAR[DirectoryVar].xsp</content></onright>
<label>one</label>
<icon>special://skin/extras/Directory/images/1.png</icon>
</item>
<item>
<onclick>ActivateWindow(Videos,special://skin/extras/playlists/video/directory/movies/two.xsp,return)</onclick>
<onright>960</onright>
<label>two</label>
<icon>special://skin/extras/Directory/images/2.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>three</label>
<icon>special://skin/extras/Directory/images/3.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>four</label>
<icon>special://skin/extras/Directory/images/4.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>five</label>
<icon>special://skin/extras/Directory/images/5.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>six</label>
<icon>special://skin/extras/Directory/images/6.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>seven</label>
<icon>special://skin/extras/Directory/images/7.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>eight</label>
<icon>special://skin/extras/Directory/images/8.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>nine</label>
<icon>special://skin/extras/Directory/images/9.png</icon>
</item>
<item>
<onclick><content target="video">special://skin/extras/playlists/video/directory/movies/a.xsp</content></onclick>
<onright><content target="video">special://skin/extras/playlists/video/directory/movies/a.xsp</content></onright>
<label>A</label>
<icon>special://skin/extras/Directory/images/a.png</icon>
</item>
<item>
<onclick><content target="video">special://skin/extras/playlists/video/directory/movies/b.xsp</content></onclick>
<onright><content target="video">special://skin/extras/playlists/video/directory/movies/b.xsp</content></onright>
<label>B</label>
<icon>special://skin/extras/Directory/images/b.png</icon>
</item>
<item>
<onclick><content target="video">special://skin/extras/playlists/video/directory/movies/c.xsp</content></onclick>
<onright><content target="video">special://skin/extras/playlists/video/directory/movies/c.xsp</content></onright>
<label>C</label>
<icon>special://skin/extras/Directory/images/c.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>D</label>
<icon>special://skin/extras/Directory/images/d.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>E</label>
<icon>special://skin/extras/Directory/images/e.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>F</label>
<icon>special://skin/extras/Directory/images/f.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>G</label>
<icon>special://skin/extras/Directory/images/g.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>H</label>
<icon>special://skin/extras/Directory/images/h.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>I</label>
<icon>special://skin/extras/Directory/images/i.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>J</label>
<icon>special://skin/extras/Directory/images/j.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>K</label>
<icon>special://skin/extras/Directory/images/k.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>L</label>
<icon>special://skin/extras/Directory/images/l.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>M</label>
<icon>special://skin/extras/Directory/images/m.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>N</label>
<icon>special://skin/extras/Directory/images/n.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>O</label>
<icon>special://skin/extras/Directory/images/o.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>P</label>
<icon>special://skin/extras/Directory/images/p.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>Q</label>
<icon>special://skin/extras/Directory/images/q.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>R</label>
<icon>special://skin/extras/Directory/images/r.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>S</label>
<icon>special://skin/extras/Directory/images/s.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>T</label>
<icon>special://skin/extras/Directory/images/t.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>U</label>
<icon>special://skin/extras/Directory/images/u.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>V</label>
<icon>special://skin/extras/Directory/images/v.png</icon>
</item>
<item>
<onclick>960</onclick>
<label>W</label>
<icon>special://skin/extras/Directory/images/w.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>X</label>
<icon>special://skin/extras/Directory/images/x.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>Y</label>
<icon>special://skin/extras/Directory/images/y.png</icon>
</item>
<item>
<onclick>960</onclick>
<onright>960</onright>
<label>Z</label>
<icon>special://skin/extras/Directory/images/z.png</icon>
</item>
</content>
</control>
</control>
<control type="fixedlist" id="960">
<visible>Control.IsVisible(950)</visible>
<posx>190</posx>
<posy>-220</posy>
<width>1600</width>
<height>2200</height>
<visible>true</visible>
<onup>950</onup>
<ondown>3</ondown>
<onleft>950</onleft>
<onright>950</onright>
<viewtype label="Directory List">list</viewtype>
<orientation>horizontal</orientation>
<pagecontrol>25</pagecontrol>
<focusposition>0</focusposition>
<itemlayout width="200" height="300">
<control type="image">
<posx>5</posx>
<posy>800</posy>
<width>200</width>
<height>300</height>
<texture>$VAR[ListPosterVar]</texture>
<!--info>ListItem.Icon</info-->
</control>
<!--control type="label">
<posx>5</posx>
<posy>1000</posy>
<width>200</width>
<height>300</height>
<info>ListItem.Label</info>
</control-->
</itemlayout>
<focusedlayout height="300" width="200">
<control type="group">
<animation effect="zoom" center="95,133" start="100" end="130" time="160" tween="quadratic" reversible="false">Conditional</animation>
<visible>Container.Content(Movies)</visible>
<control type="image">
<posx>5</posx>
<posy>800</posy>
<width>200</width>
<height>300</height>
<aspectratio>keep</aspectratio>
<texture background="true">$VAR[ListPosterVar]</texture>
<!--info>ListItem.Icon</info-->
</control>
<control type="image">
<posx>3</posx>
<posy>798</posy>
<width>204</width>
<height>304</height>
<aspectratio align="center" aligny="center">stretch</aspectratio>
<texture border="15">views/addonwall_select.png</texture>
<colordiffuse>$VAR[FocusTextureColorVar]</colordiffuse>
</control>
<!--control type="label">
<posx>5</posx>
<posy>1000</posy>
<width>200</width>
<height>300</height>
<info>ListItem.Label</info>
<visible>IsEmpty(ListItem.Art(clearlogo))</visible>
</control-->
<!--control type="image">
<posx>645</posx>
<posy>1120</posy>
<width>240</width>
<height>93</height>
<aspectratio align="center">keep</aspectratio>
<texture>$INFO[ListItem.Art(clearlogo)]</texture>
<visible>!IsEmpty(ListItem.Art(clearlogo))</visible>
</control-->
<control type="label">
<posx>0</posx>
<posy>1040</posy>
<width>1000</width>
<height>300</height>
<label>960 - $VAR[DirectoryListVar]</label>
<visible>Control.IsVisible(960)</visible>
</control>
<!--control type="image">
<width>200</width>
<height>300</height>
<posx>5</posx>
<posy>800</posy>
<texture>listselect_fo.png</texture>
</control-->
</control>
</focusedlayout>
<!--content target="video">$VAR[DirectoryListVar]</content-->
<!--content target="video">special://skin/extras/playlists/video/directory/movies/e.xsp</content-->
<!--content target="video">special://skin/extras/playlists/video/directory/movies/$VAR[DirectoryVar].xsp</content-->
<content condition="Substring(Container(950).ListItem.Label,c,left)">special://skin/extras/playlists/video/directory/movies/c.xsp</content>
<content condition="Substring(Container(950).ListItem.Label,b,left)">special://skin/extras/playlists/video/directory/movies/b.xsp</content>
<content condition="Substring(Container(950).ListItem.Label,c,left)">special://skin/extras/playlists/video/directory/movies/c.xsp</content>
</control>
</include>
<!--include name="DirectoryList"-->
<!--/include-->
</includes>
If you can spare some time to help me the it would be much appreciated.
Mike.