Solved Paths and $ESCINFO
#1
I've been trying to see where I'm going wrong for weeks. The problem is with the 1080XF/Xperience1080 skin. The widgets, such as spotlight and latest episodes work as expected. I've fixed the issues with Trending and others provided by the add-on, but I can't seem to see the issue with playlists being used. I've checked every line of the debug log where they're loaded and nothing is incorrect, I've looked through the code and can't see why they wouldn't be working.

Code:
<onfocus condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.2.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.2.Method)],unwatched=$INFO[Skin.String(HomeWidget.2.UnWatched)],resume=$INFO[Skin.String(HomeWidget.2.Resume)],playlist=$ESCINFO[Skin.String(HomeWidget.2.Playlist)],property=HomeWidget2)</onfocus>

The problem is here:

Code:
=$ESCINFO[Skin.String(HomeWidget.2.Playlist)],

Replacing that with the actual path, like this:

Code:
=special://profile/playlists/video/playlist-name.xsp,

works fine.

The part that handles that again looks fine to me, which is why I'm wondering if I'm being really dumb. I hope I am!

Code:
Skin.SetFile(HomeWidget.2.Playlist,.xsp,special://profile/playlists/video/)

And here (sorry for the long paste) is the bit that controls

Code:
<include name="PanelDialogHomeWidget2">
        <control type="grouplist" id="4">
            <posx>0</posx>
            <posy>0</posy>
            <width>532</width>
            <height>360</height>
            <itemgap>0</itemgap>
            <onup>4</onup>
            <ondown>4</ondown>
            <onleft>5</onleft>
            <onright condition="Control.IsVisible(3)">3</onright>
            <onright condition="!Control.IsVisible(3)">5</onright>
            <scrolltime>0</scrolltime>
            <orientation>vertical</orientation>
            <control type="group" id="2141">
                <description>Fake spin control</description>
                <width>1210</width>
                <height>60</height>
                <control type="image">
                    <posx>0</posx>
                    <posy>0</posy>
                    <width>532</width>
                    <height>60</height>
                    <texture>dialogs/default/separator-btn.png</texture>
                    <aspectratio>stretch</aspectratio>
                    <visible>!ControlGroup(2141).HasFocus</visible>
                </control>
                <control type="image">
                    <posx>0</posx>
                    <posy>0</posy>
                    <width>532</width>
                    <height>60</height>
                    <texture border="2">dialogs/default/highlight.png</texture>
                    <aspectratio>stretch</aspectratio>
                    <visible>ControlGroup(2141).HasFocus</visible>
                </control>
                <control type="button" id="21411">
                    <posx>450</posx>
                    <posy>0</posy>
                    <width>32</width>
                    <height>60</height>
                    <onleft>5</onleft>
                    <onright>21412</onright>
                    <onup>2405</onup>
                    <ondown>21421</ondown>
                    <texturefocus>buttons/spinctrl/arrow-light-down-fo.png</texturefocus>
                    <texturenofocus>buttons/spinctrl/arrow-light-down-nf.png</texturenofocus>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)">Skin.SetString(HomeWidget.2.Type,service.skin.widgets)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41551])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),trendingshows)">Skin.SetString(HomeWidget.2.Type,script.randomandlastitems)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),trendingshows)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[559])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),trendingmovies)">Skin.SetString(HomeWidget.2.Type,trendingshows)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),trendingmovies)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41174])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),toprated)">Skin.SetString(HomeWidget.2.Type,trendingmovies)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),toprated)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41173])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),popular)">Skin.SetString(HomeWidget.2.Type,toprated)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),popular)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41172])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),incinema)">Skin.SetString(HomeWidget.2.Type,popular)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),incinema)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41171])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),upcoming)">Skin.SetString(HomeWidget.2.Type,incinema)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),upcoming)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41170])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets) + System.HasAddon(script.extendedinfo)">Skin.SetString(HomeWidget.2.Type,upcoming)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets) + System.HasAddon(script.extendedinfo)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41169])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets) + !System.HasAddon(script.extendedinfo)">Skin.SetString(HomeWidget.2.Type,script.randomandlastitems)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets) + !System.HasAddon(script.extendedinfo)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[559])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)">Skin.SetString(HomeWidget.2.Type,service.skin.widgets)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41551])</onclick>
                </control>
                <control type="button" id="21412">
                    <posx>482</posx>
                    <posy>0</posy>
                    <width>32</width>
                    <height>60</height>
                    <onleft>21411</onleft>
                    <onright>3</onright>
                    <onup>2405</onup>
                    <ondown>21422</ondown>
                    <texturefocus>buttons/spinctrl/arrow-light-up-fo.png</texturefocus>
                    <texturenofocus>buttons/spinctrl/arrow-light-up-nf.png</texturenofocus>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets)">Skin.SetString(HomeWidget.2.Type,script.randomandlastitems)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[559])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),upcoming)">Skin.SetString(HomeWidget.2.Type,service.skin.widgets)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),upcoming)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41551])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),incinema)">Skin.SetString(HomeWidget.2.Type,upcoming)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),incinema)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41169])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),popular)">Skin.SetString(HomeWidget.2.Type,incinema)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),popular)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41170])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),toprated)">Skin.SetString(HomeWidget.2.Type,popular)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),toprated)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41171])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),trendingmovies)">Skin.SetString(HomeWidget.2.Type,toprated)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),trendingmovies)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41172])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),trendingshows)">Skin.SetString(HomeWidget.2.Type,trendingmovies)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),trendingshows)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41173])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">Skin.SetString(HomeWidget.2.Type,trendingshows)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41174])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + !System.HasAddon(script.extendedinfo)">Skin.SetString(HomeWidget.2.Type,service.skin.widgets)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + !System.HasAddon(script.extendedinfo)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[41551])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets)">Skin.SetString(HomeWidget.2.Type,script.randomandlastitems)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets)">Skin.SetString(HomeWidget.2.TypeName,$LOCALIZE[559])</onclick>
                </control>
                <control type="button">
                    <posx>0</posx>
                    <posy>0</posy>
                    <width>455</width>
                    <height>60</height>
                    <align>left</align>
                    <textoffsetx>20</textoffsetx>
                    <font>Font-Condensed-S30</font>
                    <textcolor>FF585858</textcolor>
                    <label>$LOCALIZE[41162]</label>
                    <label2>$INFO[Skin.String(HomeWidget.2.TypeName)]</label2>
                    <visible>!ControlGroup(2141).HasFocus</visible>
                </control>
                <control type="button">
                    <posx>0</posx>
                    <posy>0</posy>
                    <width>455</width>
                    <height>60</height>
                    <align>left</align>
                    <textoffsetx>20</textoffsetx>
                    <font>Font-Condensed-S30</font>
                    <textcolor>eewhite</textcolor>
                    <label>$LOCALIZE[41162]</label>
                    <label2>$INFO[Skin.String(HomeWidget.2.TypeName)]</label2>
                    <visible>ControlGroup(2141).HasFocus</visible>
                </control>
            </control>
            <control type="group" id="2142">
                <description>Fake spin control</description>
                <width>1210</width>
                <height>60</height>
                <animation effect="fade" start="100" end="50" time="0" condition="!stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)">Conditional</animation>
                <control type="image">
                    <posx>0</posx>
                    <posy>0</posy>
                    <width>532</width>
                    <height>60</height>
                    <texture>dialogs/default/separator-btn.png</texture>
                    <aspectratio>stretch</aspectratio>
                    <visible>!ControlGroup(2142).HasFocus</visible>
                </control>
                <control type="image">
                    <posx>0</posx>
                    <posy>0</posy>
                    <width>532</width>
                    <height>60</height>
                    <texture border="2">dialogs/default/highlight.png</texture>
                    <aspectratio>stretch</aspectratio>
                    <visible>ControlGroup(2142).HasFocus</visible>
                </control>
                <control type="button" id="21421">
                    <posx>450</posx>
                    <posy>0</posy>
                    <width>32</width>
                    <height>60</height>
                    <onleft>5</onleft>
                    <onright>21422</onright>
                    <onup>21411</onup>
                    <ondown>2143</ondown>
                    <texturefocus>buttons/spinctrl/arrow-light-down-fo.png</texturefocus>
                    <texturenofocus>buttons/spinctrl/arrow-light-down-nf.png</texturenofocus>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Episode)">Skin.SetString(HomeWidget.2.SubType,Movie)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Episode)">Skin.SetString(HomeWidget.2.SubTypeName,$LOCALIZE[342])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Movie)">Skin.SetString(HomeWidget.2.SubType,Episode)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Movie)">Skin.SetString(HomeWidget.2.SubTypeName,$LOCALIZE[20360])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Episode)">Skin.SetString(HomeWidget.2.SubType,Movie)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Episode)">Skin.SetString(HomeWidget.2.SubTypeName,$LOCALIZE[342])</onclick>
                    <enable>stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)</enable>
                </control>
                <control type="button" id="21422">
                    <posx>482</posx>
                    <posy>0</posy>
                    <width>32</width>
                    <height>60</height>
                    <onleft>21421</onleft>
                    <onright condition="Control.IsVisible(3)">3</onright>
                    <onright condition="!Control.IsVisible(3)">5</onright>
                    <onup>21412</onup>
                    <ondown>2143</ondown>
                    <texturefocus>buttons/spinctrl/arrow-light-up-fo.png</texturefocus>
                    <texturenofocus>buttons/spinctrl/arrow-light-up-nf.png</texturenofocus>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Movie)">Skin.SetString(HomeWidget.2.SubType,Episode)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Movie)">Skin.SetString(HomeWidget.2.SubTypeName,$LOCALIZE[20360])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Episode)">Skin.SetString(HomeWidget.2.SubType,Movie)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Episode)">Skin.SetString(HomeWidget.2.SubTypeName,$LOCALIZE[342])</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Movie)">Skin.SetString(HomeWidget.2.SubType,Episode)</onclick>
                    <onclick condition="stringcompare(Skin.String(HomeWidget.2.SubType),Movie)">Skin.SetString(HomeWidget.2.SubTypeName,$LOCALIZE[20360])</onclick>
                    <enable>stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)</enable>
                </control>
                <control type="button">
                    <posx>0</posx>
                    <posy>0</posy>
                    <width>455</width>
                    <height>60</height>
                    <align>left</align>
                    <textoffsetx>20</textoffsetx>
                    <font>Font-Condensed-S30</font>
                    <textcolor>FF585858</textcolor>
                    <disabledcolor>77585858</disabledcolor>
                    <label>$LOCALIZE[41141]</label>
                    <label2>$INFO[Skin.String(HomeWidget.2.SubTypeName)]</label2>
                    <visible>!ControlGroup(2142).HasFocus</visible>
                    <enable>stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)</enable>
                </control>
                <control type="button">
                    <posx>0</posx>
                    <posy>0</posy>
                    <width>455</width>
                    <height>60</height>
                    <align>left</align>
                    <textoffsetx>20</textoffsetx>
                    <font>Font-Condensed-S30</font>
                    <textcolor>eewhite</textcolor>
                    <label>$LOCALIZE[41141]</label>
                    <label2>$INFO[Skin.String(HomeWidget.2.SubTypeName)]</label2>
                    <visible>ControlGroup(2142).HasFocus</visible>
                </control>
            </control>
            <control type="button" id="2143">
                <include>SettingsCustomDialogButtonVars</include>
                <label>$LOCALIZE[559]</label>
                <label2>$INFO[Skin.String(HomeWidget.2.Playlist)]</label2>
                <onclick>Skin.SetFile(HomeWidget.2.Playlist,.xsp,special://profile/playlists/video/)</onclick>
                <enable>stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)</enable>
                <animation effect="fade" start="100" end="50" time="0" condition="!stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)">Conditional</animation>
            </control>
            <control type="radiobutton" id="2403">
                <include>SettingsCustomDialogRadioButtonVars</include>
                <label>$LOCALIZE[41164]</label>
                <onclick condition="!stringcompare(Skin.String(HomeWidget.2.Method),Random)">Skin.SetString(HomeWidget.2.Method,Random)</onclick>
                <onclick condition="stringcompare(Skin.String(HomeWidget.2.Method),Random)">Skin.SetString(HomeWidget.2.Method,Playlist)</onclick>
                <selected>stringcompare(Skin.String(HomeWidget.2.Method),Random)</selected>
                <enable>stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)</enable>
                <animation effect="fade" start="100" end="50" time="0" condition="!stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)">Conditional</animation>
            </control>
            <control type="radiobutton" id="2404">
                <include>SettingsCustomDialogRadioButtonVars</include>
                <label>$LOCALIZE[41165]</label>
                <onclick condition="!substring(Skin.String(HomeWidget.2.UnWatched),True)">Skin.SetString(HomeWidget.2.UnWatched,True)</onclick>
                <onclick condition="substring(Skin.String(HomeWidget.2.UnWatched),True)">Skin.SetString(HomeWidget.2.UnWatched,False)</onclick>
                <selected>substring(Skin.String(HomeWidget.2.UnWatched),True)</selected>
                <enable>stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)</enable>
                <animation effect="fade" start="100" end="50" time="0" condition="!stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)">Conditional</animation>
            </control>
            <control type="radiobutton" id="2405">
                <include>SettingsCustomDialogRadioButtonVars</include>
                <label>$LOCALIZE[41166]</label>
                <onclick condition="!substring(Skin.String(HomeWidget.2.Resume),True)">Skin.SetString(HomeWidget.2.Resume,True)</onclick>
                <onclick condition="substring(Skin.String(HomeWidget.2.Resume),True)">Skin.SetString(HomeWidget.2.Resume,False)</onclick>
                <selected>substring(Skin.String(HomeWidget.2.Resume),True)</selected>
                <enable>stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)</enable>
                <animation effect="fade" start="100" end="50" time="0" condition="!stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems)">Conditional</animation>
            </control>
        </control>
    </include>

