Main Screen Widgets...
#1
in the main (home?) movie screen there there are rows for "in progress movies", "recently added movies", "unwatched movies", etc... the code for these "widgets" can be found in the home.xml file, for example, as follows:

--------------

<include content="WidgetListPoster" condition="Library.HasContent(movies)">
<param name="content_path" value="special://skin/playlists/inprogress_movies.xsp"/>
<param name="widget_header" value="$LOCALIZE[31010]"/>
<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/recent_unwatched_movies.xsp"/>
<param name="widget_header" value="$LOCALIZE[20386]"/>
<param name="widget_target" value="videos"/>
<param name="list_id" value="5200"/>
</include>

--------------

is there an easy way to change the contents of a widget to something else, say "family" or "sci-fi", by replacing the blue text shown above to a different value? i played around with several different "values" but couldn't get anything to work...

also, some of the widget values refer to xsp files (example: recent_unwatched_movies.xsp) which, in turn, contain code pertaining to the widget's content count... for example, each widget row contains 15 movie posters which can be scrolled horizontally while the xsp file shows 15 as the "limit" (blue text below)... however changing this "limit" number doesn't seem to have any effect on on the number of movie posters available in a row... is there another file where this can be set?

--------------

<smartplaylist type="movies">
<name>In-progress movies</name>
<match>all</match>
<rule field="inprogress" operator="true" />
<limit>15</limit>
<order direction="descending">lastplayed</order>
</smartplaylist>

--------------

ultimately i would like widget rows that contain scrollable genre categories (comedy, family, sci-fi, etc.) rather than the current (stock) widget categories (in progress movies, unwatched movies, random movies) which i don't find very useful for movies, and i would like to increase the poster count from 15 to say 30-50 for each of these categories... is this possible? thanks!
Reply
#2
some progress.... adding the following code to the home.xml menu creates a row for all movie files, altho it can load a bit slower than the other rows depending on how many movies you want to display in the row, in my case i want them all to display in the row so there's a noticeable 1/2 sec or so delay compared to the load speed of the other rows...

<include content="WidgetListPoster" condition="Library.HasContent(movies)">
<param name="content_path" value="videodb://movies/titles/"/>
<param name="widget_header" value="All Movies "/>
<param name="widget_target" value="videos"/>
<param name="sortby" value="title"/>
<param name="list_id" value="56000"/>
</include>

also, changing the "limit" code in the includes_home.xml file from 15 to 0 and then changing the <limit></limit> code in the corresponding xsp files from 15 to 0 removes the 15 poster limit count, i.e. allows you to set your own limit... of course i'm sure there are more elegant ways to do all of this, perhaps through smart playlists or creating additional xsp files, but this seems to work just fine...

<content sortby="$PARAM[sortby]" sortorder="$PARAM[sortorder]" target="$PARAM[widget_target]" limit="15">$PARAM[content_path]</content>

now if anyone can tell me how to show specific categories in a row, such as family, sci-fi, adventure, etc., that would be awesome, just can't figure it out....

or, equally good, if someone could tell me how to add a movie playlist row. that would be very much appreciated as well!
Reply
#3
For comedies create a Comedies.xsp and put it in skin/playlists

Quote:<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smartplaylist type="movies">
<name></name>
<match>all</match>
<rule field="genre" operator="contains">
<value>Comedy</value>
</rule>
<limit>25</limit>
<order direction="ascending">sorttitle</order>
</smartplaylist>

In Home.xml add something like this inside the control grouplist 5001

Quote: <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>

Where you place it in that block is where will be displayed in the widget. The list id is changed to 5220 so it doesn't conflict with the other lists in the movie widget. The value for the widget header is in English only
Reply
#4
(2017-03-25, 19:19)adun79 Wrote: For comedies create a Comedies.xsp and put it in skin/playlists

Quote:<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smartplaylist type="movies">
<name></name>
<match>all</match>
<rule field="genre" operator="contains">
<value>Comedy</value>
</rule>
<limit>25</limit>
<order direction="ascending">sorttitle</order>
</smartplaylist>

In Home.xml add something like this inside the control grouplist 5001

Quote: <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>

