Posts: 3,384
Joined: Aug 2012
Reputation:
107
braz
Skilled Skinner
Posts: 3,384
Thanks for all your help Bob, I appreciate it!
Posts: 8,283
Joined: Jul 2014
I'm curious about the autoreload stuff too. Tried to make that work but in the end there was always an addon/path which didn't like something to be added to the path, for example the YouTube addon.
BTW: If you're using skinhelper service in your skin there are a few interesting properties to use for the reload:
$INFO[Window(Home).Property(widgetreload)] --> will change if any video content is changed in the library or after playback stop of any video content
$INFO[Window(Home).Property(widgetreload-episodes)] --> same as normal widgetreload but only for episodes
$INFO[Window(Home).Property(widgetreload-movies)] --> same as normal widgetreload but only for movies
$INFO[Window(Home).Property(widgetreload-tvshows)] --> if tvshow content is added/changed in the library
$INFO[Window(Home).Property(widgetreloadmusic)] --> will change if any music content is changed in the library or after playback stop
$INFO[Window(Home).Property(widgetreload2)] --> changes every 10 minutes
The properties
Posts: 3,384
Joined: Aug 2012
Reputation:
107
braz
Skilled Skinner
Posts: 3,384
2016-03-13, 20:58
(This post was last modified: 2016-03-13, 21:04 by braz.)
No rush Bob, thanks!
Update: I changed it to $PYTHON[$SKINSHORTCUTS[autoreload]] and that fixed the problem with SimplePlaylists and PinkBike paths. The only one that isn't working for me now is a YouTube path, as Marcelveldt mentioned.
Posts: 8,283
Joined: Jul 2014
(2016-03-13, 20:53)BobCratchett Wrote: @marcelveldt - That's why I have the interest in trying to do this with Python, so limited processing can be done and we can get back something that always can be correctly appended without breaking the widget. It's very much a wip, and may well prove to be impossible yet . I haven't tried it with YouTube, but will put that on my to-do list to see if I can re-create and fix the problem there.
Sounds great, I was already thinking about a toggle for each widget to enable the autorefreshes but if it can be fully automated that would be best. Speaking of that, I think that this is something that most skinners are stuggling with and maybe it would be nice to just handle it fully in the skinshortcuts code (optional off course).
Otherwise we all have to copy the template code to do the same trick while it might be handled already if skinshortcuts just adds the correct reload property automated (assuming skinhelperservice is also installed)
For all widgets provided in the default widgets list in skinshortcuts I already handled this as you know, because that listing is provided by skinhelper and the correct reloads param gets appended.
Posts: 1,479
Joined: Jan 2015
Reputation:
159
2016-03-13, 21:12
(This post was last modified: 2016-03-13, 21:14 by BobCratchett.)
Yes, I've been thinking along the same lines - I'm reading semi-regular reports of plugins not refreshing, so appending one of the skin helper reloads when creating the widgetPath (if we can do it without breaking, for example, the YouTube plugin) when creating a widget seems like a sensible idea.
(This widgetReload trick that we're trying to get working here is a slightly different issue, though - where a widget disappears because the page was closed whilst it was being loaded - as fixing that requires detecting that the widget has 'stalled', to me this feels better handled skin-side if possible - particularly as the method I'm using requires adding onunload's to the window in question)
Posts: 8,283
Joined: Jul 2014
(2016-03-13, 21:12)BobCratchett Wrote: (This widgetReload trick that we're trying to get working here is a slightly different issue, though - where a widget disappears because the page was closed whilst it was being loaded - as fixing that requires detecting that the widget has 'stalled', to me this feels better handled skin-side if possible - particularly as the method I'm using requires adding onunload's to the window in question)
Hmm, it seems that my skin is affected by that too....
http://forum.kodi.tv/showthread.php?tid=...pid2275421
I think this has something to do with the fact that the home window stays in memory so the widgets won't be reloaded when you leave the home and return.
Posts: 3,384
Joined: Aug 2012
Reputation:
107
braz
Skilled Skinner
Posts: 3,384
2016-03-13, 23:36
(This post was last modified: 2016-03-13, 23:38 by braz.)
Hey Marceveldt and Bob, here's what I've noticed with Mimic....
1) Implemented templates for widgets so they wouldn't have to reload when switching menu items. Noticed that some or all widgets would disappear occasionally, seemingly at random. Couldn't figure out how to reliably replicate the issue.
2) Implemented custom IDs for widgets based on the menu item ID. This seemed to help, but still experienced disappearing widgets a time or two.
3) Today, I implemented the autoreload python method for the home widgets. Although YouTube based widgets are not currently working, I hoped this would resolve the disappearing widgets issue. However, I just experienced the widgets disappearing again. It seems like its the widgets that have plugin paths that disappear most often. Reloading the skin brings them right back, as it did when they disappeared before.
Hope this helps, I'm available for any testing. Thanks!
Posts: 3,384
Joined: Aug 2012
Reputation:
107
braz
Skilled Skinner
Posts: 3,384
Bob, the one that didn't work for me is the Eurogamer widget that is provided by skin helper service, which pulls from YouTube.
Posts: 3,384
Joined: Aug 2012
Reputation:
107
braz
Skilled Skinner
Posts: 3,384
Thanks Bob, I'm using the updated snippet to ignore ExtendedInfo. What's interesting is I'm still experiencing disappearing widgets from time to time. I'm going to keep a close eye on it and see if I notice any patterns.
Posts: 3,384
Joined: Aug 2012
Reputation:
107
braz
Skilled Skinner
Posts: 3,384
Thanks Bob, I read the Trac ticket, very well explained! Let me know if I can do any testing or if you need any information from me. Hopefully this is something that can be fixed in core and won't need workarounds.