My theory is that I've missed something in the XBMC 13.x to Kodi 14.x skin changes, although I've re-read through. I've also checked the add-ons loaded, again can't see any issue within the skin code.

Any help would be much appreciated Smile
Please read the online manual (wiki) & FAQ (wiki) before posting.

Skins: Estuary | Xperience1080
Opinion: Never purchase HTC products
Reply
#2
It's not the full stops causing problems is it? Also worth check your guisettings.xml to see what value HomeWidget.2.Playlist is?
Reply
#3
Thank you for the reply, it's not the full stops causing it, from what I can see. guisettings.xml does show False when set using the skin for the Playlist option, but True when hard coding the playlist in startup.xml. I've been looking over the debug log for an hour as well as trying previous versions to see what went wrong and where. I can't see any changes within Kodi functions or add-on functions from 13-14 that would cause this.
Please read the online manual (wiki) & FAQ (wiki) before posting.

Skins: Estuary | Xperience1080
Opinion: Never purchase HTC products
Reply
#4
95% certain I now have this working

Image

$ESCINFO didn't make sense to use that there, going to $INFO resolves the issue (mostly) - still some work to do as it occasionally causes a script error. But it also uses script.randomandlast which isn't updated (or doesn't need to be) for Helix.
Please read the online manual (wiki) & FAQ (wiki) before posting.

Skins: Estuary | Xperience1080
Opinion: Never purchase HTC products
Reply

Logout Mark Read Team Forum Stats Members Help
Paths and $ESCINFO0