$ESCINFO question
#1
I'm using $ESCINFO to set a bool for a dynamic object.
Code:
<onclick>Skin.ToggleSetting($ESCINFO[Container(211).ListItem.Property(widget)])</onclick>
<selected>Skin.HasSetting($ESCINFO[Container(211).ListItem.Property(widget)])</selected>

The Skin.ToggleSetting command works perfectly and set/unsets the bool,
Code:
<setting id="LDPRecentlyAddedMovies" type="bool">true</setting>
<setting id="LDPRecentlyAddedEpisodes" type="bool">false</setting>
<setting id="PVR" type="bool">true</setting>
<setting id="WeatherForecast" type="bool">true</setting>

The Skin.HasSetting does not work in any way and throws this error in the log.
ERROR: Error parsing boolean expression Skin.HasSetting($ESCINFO[Container(211).ListItem.Property(widget)])

Is this an oversite, or am I using it wrong? I even tried it on yesterday's KodiSetup-20150925-f8a8413-master.
Using a NUC7PJYHN and a 2820FYKH0 Intel NUC running LibreELEC, and two FireTVs.:)
Reply
#2
i'm not 100% sure, but you probably can't use an infolabel inside this boolean condition.

only a few booleans accept infolabels as arguments (IntegerGreaterThan() / IsEmpty() / StringCompare() / SubString()).
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply
#3
(2015-09-26, 13:13)ronie Wrote: i'm not 100% sure, but you probably can't use an infolabel inside this boolean condition.

only a few booleans accept infolabels as arguments (IntegerGreaterThan() / IsEmpty() / StringCompare() / SubString()).

I tried all of those, and none work, all give the same:
Error parsing boolean expression
when used in a <selected></selected> control when using ESC or INFO, and Skin.HasSetting() simply won't accept a $ESCVAR, $VAR, $ESCINFO, or $INFO when used anywhere.
I would have given up 2 hours ago if Skin.ToggleSetting had not worked.

Any idea how to read a skin setting that's name is dynamic without using ESC or INFO?
Using a NUC7PJYHN and a 2820FYKH0 Intel NUC running LibreELEC, and two FireTVs.:)
Reply
#4
(2015-09-26, 15:13)MacGyver Wrote:
(2015-09-26, 13:13)ronie Wrote: i'm not 100% sure, but you probably can't use an infolabel inside this boolean condition.

only a few booleans accept infolabels as arguments (IntegerGreaterThan() / IsEmpty() / StringCompare() / SubString()).

I tried all of those, and none work, all give the same:
Error parsing boolean expression

did you try them like this:
IsEmpty(Container(211).ListItem.Property(widget))
'cause you need to omit the $INFO[] part.

(2015-09-26, 15:13)MacGyver Wrote: Any idea how to read a skin setting that's name is dynamic without using ESC or INFO?
nope
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply
#5
(2015-09-26, 15:36)ronie Wrote: did you try them like this:
IsEmpty(Container(211).ListItem.Property(widget))
'cause you need to omit the $INFO[] part.

Thanks anyway, I was trying to use the name of the widget as a bool skin-setting, so only the controls that access the skin-settings are of any use. The issue is that they don't allow $VAR or $INFO, so there's nothing I can do.
I thought because the toggle control worked, the other would, especially after the Kodi 16 update about $ESCVAR and $ESCINFO being added.

Guess I'll try again on Kodi 17.
Using a NUC7PJYHN and a 2820FYKH0 Intel NUC running LibreELEC, and two FireTVs.:)
Reply
#6
(2015-09-26, 21:10)MacGyver Wrote: I thought because the toggle control worked, the other would

Skin.ToggleSetting is a builtin function, Skin.HasSetting is an infobool. those are not related in any way, shape or form ;-)
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply

Logout Mark Read Team Forum Stats Members Help
$ESCINFO question0