• 1
  • 79
  • 80
  • 81(current)
  • 82
  • 83
  • 309
Release skin helper service
(2016-01-14, 23:40)Jayz2K Wrote: Hmmm, sounds good to me. The only difference for me is that I set them in SkinShortcuts (skin.helper integration) ... and use a multiimage control instead (but to also handle a folder path when it is set).

AFAIK multiimage is not needed but you could give it a shot ? Or maybe 2s is too short as parameter for skin.string ?

Already tested with multiimage and increase delay to 20. Same, shows 1 background. There must be something else i'm missing.

Thanx
Reply
One question:

is this correct?

PHP Code:
<onload condition="System.HasAddon(script.skin.info.service)">RunScript(script.skin.info.service)</onload

shouldn't be?

PHP Code:
<onload condition="System.HasAddon(script.skin.helper.service)">RunScript(script.skin.helper.service)</onload
Reply
(2016-01-15, 13:50)butchabay Wrote: One question:

is this correct?

PHP Code:
<onload condition="System.HasAddon(script.skin.info.service)">RunScript(script.skin.info.service)</onload

shouldn't be?

PHP Code:
<onload condition="System.HasAddon(script.skin.helper.service)">RunScript(script.skin.helper.service)</onload

OMG shame on me ! Confused

So I don't have any Runscript for Skin.Helper :/

I made a test myself sorting out the Property out of Skinshortcuts and it cycles.
I made another test reseting the SkinHelper.RandomFanartDelay Skin.String and I can reproduce it. Sorry, will probably sounds stupid but have you checked the content of it showing it in a label ?
[Skin] KOver - V1.1.0 Stable (Repo version)
[WIP] ReKOver - Skinning tool project

If I've been helpful or you like my work, hit "THANK USER" button ;) ...
Reply
Cmon, don't be so hard to yourself. Smile
I'll check it this evening.

Cheers
Reply
EDIT: Solved, holy crap, seems that a simple:

PHP Code:
<onload condition="System.HasAddon(script.skin.helper.service)">Skin.SetString(SkinHelper.RandomFanartDelay,10)</onload

in startup.xml is working fine Rofl


Ok, the labels provided by the script are working in library as described in the readme.
But still no backgrounds, either in home or in myvideonav.xml.
So something with the skin string is wrong.

Any other ideas?

Thanx
Reply
(2016-01-14, 21:22)butchabay Wrote: I just found some time to try some of the cool options this script provides.
What i'm trying to understand is: Do we necessary need to force a skin setting? I would like to start the script and allow me to use:

Window(Home).Property(SkinHelper.AllMoviesBackground)
Window(Home).Property(SkinHelper.AllTvShowsBackground)
Window(Home).Property(SkinHelper.AllMusicVideosBackground)
etc.

So my question, is there a way to run the script at startup or load it on home.xml, if yes how?

You do not have to launch the script. It's a service running in the background.

What you do need to know is that most features of the script are controlled by skin strings you set in the skin.
For example for the backgrounds you need to set the interval when the images will change. If you don't set that setting or set it to 0 it completely disables the backgrounds window props.

Use this to enable them:

Skin.SetString(SkinHelper.RandomFanartDelay, 30)
Reply
(2016-01-15, 23:28)marcelveldt Wrote:
(2016-01-14, 21:22)butchabay Wrote: I just found some time to try some of the cool options this script provides.
What i'm trying to understand is: Do we necessary need to force a skin setting? I would like to start the script and allow me to use:

Window(Home).Property(SkinHelper.AllMoviesBackground)
Window(Home).Property(SkinHelper.AllTvShowsBackground)
Window(Home).Property(SkinHelper.AllMusicVideosBackground)
etc.

So my question, is there a way to run the script at startup or load it on home.xml, if yes how?

You do not have to launch the script. It's a service running in the background.

What you do need to know is that most features of the script are controlled by skin strings you set in the skin.
For example for the backgrounds you need to set the interval when the images will change. If you don't set that setting or set it to 0 it completely disables the backgrounds window props.

Use this to enable them:

Skin.SetString(SkinHelper.RandomFanartDelay, 30)

Thanx
Edited my post a few seconds before yours Smile
Reply
(2016-01-15, 22:48)butchabay Wrote: EDIT: Solved, holy crap, seems that a simple:

Ah, saw this after my post. All solved now ?
Reply
Yes all fine mate. Thanx
Reply
(2016-01-15, 08:08)tomer953 Wrote: [quote='marcelveldt' pid='2213503' dateline='1452684069']
Code:
08:07:19 T:420   ERROR: Skin Helper Service --> Error while processing smart shortcuts for favourites - set disabled....
I think it's from CustomPicturesBackgroundPath

Should now be fixed on Git
Reply
(2016-01-14, 09:53)Jayz2K Wrote: However, when having a lot of conditions and "bulk" actions it could turn to be hard to write / read the code, don't you think ?
Just my opinion but if the goal is to replace / make easier the <onclick> action, something maybe more "universal" could be :

Code:
<settings>
    <!-- home layout -->
    <setting id="HomeLayout" value="1" label="$LOCALIZE[31309] - 1 row" condition="" icon="" description="">
        <onselect condition="Condition1IsTrue">Skin.SetString(MyString1)</onselect>
        <onselect condition="Condition2IsTrue">Skin.SetString(MyString2)</onselect>
        <onselect condition="Condition3IsTrue">WhateverAction</onselect>
    </setting>
    <setting id="HomeLayout" value="2" label="$LOCALIZE[31309] - 2 rows" condition="" icon="" description=""/>
    <setting id="HomeLayout" value="3" label="$LOCALIZE[31309] - 3 rows" condition="" icon="" description=""/>
