Kodi Community Forum

Full Version: Main Screen Widgets...
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Does it work with in progress movies? If the widget doesn't show up yet, start a movie, skip past 3 min mar and restart Kodi

Also, what version of Estuary have you modified. All I did was put that code in the latest master, didn't change anything else
(2017-03-30, 21:01)adun79 Wrote: [ -> ]Does it work with in progress movies? If the widget doesn't show up yet, start a movie, skip past 3 min mar and restart Kodi

Also, what version of Estuary have you modified. All I did was put that code in the latest master, didn't change anything else
1. i'm using kodi 17.0 git-20170210-3543708 2/11/2017

2. background fanart works fine for all of the stock / built in kodi widgets as follows (with or without content conditions defined):

<include content="WidgetListPoster">
<param name="content_path" value="videodb://movies/sets/"/>
<param name="widget_target" value="videos"/>
<param name="sortby" value="random"/>
<param name="list_id" value="5600"/>
</include>

<include content="WidgetListPoster" condition="Library.HasContent(movies)">
<param name="content_path" value="special://skin/playlists/inprogress_movies.xsp"/>
<param name="widget_header" value="Recently "/>
<param name="widget_target" value="videos"/>
<param name="list_id" value="5100"/>
</include>

<include content="WidgetListPoster" condition="Library.HasContent(movies)">
<param name="content_path" value="special://skin/playlists/random_movies.xsp"/>
<param name="widget_header" value="Suggestions "/>
<param name="widget_target" value="videos"/>
<param name="list_id" value="5400"/>
</include>

<include content="WidgetListPoster" condition="Library.HasContent(movies)">
<param name="content_path" value="special://skin/playlists/recent_unwatched_movies.xsp"/>
<param name="widget_header" value="Recently Added "/>
<param name="widget_target" value="videos"/>
<param name="list_id" value="5200"/>
</include>

<include content="WidgetListPoster" condition="Library.HasContent(movies)">
<param name="content_path" value="special://skin/playlists/unwatched_movies.xsp"/>
<param name="widget_header" value="Unwatched "/>
<param name="widget_target" value="videos"/>
<param name="list_id" value="5300"/>
</include>

3. all of the custom widget rows i've set up display and function fine given i didn't set up conditions to prevent them from displaying until certain criteria is met, background fanart just doesn't display when the movie poster is focused.... as shown in my previous post, i'm using the following custom widget categories (rows):

family movies
science fiction
comedy
adventure
all movies

and i'm using just one kodi stock / built in widget as follows (which displays background fanart just fine):

movie sets (which displays background art fine)

and i've commented out all other kodi stock / built in widgets (so they don't display / function) as follows, they all display background fanart just fine when activated:

in progress
random
recent unwatched
unwatched

4. if i play a movie from a custom widget, let it run for a while, background art still doesn't work.
That one is a bit old and the Estuary version is probably older, download estuary from here https://github.com/phil65/skin.estuary and modify Home.xml and add you playlists. Have you modified other files too?
Your problem with fanarts is in Variables.xml :