Where you place it in that block is where will be displayed in the widget. The list id is changed to 5220 so it doesn't conflict with the other lists in the movie widget. The value for the widget header is in English only
bam! worked like a peach, thanks a ton.... weird tho, i pretty much did the same thing, created custom xsp files etc. but i just couldn't get it to work, not sure what i did wrong, wish i would have saved the work so i could compare! anyway thanks again!
Reply
#5
(2017-03-25, 19:19)adun79 Wrote: For comedies create a Comedies.xsp and put it in skin/playlists.....
just noticed that although this works great, unfortunately background fan art doesn't display when a poster is highlighted when you create custom rows, as it does with the "built-in" kodi rows... is there an easy way to make the custom rows also show background fan art when you highlight a poster? looking at the code nothing seems to jump out that would do this....
Reply
#6
(2017-03-25, 19:19)adun79 Wrote: ....
any thoughts on how to make background fanart appear when a poster is highlighted? as mentioned, this works fine with the built-in widgets, but the custom widgets don't show the background fanart, just the default (i believe) background, i.e. just a dark background.... thanks!
Reply
#7
Perhaps if you copy your xml to pastebin or similar then someone might be able to help.
Reply
#8
(2017-03-30, 09:56)jjd-uk Wrote: Perhaps if you copy your xml to pastebin or similar then someone might be able to help.
sure, easy enough to do, but i thought i had already posted the pertinent code, it was clearly enough for adun79 to understand what i was looking for which led him to providing the very helpful response which allowed me to create widgets with custom content... so what code should i post? all of the content from my home.xml file? all of the code from my includes_home.xml file? both? other files too? please let me know.
Reply
#9
It may well be enough for someone like adun79, however as they have not yet responded then posting the code may enable someone else to respond, for example I do a bit of dabbling in skin files but I'm no expert on their workings, however with the code I maybe able to look through and spot something.

My basic understanding is that loading of the backgrounds comes from View_54_InfoWall.xml where you should find <include name="InfoWallMovieLayout">

As said I'm no expert, but it seems to me that it gets called in Includes_Home.xml

by <include content="InfoWallMovieLayout">

in <include name="WidgetListPoster">

which in turn gets called from Home.xml

by <include content="WidgetListPoster" condition="Library.HasContent(movies)"> in your widgets.


If you look through those files and you see nothing amiss compared with default Estuary then post Home.xml and possibly Includes_Home.xml if you have altered it.
Reply
#10
(2017-03-30, 12:34)jjd-uk Wrote: It may well be enough for someone like adun79, however as they have not yet responded then posting the code may enable someone else to respond, for example I do a bit of dabbling in skin files but I'm no expert on their workings, however with the code I maybe able to look through and spot something.

My basic understanding is that loading of the backgrounds comes from View_54_InfoWall.xml where you should find <include name="InfoWallMovieLayout">

As said I'm no expert, but it seems to me that it gets called in Includes_Home.xml

by <include content="InfoWallMovieLayout">

in <include name="WidgetListPoster">

which in turn gets called from Home.xml

by <include content="WidgetListPoster" condition="Library.HasContent(movies)"> in your widgets.


If you look through those files and you see nothing amiss compared with default Estuary then post Home.xml and possibly Includes_Home.xml if you have altered it.
i think everything you posted is correct however i don't think setting a condition, in this case condition= "library.hascontent(movies)", is necessary in order to show background fanart on hover, i.e. when a movie poster is focused...

for example, from my home.xml file - this code (kodi stock / built in) shows background fanart when a poster in the "movie sets" widget row is highlighted, i.e. it works as it should, without the library has content condition:

<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>

this is also from my home.xml file, another widget (custom), but background fanart isn't displayed when a poster in its widget row (family movies) is highlighted, the background remains the same as my default background:

<include content="WidgetListPoster">
<param name="content_path" value="special://skin/playlists/family_movies.xsp"/>
<<param name="widget_target" value="videos"/>
<param name="sortby" value="random"/>
<param name="list_id" value="5227"/>
</include>

so why does the "movie sets" widget, which is a stock / built in kodi widget, display background fanart on focus yet custom widgets don't? both codes are in the same file (home.xml), both codes are in the same group within the file, yet one works while the other doesn't (in terms of displaying background fanart when focused, all other functions work perfectly fine when a poster from a custom widget is highlighted).

of course the difference between the two codes is the "content path value", the kodi stock / built in code (movie sets) is pulled from the "videodb" while the custom widget (family movies) is pulled from a custom xsp file.... that said, when using a stock / built in kodi widget that references a stock / built in xsp file in the content path, for example "unwatched movies" everything works fine, background fanart is displayed correctly on focus:

<include content="WidgetListPoster">
<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>

so you would think my problem lies in the custom xsp file, but i don't think it does, the custom xsp file and the kodi stock / built in xsp file are pretty much identical:

custom xsp file:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smartplaylist type="movies">
<name>Family movies</name>
<match>all</match>
<rule field="genre" operator="contains">
<value>Family</value>
</rule>
<limit>0</limit>
<!-- <order direction="descending">random</order> -->
</smartplaylist>

kodi stock / built in xsp file:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smartplaylist type="movies">
<name>Unwatched movies</name>
<match>all</match>
<rule field="playcount" operator="is">
<value>0</value>
</rule>
<limit>0</limit>
<order direction="descending">random</order>
</smartplaylist>
Reply
#11
Answering that is way above my pay grade Smile