</settings>

Great idea! I have just implemented it exactly like your example above.
Can you do a little testing with latest git ?
Reply
(2016-01-15, 23:52)marcelveldt Wrote: Great idea! I have just implemented it exactly like your example above.
Can you do a little testing with latest git ?

Wow that's crazy Big Grin
Sure, I'll report ASAP Wink

Thanks Marcel !
[Skin] KOver - V1.1.0 Stable (Repo version)
[WIP] ReKOver - Skinning tool project

If I've been helpful or you like my work, hit "THANK USER" button ;) ...
Reply
(2016-01-15, 23:52)marcelveldt Wrote: Great idea! I have just implemented it exactly like your example above.
Can you do a little testing with latest git ?
I like this, now i can starting to create "widget chooser" with this part of script.... Dont need shortcuts enymore.... Smile
This will work like view settings, right?
XBoxMediaCenter (Kodi Matrix ) 19.3 , AndroidBox -Matrix Skin AeonMQ6
Reply
(2016-01-15, 23:52)marcelveldt Wrote: Great idea! I have just implemented it exactly like your example above.
Can you do a little testing with latest git ?

Hmmm, as I thought, I'm still trying to do things not the conventional way Confused

The fact is my skin.string name is a property :

Code:
<settings>
    <!-- Designer bloc visibility -->
    <setting id="$INFO[Window(home).Property(SetID)]" value="HIDDEN" label="Hidden" condition="" icon="" description=""/>
    <setting id="$INFO[Window(home).Property(SetID)]" value="VISIBLE" label="Visible" condition="" icon="" description=""/>
    <setting id="$INFO[Window(home).Property(SetID)]" value="IDLEFADE" label="IdleFade" condition="" icon="" description=""/>
    <setting id="$INFO[Window(home).Property(SetID)]" value="ISPLAYING" label="IsPlaying" condition="" icon="" description=""/>
    <setting id="$INFO[Window(home).Property(SetID)]" value="ONFOCUS" label="OnFocus" condition="" icon="" description=""/>

</settings>

Code:
<onclick>SetProperty(SetID,$INFO[Container(9300).ListItem.Property(SetID)],Home)</onclick>
<onclick>RunScript(script.skin.helper.service,action=setskinsetting,setting=$INFO[Window(home).Property(SetID)],header=TESTWINDOW)</onclick>

Is managing a property possible ? Also in conditions ?

As soon as I use a name in id="" it works but my skin.string's name is dynamically given (to avoid having to write thousands of them) as a ListItem.Property like :

Code:
<property name="SetID">$INFO[Container(9000).ListItem.Property(ViewName),,.]$INFO[Container(9100).ListItem.Property(ViewName),,.]$INFO[Container(9200).ListItem.Property(SubName)]Show</property>

Resulting as for ex. VDO.View1.B1Show (meaning Video library, Viewtype 1, Bloc 1, Show value)

EDIT : for more explaination, my onclick actions actually looks like this :

Code:
    <onclick condition="StringCompare(Container(9300).ListItem.Label2,HIDDEN) | IsEmpty(Container(9300).ListItem.Label2)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],VISIBLE)</onclick>
    <onclick condition="StringCompare(Container(9300).ListItem.Label2,VISIBLE)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],IDLEFADE)</onclick>
    <onclick condition="StringCompare(Container(9300).ListItem.Label2,IDLEFADE) + [!StringCompare(Container(9200).ListItem.Property(SubName),B4) | StringCompare(Container(9000).ListItem.Property(ViewName),HOM)] + !StringCompare(Container(9200).ListItem.Property(SubName),B5)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],HIDDEN)</onclick>
    <onclick condition="StringCompare(Container(9300).ListItem.Label2,IDLEFADE) + StringCompare(Container(9200).ListItem.Property(SubName),B4) + !StringCompare(Container(9000).ListItem.Property(ViewName),HOM)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],ISPLAYING)</onclick>
    <onclick condition="StringCompare(Container(9300).ListItem.Label2,IDLEFADE) + StringCompare(Container(9200).ListItem.Property(SubName),B5)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],ONFOCUS)</onclick>
    <onclick condition="StringCompare(Container(9300).ListItem.Label2,ISPLAYING)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],HIDDEN)</onclick>    
    <onclick condition="StringCompare(Container(9300).ListItem.Label2,ONFOCUS)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],HIDDEN)</onclick>
[Skin] KOver - V1.1.0 Stable (Repo version)
[WIP] ReKOver - Skinning tool project

If I've been helpful or you like my work, hit "THANK USER" button ;) ...
Reply
(2016-01-16, 00:51)Jayz2K Wrote: Is managing a property possible ? Also in conditions ?

As soon as I use a name in id="" it works but my skin.string's name is dynamically given (to avoid having to write thousands of them) as a ListItem.Property like :

Code:
<property name="SetID">$INFO[Container(9000).ListItem.Property(ViewName),,.]$INFO[Container(9100).ListItem.Property(ViewName),,.]$INFO[Container(9200).ListItem.Property(SubName)]Show</property>

Resulting as for ex. VDO.View1.B1Show (meaning Video library, Viewtype 1, Bloc 1, Show value)

Uhh, your code example should work, the name of the setting from an infolabel I mean.
Kodi passes the translated value to the script, so the script will return the result of whatever is in $INFO[Window(home).Property(SetID)]

Are you sure that the SetID winproperty is actually beiing set ?
Reply
  • 1
  • 79
  • 80
  • 81(current)
  • 82
  • 83
  • 309

Logout Mark Read Team Forum Stats Members Help
skin helper service18