Kodi Community Forum

Full Version: skin helper service
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(2016-03-07, 12:46)marcelveldt Wrote: [ -> ]
(2016-03-07, 12:40)sualfred Wrote: [ -> ]
(2016-03-07, 12:08)marcelveldt Wrote: [ -> ]https://github.com/marcelveldt/script.sk...wse-genres

Now added to Git

Thanks!
Any way to get them for the MyVideoNav window, too?

Similar to the webservice. Example:
Code:
<control type="image">
    <texture background="true">http://localhost:52307/getgenre&amp;title=$INFO[Listitem.Label]&resultamp;type=poster1</texture>
</control>
<control type="image">
    <texture background="true">http://localhost:52307/getgenre&amp;title=$INFO[Listitem.Label]&resultamp;type=poster2</texture>
</control>
..

No, you just browse this node instead of the default genres node.

If you want to use it with the webservice more work is required.

Any chance to add it for list usage?

Btw: Tested your implemenation and it works great and smooth. I just need it as webservice to use it in the default list Smile
(2016-03-01, 12:31)sualfred Wrote: [ -> ]And another request Big Grin

RunScript(script.skin.helper.service,action=reset)
-> Could you please add the "filter=string1|string2|string2" to the reset option, too?

Added on Git...
https://github.com/marcelveldt/script.sk...o-defaults
(2016-03-07, 12:44)marcelveldt Wrote: [ -> ]
(2016-03-02, 21:48)Jayz2K Wrote: [ -> ]Hehe, more clear now, missed the skinsettings.xml part :p This is going to be a large file Wink Really intuitive to work in this one.

Yeah, the ||PROMPTNUMERIC|| is what I need Smile
Not sure the ||PROMPTSTRING|| makes sense here since AFAIK constants are numeric only ... ?

Also, while you're on skin settings, I'm using this great stuff a lot also to just build a select box and use the <onselect> action. But in this case, the dummy string name writes a useless skinstring. Should it be possible to add a ||SKIPSTRING|| so it writes nothing ?

https://github.com/marcelveldt/script.sk...e-argument

Many thanks.

Works fine on my side. I'm able to set a fully dynamic content in height / size directly in Windows. Really promising !
2 small things that are more fine tuning :

When using for example :

Code:
<setting id="TestSizeX" value="||PROMPTSTRING||" label="Width" condition="" icon="" description="" />

It launches DialogSelect first. Unneeded action IMO with ||PROMPTSTRING|| or ||PROMPTNUMERIC|| since DialogSelect then contains only 1 item. Much clearer to open DialogKeyboard or DialogNumeric direcly ? Or had you in mind to be able to set a constant with both NUMERIC and STRING ?

One thing I didn't thought about is the (-) minus. Since it's numeric settings, DialogNumeric has no negative sign so it's needed to use DialogKeyboard through ||PROMPTSTRING||. Works fine then but a bit weird. If you have an idea ...

One specific bug : escaping the DialogKeyboard or Numeric returns :

Code:
12:58:31 T:352  NOTICE: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Input.OnInputRequested  - data: {"title":"Width","type":"keyboard","value":"emptyconstant"}
12:58:33 T:10912   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.TypeError'>
                                            Error Contents: 'NoneType' object is not iterable
                                            Traceback (most recent call last):
                                              File "C:\Users\jerome.MTLSA\AppData\Roaming\Kodi\addons\script.skin.helper.service-master\default.py", line 304, in <module>
                                                Main()
                                              File "C:\Users\jerome.MTLSA\AppData\Roaming\Kodi\addons\script.skin.helper.service-master\default.py", line 70, in __init__
                                                mainmodule.setSkinConstant(setting,windowHeader)
                                              File "C:\Users\jerome.MTLSA\AppData\Roaming\Kodi\addons\script.skin.helper.service-master\resources\lib\MainModule.py", line 391, in setSkinConstant
                                                value, label = setSkinSetting(setting=setting, windowHeader=windowHeader, sublevel="", valueOnly=allCurrentValues.get(setting,"emptyconstant"))
                                            TypeError: 'NoneType' object is not iterable
                                            -->End of Python script error report<--
12:58:33 T:352  NOTICE: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Input.OnInputFinished  - data: null

Great job on this, huge things comin' !


(2016-03-07, 12:19)marcelveldt Wrote: [ -> ]
(2016-03-05, 13:30)Mike_Doc Wrote: [ -> ]if you do have the time could you update the new animated call to get backgrounds as well, thank you.

Now added to Git:
https://github.com/marcelveldt/script.sk...ed-posters

(2016-03-05, 13:30)Mike_Doc Wrote: [ -> ]Another question also, in views.xml it seems some views that have albums,artists,songs in type don't show up when accessing music via a playlist? any idea why? I have not got type set correctly?

That should work correctly. Maybe there's a typo in the views.xml ?

Hi Marcel,

I don't think so, but here's 2 from views:

<view id="Low List" value="506" languageid="31153" type="artists,albums,songs"/>
<view id="MusicFlix" value="810" languageid="31208" type="artists,albums,songs"/>

These don't show up in view selector when it's a music / mixed playlist:

