Jump to content

EmbyCon - Amber skin fanart for menu items


TeamB

Recommended Posts

TeamB
6 hours ago, muzicman0 said:

I disabled it.  I use a 'random TV/Movie fan art' for my main menu background, and if I don't have Emby for Kodi, it just shows a black screen (or at least it used to).  I can enable it every once and a while to update, then disable again, and everything works as it should.  Thanks.

What skin are you using? Did you have to set up anything special for the backgrounds to work?

Link to comment
Share on other sites

muzicman0

Amber is the name of the skin.  

When I create the main menu item (IE: Movies - which points to a specific library in Embycon), I choose the 'Select Background', and 'Random Movie Fanart'.

I'm guessing since there is no actual file sync with EmbyCon, Kodi doesn't have a list of movies to choose fanart from, thus it doesn't work.

Link to comment
Share on other sites

TeamB

Yeah it looks like Amber can only use the built in DB items, I thought it might have a setting for a property that could be set to look for fanart images but ti does not.

One option if you feel like editing a text file is edit the skin file:

Kodi\addons\skin.amber\1080i\Includes_Variables.xml

Change this line

Line: 702
<value condition="String.IsEqual(Container(300).ListItem.Property(background),Video.Fanart)">$INFO[Container(12343).ListItem.Art(fanart)]</value>

To This:
<value condition="String.IsEqual(Container(300).ListItem.Property(background),Video.Fanart)">$INFO[Window(Home).Property(plugin.video.embycon-random-gb)]</value>

And then set your menu items to use VIDEO.FANART as the backgound.

This will then use the random fanart EmbyCon already sets for its own skin.

Link to comment
Share on other sites

TeamB

I found a better way of doing this.

Instead of changing how the skin does background just add the EmbyCon backgrounds into the mix.

To do this you just need to add two lines into the home.xml file:

Kodi\addons\skin.amber\1080i\Home.xml file

Change the following text starting on line 27

FROM

        <control type="list" id="12341">
	        <content sortby="random" limit="50">videodb://movies/titles/</content>
	        <include>AutoscrollTime</include>
	        <itemlayout />
	        <focusedlayout />
            <posx>-20</posx>
			<posy>-20</posy>
			<width>1</width>
			<height>1</height>
        </control>
        
        <control type="list" id="12342">
	        <content sortby="random" limit="50">videodb://tvshows/titles/</content>
	        <include>AutoscrollTime</include>
	        <itemlayout />
	        <focusedlayout />
            <posx>-20</posx>
			<posy>-20</posy>
			<width>1</width>
			<height>1</height>
        </control>    

TO

        <control type="list" id="12341">
	        <content sortby="random" limit="50">videodb://movies/titles/</content>
			<content sortby="random" limit="50">plugin://plugin.video.embycon?mode=WIDGET_CONTENT&amp;type=recent_movies</content>
	        <include>AutoscrollTime</include>
	        <itemlayout />
	        <focusedlayout />
            <posx>-20</posx>
			<posy>-20</posy>
			<width>1</width>
			<height>1</height>
        </control>
        
        <control type="list" id="12342">
	        <content sortby="random" limit="50">videodb://tvshows/titles/</content>
			<content sortby="random" limit="50">plugin://plugin.video.embycon?mode=WIDGET_CONTENT&amp;type=recent_tvshows</content>
	        <include>AutoscrollTime</include>
	        <itemlayout />
	        <focusedlayout />
            <posx>-20</posx>
			<posy>-20</posy>
			<width>1</width>
			<height>1</height>
        </control>    

You are just adding two lines:

<content sortby="random" limit="50">plugin://plugin.video.embycon?mode=WIDGET_CONTENT&amp;type=recent_movies</content>

and

<content sortby="random" limit="50">plugin://plugin.video.embycon?mode=WIDGET_CONTENT&amp;type=recent_tvshows</content>

This will allow the skin to use Movie and TV show backgrounds from EmbyCon in your menu items.

 

 

 

Edited by TeamB
Link to comment
Share on other sites

muzicman0

This works great with one exception.  I have 3 movie libraries, and only want to grab fanart from one of them (this avoids 'Recorded Movies' and 'Holiday Movies').  Is there a way to edit:

<content sortby="random" limit="50">plugin://plugin.video.embycon?mode=WIDGET_CONTENT&amp;type=recent_movies</content>

to only include a specific library named 'Movies'?  or exclude specific libraries?

 

Also, I assume this won't survive an update to the theme.  

Thanks again!

Edited by muzicman0
Link to comment
Share on other sites

TeamB

@muzicman0

Yes you can, you need to build the target plugin URL though, EmbyCon can do this for you.

Open EmbyCon and navigate to the Emby library node

EmbyCon -> Emby libraries

scroll down to your desired library and select it.

when the list of nodes shows (Show All,  etc) scroll down to the Recently added, this is probably the best one for what you want.

then with Recently Added selected bring up the context menu and select Add to favorites.