Code:
<variable name="HomeFanartVar">
        <value condition="Skin.HasSetting(no_fanart)"></value>
        <value condition="Window.IsActive(musicinformation) | Window.IsActive(movieinformation) | Window.IsActive(addoninformation) | Window.IsActive(pvrguideinfo) | Window.IsActive(pvrrecordinginfo) | Window.IsActive(pictureinfo) | Window.IsVisible(script-script.extendedinfo-DialogVideoInfo.xml) | Window.IsVisible(script-script.extendedinfo-DialogInfo.xml) | Window.IsVisible(script-script.extendedinfo-VideoList.xml)">$INFO[Window(home).Property(infobackground)]</value>
        <value condition="!String.IsEmpty(Container(5100).ListItem.Art(fanart)) + Control.HasFocus(5100)">$INFO[Container(5100).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(5200).ListItem.Art(fanart)) + Control.HasFocus(5200)">$INFO[Container(5200).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(5300).ListItem.Art(fanart)) + Control.HasFocus(5300)">$INFO[Container(5300).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(5400).ListItem.Art(fanart)) + Control.HasFocus(5400)">$INFO[Container(5400).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(5600).ListItem.Art(fanart)) + Control.HasFocus(5600)">$INFO[Container(5600).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(6100).ListItem.Art(fanart)) + Control.HasFocus(6100)">$INFO[Container(6100).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(6200).ListItem.Art(fanart)) + Control.HasFocus(6200)">$INFO[Container(6200).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(6300).ListItem.Art(fanart)) + Control.HasFocus(6300)">$INFO[Container(6300).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(6400).ListItem.Art(fanart)) + Control.HasFocus(6400)">$INFO[Container(6400).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(7100).ListItem.Art(fanart)) + Control.HasFocus(7100)">$INFO[Container(7100).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(7200).ListItem.Art(fanart)) + Control.HasFocus(7200)">$INFO[Container(7200).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(7300).ListItem.Art(fanart)) + Control.HasFocus(7300)">$INFO[Container(7300).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(7400).ListItem.Art(fanart)) + Control.HasFocus(7400)">$INFO[Container(7400).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(8100).ListItem.Art(fanart)) + Control.HasFocus(8100)">$INFO[Container(8100).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(8200).ListItem.Art(fanart)) + Control.HasFocus(8200)">$INFO[Container(8200).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(8300).ListItem.Art(fanart)) + Control.HasFocus(8300)">$INFO[Container(8300).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(8400).ListItem.Art(fanart)) + Control.HasFocus(8400)">$INFO[Container(8400).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(8500).ListItem.Art(fanart)) + Control.HasFocus(8500)">$INFO[Container(8500).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(15100).ListItem.Property(FanartCode)) + Control.HasFocus(15100)">$INFO[Skin.String(WeatherFanart.path)]$INFO[Container(15100).ListItem.Property(FanartCode)]$INFO[Skin.String(WeatherFanart.ext)]</value>
        <value condition="!String.IsEmpty(Container(15200).ListItem.Property(FanartCode)) + Control.HasFocus(15200)">$INFO[Skin.String(WeatherFanart.path)]$INFO[Container(15200).ListItem.Property(FanartCode)]$INFO[Skin.String(WeatherFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(804)">$INFO[Skin.String(HomeFanart.path)]power$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(802)">$INFO[Skin.String(HomeFanart.path)]settings$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(803)">$INFO[Skin.String(HomeFanart.path)]favorites$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(801)">$INFO[Skin.String(HomeFanart.path)]search$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path))">$INFO[Skin.String(HomeFanart.path)]$INFO[Container(9000).ListItem.Property(id)]$INFO[Skin.String(HomeFanart.ext)]</value>
    </variable>

If you change/add ID, you must change/add line for fanart.

In previous post your have defined new ID 5220 :

Code:
<include content="WidgetListPoster" condition="Library.HasContent(movies)">
<param name="content_path" value="special://skin/playlists/Comedies.xsp"/>
<param name="widget_header" value="Comedies"/>
<param name="widget_target" value="videos"/>
<param name="list_id" value="5220"/>
</include>

So, you must add line :

Code:
<value condition="!String.IsEmpty(Container(5220).ListItem.Art(fanart)) + Control.HasFocus(5220)">$INFO[Container(5220).ListItem.Art(fanart)]</value>

Or you can replace all container fanart with one line to avoid to define each ID :

Code:
<value condition="!String.IsEmpty(Container.ListItem.Art(fanart))">$INFO[Container.ListItem.Art(fanart)]</value>
(2017-03-30, 23:12)Guilouz Wrote: [ -> ]Or you can replace all container fanart with one line to avoid to define each ID :

Code:
<value condition="!String.IsEmpty(Container.ListItem.Art(fanart))">$INFO[Container.ListItem.Art(fanart)]</value>

That's how it has been for a while in the master
(2017-03-30, 23:12)Guilouz Wrote: [ -> ]Your problem with fanarts is in Variables.xml..... If you change/add ID, you must change/add line for fanart... In previous post your have defined new ID 5220 :