Think you'll need someone experienced at skinning to help you out, questions like this may be best answered over on the skin development forum http://forum.kodi.tv/forumdisplay.php?fid=12

One word of caution about posting over there, posting lots of questions in a short period (I'm talking up to 48hrs) is frowned upon if one persons posts starts to dominate, but going by your post history that shouldn't be an issue.
Reply
#12
(2017-03-30, 15:03)jjd-uk Wrote: Answering that is way above my pay grade Smile

Think you'll need someone experienced at skinning to help you out, questions like this may be best answered over on the skin development forum http://forum.kodi.tv/forumdisplay.php?fid=12

One word of caution about posting over there, posting lots of questions in a short period (I'm talking up to 48hrs) is frowned upon if one persons posts starts to dominate, but going by your post history that shouldn't be an issue.
hey, thanks just the same jjd-uk, your effort to help was very much appreciated, have gone ahead and taken your advice, posted this to the skinning section....
Reply
#13
(2017-03-30, 01:52)aeneas1 Wrote:
(2017-03-25, 19:19)adun79 Wrote: ....
any thoughts on how to make background fanart appear when a poster is highlighted? as mentioned, this works fine with the built-in widgets, but the custom widgets don't show the background fanart, just the default (i believe) background, i.e. just a dark background.... thanks!

Sorry, just saw your reply, I don't know what's wrong for you, it works for me: https://postimg.org/image/ts7ho8xwn/
Reply
#14
(2017-03-30, 18:16)adun79 Wrote:
(2017-03-30, 01:52)aeneas1 Wrote:
(2017-03-25, 19:19)adun79 Wrote: ....
any thoughts on how to make background fanart appear when a poster is highlighted? as mentioned, this works fine with the built-in widgets, but the custom widgets don't show the background fanart, just the default (i believe) background, i.e. just a dark background.... thanks!

Sorry, just saw your reply, I don't know what's wrong for you, it works for me: https://postimg.org/image/ts7ho8xwn/
thanks for the reply and thanks for trying to help me out...

since the image you linked to shows the comedy widget working fine, i used your exact code for comedy in my home.xml file and your exact comedies.xsp file but still no love, love, just my default background when i focus on a movie poster, just can't quite figure out what i'm doing wrong...,

could it be a node or library problem, something i haven't set up already?

here's my home.xml code for widgets (with your code highlighted in red):

=========================================

<control type="group" id="100000">

<control type="grouplist" id="5001">
<top>75</top>
<left>-30</left>
<width>100%</width>
<onup>700</onup>
<include>WidgetGroupListCommon</include>

<include content="WidgetListPoster">
<param name="content_path" value="special://skin/playlists/family_movies.xsp"/>
<<param name="widget_target" value="videos"/>
<param name="sortby" value="random"/>
<param name="list_id" value="5227"/>
</include>

<include content="WidgetListPoster">
<param name="content_path" value="special://skin/playlists/science_fiction_movies.xsp"/>
<param name="widget_target" value="videos"/>
<param name="sortby" value="random"/>
<param name="list_id" value="5229"/>
</include>

<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>


<include content="WidgetListPoster">
<param name="content_path" value="special://skin/playlists/adventure_movies.xsp"/>
<param name="widget_target" value="videos"/>
<param name="sortby" value="random"/>
<param name="list_id" value="5236"/>
</include>

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

<include content="WidgetListPoster">
<param name="content_path" value="videodb://movies/sets/"/> <--------------- This code works fine ----------------///
<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>

--------------------------------------------------------------------->

<include content="WidgetListCategories">
<param name="content_path" value="library://video/movies/"/>
<param name="widget_target" value="videos"/>
<param name="list_id" value="5900"/>
</include>

<include content="WidgetListCategories">
<param name="content_path" value="videodb://movies/genres/"/>
<param name="widget_target" value="videos"/>
<param name="list_id" value="5500"/>
</include>

<!------------------------------------------------------------------->

</control>
</control>

=========================================

and here's my comedies.xsp file content (with your code highlighted in red)::

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smartplaylist type="movies">
<name></name>
<match>all</match>
<rule field="genre" operator="contains">
<value>Comedy</value>
</rule>
<limit>25</limit>
<order direction="ascending">sorttitle</order>
</smartplaylist>
Reply
#15
just a quick update: went ahead and did a fresh kodi install to make sure the many edits i've done to half a dozen or so xml files while customizing the skin wasn't causing the problem, i.e. to make sure i didn't inadvertently comment out or delete required code, then i tried your code again, same thing as before, no background fanart when i focus on a movie poster, just my default background.... wish i could figure this thing out.
Reply

Logout Mark Read Team Forum Stats Members Help
Main Screen Widgets...0