Now you need to go to your favorites in Kodi to make sure it worked. If it worked and you can seleted it in your favorites and you see the Recently added Movie list then move on the the next step. if not you added the wrong thing tot he favorites above.

Now open your favorites.xml file from the following DIR

\Kodi\userdata\favourites.xml

In this file you will see the RAW url used to access the above items, it should look like this:

<favourites>
    <favourite name="Movies - Recently Added (20)" thumb="C:\Users\shfaulds\AppData\Roaming\Kodi\addons\plugin.video.embycon\icon.png">ActivateWindow(10025,&quot;plugin://plugin.video.embycon/?media_type=movies&amp;mode=GET_CONTENT&amp;sort=none&amp;url=%7bserver%7d%2femby%2fUsers%2f%7buserid%7d%2fItems%3fIncludeItemTypes%3dMovie%26GroupItemsIntoCollections%3dFalse%26Recursive%3dTrue%26format%3djson%26Fields%3d%7bfield_filters%7d%26CollapseBoxSetItems%3dFalse%26IsMissing%3dFalse%26ImageTypeLimit%3d1%26SortBy%3dDateCreated%26Filters%3dIsNotFolder%26ParentId%3df137a2dd21bbc1b99aa5c0f6bf02a805%26IsPlayed%3dFalse%26SortOrder%3dDescending&quot;,return)</favourite>
</favourites>

You want to extract the EmbyCon URL from the above, it will look like this:

plugin://plugin.video.embycon/?media_type=movies&amp;mode=GET_CONTENT&amp;sort=none&amp;url=%7bserver%7d%2femby%2fUsers%2f%7buserid%7d%2fItems%3fIncludeItemTypes%3dMovie%26GroupItemsIntoCollections%3dFalse%26Recursive%3dTrue%26format%3djson%26Fields%3d%7bfield_filters%7d%26CollapseBoxSetItems%3dFalse%26IsMissing%3dFalse%26ImageTypeLimit%3d1%26SortBy%3dDateCreated%26Filters%3dIsNotFolder%26ParentId%3df137a2dd21bbc1b99aa5c0f6bf02a805%26IsPlayed%3dFalse%26SortOrder%3dDescending

Its the bit inside the &quot;

Then use the above in your Home.xml movies content like this

<content sortby="random" limit="50">plugin://plugin.video.embycon/?media_type=movies&amp;mode=GET_CONTENT&amp;sort=none&amp;url=%7bserver%7d%2femby%2fUsers%2f%7buserid%7d%2fItems%3fIncludeItemTypes%3dMovie%26GroupItemsIntoCollections%3dFalse%26Recursive%3dTrue%26format%3djson%26Fields%3d%7bfield_filters%7d%26CollapseBoxSetItems%3dFalse%26IsMissing%3dFalse%26ImageTypeLimit%3d1%26SortBy%3dDateCreated%26Filters%3dIsNotFolder%26ParentId%3df137a2dd21bbc1b99aa5c0f6bf02a805%26IsPlayed%3dFalse%26SortOrder%3dDescending</content>

And boom you have backgrounds only from that library and only the most recent ones.

This can be done for any of the menu noes in EmbyCon.

  • Thanks 1
Link to comment
Share on other sites

muzicman0

Worked great, thanks so much.  I actually used my 'Show All' on my Movies library, but it worked as expected!  Thanks again!

Link to comment
Share on other sites

muzicman0

I also upped the 'limit' to 200 on both lines.  So far I haven't seen a problem on my Shield.  I am not sure of the ramifications of that, but my assumption would just be memory or speed, and so far, no issues with either.

  • Like 1
Link to comment
Share on other sites

  • 7 months later...
eddedrukker

This is what i was looking for, but i use the aeon.nox.silvo skin in kodi 19 now, how can i do this that kodi uses the backgrounds from my movies and series 

help would be great

thankx grtz ed

Link to comment
Share on other sites

TeamB

Every skin is different unfortunately. how it works in different skins would need to be looked into and adjusted like above.

Link to comment
Share on other sites

eddedrukker

Hi there, ok but i have now amber skin in kodi and this is the home.xml were i should add some lines, 

but i don't see line 27 were to start, and i don't see the :

<control type="list" id="12341"> 

were to start

 

This is the xml that is in folder Kodi\addons\skin.amber\1080i\Home.xml file from my instal of amber skin in kodi 19:

<?xml version="1.0" encoding="UTF-8"?>
<window>
    <!-- Load favourites -->
    <onload condition="System.HasAddon(script.favourites)">RunScript(script.favourites)</onload>
    <!-- Build menu/submenus/custom shelves -->
    <onload>RunScript(script.skinshortcuts,type=buildxml&amp;mainmenuID=300&amp;group=mainmenu|powermenu&amp;levels=5)</onload>
    <!-- Start skin.info.service, used for set info -->
    <onload condition="System.HasAddon(script.skin.info.service) + String.IsEmpty(Window(home).Property(skininfos_daemon_running))">RunScript(script.skin.info.service)</onload>
    <!-- Build include for viewtype visiblity -->
    <onload condition="System.HasAddon(script.skinvariables)">RunScript(script.skinvariables,action=buildviews)</onload>
    <!-- Remember what the focused menu item background is -->
    <onunload condition="!String.IsEmpty(Container(300).ListItem.Property(Background))">Skin.SetString(FocusedMenu.Background,$INFO[Container(300).ListItem.Property(Background)])</onunload>
    <onunload condition="!String.IsEmpty(Container(300).ListItem.Property(backgroundPlaylist))">Skin.SetString(FocusedMenu.BackgroundPlaylist,$INFO[Container(300).ListItem.Property(backgroundPlaylist)])</onunload>
    <!-- Clear TMDbHelper widgetcontainer id -->
    <onunload condition="Skin.HasSetting(Enable.TMDbHelper)">ClearProperty(TMDbHelper.WidgetContainer,home)</onunload>
    
    <defaultcontrol always="true">300</defaultcontrol>
    <controls>
        <!-- Hidden lists used for random fanart backgrounds -->
        <include>HomeBackgroundLists</include>
        <!-- Hidden lists used for statistics line -->
        <include condition="Skin.HasSetting(ShowInfoLine)">HomeInfoLineLists</include>
        <!-- Hidden lists if using script.embuary.helper for random fanart backgrounds and statistics lines -->
        <include condition="Skin.HasSetting(Enable.EmbuaryHelper) + Skin.HasSetting(UseEHBackgrounds)">HomeEHBackgroundLists</include>
        <include condition="Skin.HasSetting(Enable.EmbuaryHelper) + Skin.HasSetting(UseEHInfoLine)">HomeEHInfoLineLists</include>
         
        <control type="multiimage">
            <visible>![Player.HasVideo + Skin.HasSetting(Show_VideoBackground)]</visible>
            <include>Dimensions_Fullscreen</include>
            <fadetime>400</fadetime>
            <randomize>true</randomize>
            <include>MultiImageTime</include>
            <imagepath background="true">$VAR[HomeBackground]</imagepath>
            <aspectratio>scale</aspectratio>
        </control>
        <control type="visualisation">
            <visible>Player.HasAudio + Skin.HasSetting(Show_MusicVizBackground)</visible>
            <include>Dimensions_Fullscreen</include>
        </control>
        <control type="videowindow" id="350">
            <visible>Player.HasVideo + Skin.HasSetting(Show_VideoBackground)</visible>
            <include>Dimensions_Fullscreen</include>
        </control>
        <control type="group" description="Content">
            <animation effect="fade" start="0" end="100" time="1000" condition="Window.Previous(Startup.xml)">Conditional</animation>
            <animation effect="fade" start="0" end="100" time="200" condition="!Window.Previous(Startup.xml)">Conditional</animation>
            <include condition="Skin.HasSetting(VerticalHome)">Vertical_Home_Layout</include>
            <include condition="!Skin.HasSetting(VerticalHome)">Horizontal_Home_Layout</include>
            <include>Time</include>
            <!-- Fanart background title -->
            <include condition="[!Skin.HasSetting(Home_DefaultBG) + Skin.HasSetting(Enable.FanartTitle)]">ShowFanartTitle</include>
            <include condition="Skin.HasSetting(ShowHomeLogo)">HomeClearLogo</include>
        </control>
        <include condition="Skin.HasSetting(holiday)">Holiday</include>
    </controls>
</window>

Link to comment
Share on other sites

TeamB
5 hours ago, eddedrukker said:

 <imagepath background="true">$VAR[HomeBackground]</imagepath>

It looks like this is the background image variable that is used to set the background.

You would need to find where this is set and work out if you could use a content section to set it.

Link to comment
Share on other sites

TeamB

I had 5 min to have a look at the aeon.nox.silvo skin

You need to change the following text (line 94 to 97) in the:

...\Kodi\addons\skin.aeon.nox.silvo\16x9\Includes_Backgrounds.xml

file from:

			<!-- <control type="image">
				<include>FullscreenDimensions</include>
				<texture>color_swatch.png</texture>
			</control> -->

To

			<control type="image">
				<include>FullscreenDimensions</include>
				<texture>$INFO[Window(Home).Property(plugin.video.embycon-random-gb)]</texture>
			</control>

You will get a random movie image as the background on the home screen now

Link to comment
Share on other sites

eddedrukker

Did add it in the xml, but screen stays black, what do i set than in de skinsettings of aeon.nox.silvio in the section movies? Now i set it to kodi random movie fanart

one pic is of the setting in the skin (films = movies) the other is how it should look in the skin home screen when i go to films (movies)

20210223_143018279_iOS.jpg

20210223_143102361_iOS.jpg

Link to comment
Share on other sites

TeamB

Turn off all other background settings, I think you have a background setting in the above screen shot, set it to none.

Link to comment
Share on other sites

TeamB

I played a bit more, sorry no idea, I dont have the time to work on this at the moment, understanding the skin logic for each skin can take some time.

You could experiment with adding the above to other Background include sections, see what happens.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...