Code:
<include content="WidgetListPoster" condition="Library.HasContent(movies)">
<param name="content_path" value="special://skin/playlists/Comedies.xsp"/>
<param name="widget_header" value="Comedies"/>
<param name="widget_target" value="videos"/>
<param name="list_id" value="5220"/>
</include>

So, you must add line :

Code:
<value condition="!String.IsEmpty(Container(5220).ListItem.Art(fanart)) + Control.HasFocus(5220)">$INFO[Container(5220).ListItem.Art(fanart)]</value>
bam! you are a superstar sir, thanks a ton, i can safely say that i would have never figured that out on my own....

at the risk of going back to the well too often, could you apply your expertise to this one other item that has been driving me crazy, which i can't figure out?

i've decided that i like the look of an extra large movie poster on focus (mad max in the example below), which imo looks/works great with a projector and large movie screen.... making the movie poster extra large was pretty easy, but i can't figure out how to make it overlap the unfocused movie posters below it, as it does with the unfocused movie posters above it...

it seems that code would need to be added to the includes_home.xml file, where the movie poster focus code resides as follows, but i can't figure it out:

<focusedlayout width="310" height="486">
<control type="group">
<depth>DepthContentPopout</depth>
<left>68</left>
<top>10</top>
<animation type="Focus">
<effect type="zoom" start="100" end="150" time="200" tween="sine" easing="inout" center="230,200" />
</animation>
<animation type="Unfocus">
<effect type="zoom" start="150" end="100" time="125" tween="sine" easing="inout" center="230,200" />
</animation>
<include content="InfoWallMovieLayout">
<param name="focused" value="true" />
</include>
</control>
</focusedlayout>


Image
(2017-03-31, 00:02)adun79 Wrote: [ -> ]
(2017-03-30, 23:12)Guilouz Wrote: [ -> ]Or you can replace all container fanart with one line to avoid to define each ID :

Code:
<value condition="!String.IsEmpty(Container.ListItem.Art(fanart))">$INFO[Container.ListItem.Art(fanart)]</value>

That's how it has been for a while in the master

In master for Kodi 18 yes, but you use Kodi 17 no ?


Branch Krypton :

