help with content / dynamic content
#1
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 Tongue 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.
SKIN: Aeon Madnox
RIP Schimi2k, we miss you.
When I grow up I want to be a skilled skinner
Thank me by ⬇ adding to my + reputation
Reply
#2
You can't use conditions inside <content> tags.
You can't use content tags inside <onright> tags.

What happens when you use
<content>$VAR[DirectoryListVar]</content>

?

That should work... and then just use a visibility condition for the 960 container so it only shows on focus. i.e.
<visible allowhiddenfocus="true">Control.HasFocus(960)</visible>
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
#3
Hi JM,

Thanks for the help,

I've just been looking at it today and got it to work with this:

<content target="video">special://skin/extras/playlists/video/directory/movies/$INFO[Container(950).ListItem.Label].xsp</content>

Thanks for the visible hint, but looks like the exercise is gonna be a pain, I have ListItem.Art(clearlogo) in the 960 list and if works fine but things like ListItem.Studio doesn't seem to. Need to undertand how this Container(XXX) works exactly and other things, like pressing I for Dialoginfo doesn't work when in the film list? Still will probably continue in an attempt to learn more.

Mike.
SKIN: Aeon Madnox
RIP Schimi2k, we miss you.
When I grow up I want to be a skilled skinner
Thank me by ⬇ adding to my + reputation
Reply
#4
<onright>Select</onright> needs to go in the list control so pressing right is the same as pressing OK.
Reply

Logout Mark Read Team Forum Stats Members Help
help with content / dynamic content0