Here's my playlist:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smartplaylist type="mixed">
<name>Ren CDs</name>
<match>all</match>
<rule field="albumartist" operator="is">
<value>John Digweed</value>
</rule>
</smartplaylist>

Couldn't see an option in playlist manager for just music so maybe that's the issue? it's not a music playlist but a mixed playlist?

The only views being shown as available are those with type="all"

Mike.
(2016-03-07, 14:04)Jayz2K Wrote: [ -> ]Works fine on my side. I'm able to set a fully dynamic content in height / size directly in Windows. Really promising !
2 small things that are more fine tuning :

When using for example :

Code:
<setting id="TestSizeX" value="||PROMPTSTRING||" label="Width" condition="" icon="" description="" />

It launches DialogSelect first. Unneeded action IMO with ||PROMPTSTRING|| or ||PROMPTNUMERIC|| since DialogSelect then contains only 1 item. Much clearer to open DialogKeyboard or DialogNumeric direcly ? Or had you in mind to be able to set a constant with both NUMERIC and STRING ?

You can have a list of predefined values, that's the whole purpose of the skinsettings method.
So, just predefine some values and also have a manual item in the list withh the prompt stuff...

(2016-03-07, 14:04)Jayz2K Wrote: [ -> ]One thing I didn't thought about is the (-) minus. Since it's numeric settings, DialogNumeric has no negative sign so it's needed to use DialogKeyboard through ||PROMPTSTRING||. Works fine then but a bit weird. If you have an idea ...

Hmmm, that would only be solvable with a string...

(2016-03-07, 14:04)Jayz2K Wrote: [ -> ]One specific bug : escaping the DialogKeyboard or Numeric returns :
Should now be fixed on Git, please test.
(2016-03-07, 14:37)Mike_Doc Wrote: [ -> ]These don't show up in view selector when it's a music / mixed playlist:

That's the issue... it's a mixed playlist... If you want I can treat mixed as songs ?
EDIT: fixed, mixed is now treated as songs
(2016-03-07, 14:48)marcelveldt Wrote: [ -> ]You can have a list of predefined values, that's the whole purpose of the skinsettings method.
So, just predefine some values and also have a manual item in the list withh the prompt stuff...

Obviously, makes sense ...
So, should it be possible to trigger the setconstant in single mode ?

RunScript(script.skin.helper.service,action=setskinconstant,setting=PanelWidth,header=Width for Panel,singlemode=true)

Quote:Hmmm, that would only be solvable with a string...

I think so, will see if I can add some controls to this to avoid pushing weird values.

Quote:Should now be fixed on Git, please test.

Thx, will check and report Wink
(2016-03-07, 15:15)Jayz2K Wrote: [ -> ]So, should it be possible to trigger the setconstant in single mode ?
Please check latest Git. It should now skip the dialogselect if there's only one value


(2016-03-07, 15:15)Jayz2K Wrote: [ -> ]I think so, will see if I can add some controls to this to avoid pushing weird values.

Also taken care of in latest Git. Use ||PROMPTSTRINGASNUMERIC|| instead
(2016-03-07, 15:40)marcelveldt Wrote: [ -> ]
(2016-03-07, 15:15)Jayz2K Wrote: [ -> ]So, should it be possible to trigger the setconstant in single mode ?
Please check latest Git. It should now skip the dialogselect if there's only one value


(2016-03-07, 15:15)Jayz2K Wrote: [ -> ]I think so, will see if I can add some controls to this to avoid pushing weird values.

Also taken care of in latest Git. Use ||PROMPTSTRINGASNUMERIC|| instead
Perfect Marcel ! Many thx.
(2016-03-07, 13:06)sualfred Wrote: [ -> ]Btw: Tested your implemenation and it works great and smooth. I just need it as webservice to use it in the default list Smile

OK, added to the webservice but I think this won't be very fast...

https://github.com/marcelveldt/script.sk...nre-images
(2016-03-07, 16:34)marcelveldt Wrote: [ -> ]
(2016-03-07, 13:06)sualfred Wrote: [ -> ]Btw: Tested your implemenation and it works great and smooth. I just need it as webservice to use it in the default list Smile

OK, added to the webservice but I think this won't be very fast...

https://github.com/marcelveldt/script.sk...nre-images

Thanks. Speed is more than acceptable and not so important because of the caching Smile

Tested and works great, but only for genres which have no Umlauts in it. "Komödie" has no results for example.
Also noticed that the content provider method is sorted by the date and not by name. Outside of the MyVideoNav window this is no problem but not if the list is accessed directly.
(2016-03-07, 17:05)sualfred Wrote: [ -> ]Tested and works great, but only for genres which have no Umlauts in it. "Komödie" has no results for example.

Can you check again with latest Git? Should now be working altough I couldn't test it
(2016-03-07, 19:30)marcelveldt Wrote: [ -> ]
(2016-03-07, 17:05)sualfred Wrote: [ -> ]Tested and works great, but only for genres which have no Umlauts in it. "Komödie" has no results for example.

Can you check again with latest Git? Should now be working altough I couldn't test it

Nope, still no arts.
Now it's working.

You def. should add an donation link to this thread. You deserve more than 1 beer from me.

Edit:
Screenshots of both methods
watch gallery


Only the "order by" issue left Smile