Code:
<variable name="HomeFanartVar">
        <value condition="Skin.HasSetting(no_fanart)"></value>
        <value condition="Window.IsActive(musicinformation) | Window.IsActive(movieinformation) | Window.IsActive(addoninformation) | Window.IsActive(pvrguideinfo) | Window.IsActive(pvrrecordinginfo) | Window.IsActive(pictureinfo) | Window.IsVisible(script-script.extendedinfo-DialogVideoInfo.xml) | Window.IsVisible(script-script.extendedinfo-DialogInfo.xml) | Window.IsVisible(script-script.extendedinfo-VideoList.xml)">$INFO[Window(home).Property(infobackground)]</value>
        <value condition="!String.IsEmpty(Container(5100).ListItem.Art(fanart)) + Control.HasFocus(5100)">$INFO[Container(5100).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(5200).ListItem.Art(fanart)) + Control.HasFocus(5200)">$INFO[Container(5200).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(5300).ListItem.Art(fanart)) + Control.HasFocus(5300)">$INFO[Container(5300).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(5400).ListItem.Art(fanart)) + Control.HasFocus(5400)">$INFO[Container(5400).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(5600).ListItem.Art(fanart)) + Control.HasFocus(5600)">$INFO[Container(5600).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(6100).ListItem.Art(fanart)) + Control.HasFocus(6100)">$INFO[Container(6100).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(6200).ListItem.Art(fanart)) + Control.HasFocus(6200)">$INFO[Container(6200).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(6300).ListItem.Art(fanart)) + Control.HasFocus(6300)">$INFO[Container(6300).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(6400).ListItem.Art(fanart)) + Control.HasFocus(6400)">$INFO[Container(6400).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(7100).ListItem.Art(fanart)) + Control.HasFocus(7100)">$INFO[Container(7100).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(7200).ListItem.Art(fanart)) + Control.HasFocus(7200)">$INFO[Container(7200).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(7300).ListItem.Art(fanart)) + Control.HasFocus(7300)">$INFO[Container(7300).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(7400).ListItem.Art(fanart)) + Control.HasFocus(7400)">$INFO[Container(7400).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(8100).ListItem.Art(fanart)) + Control.HasFocus(8100)">$INFO[Container(8100).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(8200).ListItem.Art(fanart)) + Control.HasFocus(8200)">$INFO[Container(8200).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(8300).ListItem.Art(fanart)) + Control.HasFocus(8300)">$INFO[Container(8300).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(8400).ListItem.Art(fanart)) + Control.HasFocus(8400)">$INFO[Container(8400).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(8500).ListItem.Art(fanart)) + Control.HasFocus(8500)">$INFO[Container(8500).ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container(15100).ListItem.Property(FanartCode)) + Control.HasFocus(15100)">$INFO[Skin.String(WeatherFanart.path)]$INFO[Container(15100).ListItem.Property(FanartCode)]$INFO[Skin.String(WeatherFanart.ext)]</value>
        <value condition="!String.IsEmpty(Container(15200).ListItem.Property(FanartCode)) + Control.HasFocus(15200)">$INFO[Skin.String(WeatherFanart.path)]$INFO[Container(15200).ListItem.Property(FanartCode)]$INFO[Skin.String(WeatherFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(804)">$INFO[Skin.String(HomeFanart.path)]power$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(802)">$INFO[Skin.String(HomeFanart.path)]settings$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(803)">$INFO[Skin.String(HomeFanart.path)]favorites$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(801)">$INFO[Skin.String(HomeFanart.path)]search$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path))">$INFO[Skin.String(HomeFanart.path)]$INFO[Container(9000).ListItem.Property(id)]$INFO[Skin.String(HomeFanart.ext)]</value>
    </variable>

Branch master (Kodi 18) :

Code:
<variable name="HomeFanartVar">
        <value condition="Skin.HasSetting(no_fanart)"></value>
        <value condition="Window.IsActive(musicinformation) | Window.IsActive(movieinformation) | Window.IsActive(addoninformation) | Window.IsActive(pvrguideinfo) | Window.IsActive(pvrrecordinginfo) | Window.IsActive(pictureinfo) | Window.IsVisible(script-script.extendedinfo-DialogVideoInfo.xml) | Window.IsVisible(script-script.extendedinfo-DialogInfo.xml) | Window.IsVisible(script-script.extendedinfo-VideoList.xml)">$INFO[Window(home).Property(infobackground)]</value>
        <value condition="!String.IsEmpty(Container.ListItem.Art(fanart))">$INFO[Container.ListItem.Art(fanart)]</value>
        <value condition="!String.IsEmpty(Container.ListItem.Property(FanartCode))">$INFO[Skin.String(WeatherFanart.path)]$INFO[Container.ListItem.Property(FanartCode)]$INFO[Skin.String(WeatherFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(804)">$INFO[Skin.String(HomeFanart.path)]power$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(802)">$INFO[Skin.String(HomeFanart.path)]settings$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(803)">$INFO[Skin.String(HomeFanart.path)]favorites$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path)) + Control.HasFocus(801)">$INFO[Skin.String(HomeFanart.path)]search$INFO[Skin.String(HomeFanart.ext)]</value>
        <value condition="!String.IsEmpty(Skin.String(HomeFanart.path))">$INFO[Skin.String(HomeFanart.path)]$INFO[Container(9000).ListItem.Property(id)]$INFO[Skin.String(HomeFanart.ext)]</value>
    </variable>

https://github.com/xbmc/xbmc/branches

https://github.com/phil65/skin.estuary/branches
Kodi 18, but I started working on my version since it was on 17 and it has that line with no ID's. Maybe I added it at some point and didn't remember
Pages: 1 2