• 1
  • 78
  • 79
  • 80(current)
  • 81
  • 82
  • 210
v18 Aeon MQ 7 Leia Mod
(2019-02-25, 23:10)latts9923 Wrote: @koldtoft

Have you tried the Extras Add-on from the KODI Repo? It will play local trailers and other content located in an Extras subfolder of your movie. I'm going to cover that Add-on in the upcoming how-to video.

@koldtoft 
@latts9923 

I am using the old trailer code:

Behavior:
Play local trailer if aviable
If no local trailer aviable then start automaticly a video via youtube addon


                        
Code:
<item id="11">    
                            <label>31701</label>
                            <onclick condition="!Skin.HasSetting(fullscreentrailer)">SetFocus(9930)</onclick>
                            <onclick condition="!Skin.HasSetting(fullscreentrailer)">PlayMedia($INFO[ListItem.Trailer],1)</onclick>
                            <onclick condition="Skin.HasSetting(fullscreentrailer)">SendClick(2003,11)</onclick>
                            <visible>!String.IsEmpty(ListItem.Trailer)</visible>
                        </item>

Current trailer code:

Behaviour:
Only start youtube addon with video suggestions to choose to watch

Code:
                        <item id="11">    
                            <label>31701</label>
                            <onclick>RunScript(script.extendedinfo,info=youtubebrowser,id=$INFO[ListItem.Title] $INFO[ListItem.Year])</onclick>
                            <onclick condition="!System.HasAddon(plugin.video.youtube)">ActivateWindow(Videos,plugin://plugin.video.youtube)</onclick>
                            <visible>Container.Content(movies)</visible>
                        </item>

I tried to combine both codes to achieve that but i failed:

Behaviour:
Play local trailer if aviable
If no local trailer aviable then start youtube addon with video suggestions to choose to watch


Do you have an idea?
Reply
Quote:@koldtoft

Have you tried the Extras Add-on from the KODI Repo? It will play local trailers and other content located in an Extras subfolder of your movie. I'm going to cover that Add-on in the upcoming how-to video.

Kodi has native local trailer support -> 
Code:
ListItem.Trailer

Only a "-trailer" suffix needs to be appended to filesystem
(In Kodi the movie has to be refresht as well, because it gets into the kodi sql db at which movie there is a local trailer)

Mortal Engines (2018).mkv
Mortal Engines (2018)-trailer.mp4
Reply
For weeks I deal with multiimage artworkbeef about fadelabel control.

I looked at your implementation for ExtraFanart integration and found some problems.

1. It does not work for me, with the button Extra Fanart AB, the extra fanart or fanart will not be hidden. Extra fanart AB is displayed but is below it.
2. Why do you work with Hassetting and not with SkinStrings?

Your implementation:

IncludesTopMenu.xml 2228, 2275

Code:
                <control type="radiobutton" id="9437">
                    <!-- Extra Fanart Movies -->
                    <include>TopMenuRadioButton</include>
                    <label>32144</label>
                    <onclick>Skin.ToggleSetting(artworkbeef_moviesfanart)</onclick>
                    <selected>Skin.HasSetting(artworkbeef_moviesfanart)</selected>
                    <visible>Container.Content(movies) + !Skin.HasSetting(trailers)</visible>
                </control>
Code:
                <control type="radiobutton" id="9438">
                    <!-- Extra Fanart Movies -->
                    <include>TopMenuRadioButton</include>
                    <label>32144</label>
                    <onclick>Skin.ToggleSetting(artworkbeef_tvshowsfanart)</onclick>
                    <selected>Skin.HasSetting(artworkbeef_tvshowsfanart)</selected>
                    <visible>Container.Content(tvshows)</visible>
                </control>
includes.xml 2291
 
Code:
    <include name="AB_Fanart">
        <control type="multiimage">
            <width>100%</width>
            <height>100%</height>
            <fadetime>4000</fadetime>
            <randomize>true</randomize>
            <loop>yes</loop>
            <imagepath background="true">$VAR[Random_Fanart]</imagepath>
            <aspectratio>scale</aspectratio>
        </control>
    </include>

IncludesVariables.xml 18

Code:
    <variable name="Random_Fanart">
        <value condition="System.HasAddon(script.artwork.beef) + Skin.HasSetting(artworkbeef_fanart) + !String.IsEmpty(Control.Getlabel(4420))">$INFO[Control.Getlabel(4420)]</value>        
    </variable>

MyVideoNav.xml 30

Code:
        <include>AB_Fanart</include>
        <control type="fadelabel" id="4420">
            <top>-1000</top>
            <width>2560</width>
            <height>0</height>
            <scrollspeed>20</scrollspeed>
            <scrollout>false</scrollout>
            <font>Font-LineLabel</font>
            <textcolor>white</textcolor>
            <randomize>true</randomize>
            <pauseatend>5000</pauseatend>
            <resetonlabelchange>true</resetonlabelchange>
            <label>$INFO[ListItem.Art(fanart)]</label>
            <label>$INFO[ListItem.Art(fanart1)]</label>
            <label>$INFO[ListItem.Art(fanart2)]</label>
            <label>$INFO[ListItem.Art(fanart3)]</label>
            <label>$INFO[ListItem.Art(fanart4)]</label>
            <label>$INFO[ListItem.Art(fanart5)]</label>
            <label>$INFO[ListItem.Art(fanart6)]</label>
            <label>$INFO[ListItem.Art(fanart7)]</label>
            <label>$INFO[ListItem.Art(fanart8)]</label>
            <label>$INFO[ListItem.Art(fanart9)]</label>
            <label>$INFO[ListItem.Art(fanart10)]</label>
            <label>$INFO[ListItem.Art(fanart11)]</label>
            <label>$INFO[ListItem.Art(fanart12)]</label>
            <label>$INFO[ListItem.Art(fanart13)]</label>
            <label>$INFO[ListItem.Art(fanart14)]</label>
            <label>$INFO[ListItem.Art(fanart15)]</label>
            <label>$INFO[ListItem.Art(fanart16)]</label>
            <label>$INFO[ListItem.Art(fanart17)]</label>
            <label>$INFO[ListItem.Art(fanart18)]</label>
            <label>$INFO[ListItem.Art(fanart19)]</label>
            <label>$INFO[ListItem.Art(fanart20)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart1)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart2)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart3)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart4)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart5)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart6)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart7)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart8)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart9)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart10)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart11)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart12)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart13)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart14)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart15)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart16)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart17)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart18)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart19)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart20)]</label>            
        </control>

MyVideoNav.xml 287
 
Code:
        <!-- Fanart padrao -->
        <control type="image">    
            <include>WindowBG</include>
            <texture background="true">$VAR[value_defaultvideofanart]</texture>
            <visible>![Container.Content(genres) | Control.IsVisible(70)] + ![Skin.HasSetting(artworkbeef_moviesfanart) | Skin.HasSetting(artworkbeef_tvshowsfanart)]</visible>
        </control>

I am almost sure that this code added in MyVideoNav does not work for me. + ![Skin.HasSetting(artworkbeef_moviesfanart) | Skin.HasSetting(artworkbeef_tvshowsfanart)]

What speaks against Extrafanart AB as well as the others to implement? I once tried direct:

IncludesTopMenu.xml

Code:
                <control type="radiobutton" id="94100">
                    <!-- Extra Fanart Movies -->
                    <include>TopMenuRadioButton</include>
                    <label>EXTRA FANART (AB)</label>
                    <onclick>Skin.SetString(moviesfanart,artworkbeef)</onclick>
                    <selected>String.Contains(skin.string(moviesfanart),artworkbeef)</selected>
                    <visible>Container.Content(movies) + !Skin.HasSetting(trailers)</visible>
                </control>

Code:
                <control type="radiobutton" id="94150">
                    <!-- Extra Fanart TVShows AB -->
                    <include>TopMenuRadioButton</include>
                    <label>EXTRA FANART (AB)</label>
                    <onclick>Skin.SetString(tvshowsfanart,artworkbeef)</onclick>
                    <selected>String.Contains(skin.string(tvshowsfanart),artworkbeef)</selected>
                    <visible>Container.Content(tvshows)</visible>
                </control>    

nothing added in the includes.xml

IncludesVariables.xml

Code:
    <variable name="value_videofanart">
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),fallback)">$INFO[Skin.String(CustomFallbackMoviesBG)]</value>
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),artworkbeef)">$INFO[Control.Getlabel(4420)]</value>        
        <value condition="Container.Content(musicvideos) + String.Contains(Skin.String(musicvideosfanart),fallback)">$INFO[Skin.String(CustomFallbackMusicVideosBG)]</value>
        <value condition="Container.Content(musicvideos) + String.Contains(Skin.String(musicvideosfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(musicvideos) + String.Contains(Skin.String(musicvideosfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),fallback)">$INFO[Skin.String(CustomFallbackTVShowsBG)]</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),artworkbeef)">$INFO[Control.Getlabel(4420)]</value>        
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),fallback)">$INFO[Skin.String(CustomFallbackSeasonsBG)]</value>
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),extra)">$INFO[ListItem.Path,,extrafanart/]</value>
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),seasons)">$INFO[ListItem.Path]$INFO[ListItem.Label,,/fanart.jpg]</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),fallback)">$INFO[Skin.String(CustomFallbackEpisodesBG)]</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),extra)">$INFO[ListItem.Path,,../extrafanart/]</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),seasons)">$INFO[ListItem.Path,,fanart.jpg]</value>
        <value condition="Container.Content(sets) + String.Contains(Skin.String(setsfanart),fallback)">$INFO[Skin.String(CustomFallbackSetsBG)]</value>
        <value condition="Container.Content(sets) + String.Contains(Skin.String(setsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(sets) + String.Contains(Skin.String(setsfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(addons) + String.Contains(Skin.String(programsfanart),fanart)">$INFO[ListItem.Art(fanart)]</value>
        <value condition="Container.Content(addons) + String.Contains(Skin.String(programsfanart),fallback)">$INFO[Skin.String(CustomFallbackProgramsBG)]</value>
        <value condition="Container.Content(addons) + String.Contains(Skin.String(programsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <!-- MULTI MOD -->
        <value>$INFO[ListItem.Art(fanart)]</value>
        <!-- MULTI MOD -->
    </variable>

MyVideoNav.xml


Code:
        <control type="fadelabel" id="4420">
            <top>-1000</top>
            <width>2560</width>
            <height>0</height>
            <scrollspeed>20</scrollspeed>
            <scrollout>false</scrollout>
            <font>Font-LineLabel</font>
            <textcolor>white</textcolor>
            <randomize>true</randomize>
            <pauseatend>5000</pauseatend>
            <resetonlabelchange>true</resetonlabelchange>
            <label>$INFO[ListItem.Art(fanart)]</label>
            <label>$INFO[ListItem.Art(fanart1)]</label>
            <label>$INFO[ListItem.Art(fanart2)]</label>
            <label>$INFO[ListItem.Art(fanart3)]</label>
            <label>$INFO[ListItem.Art(fanart4)]</label>
            <label>$INFO[ListItem.Art(fanart5)]</label>
            <label>$INFO[ListItem.Art(fanart6)]</label>
            <label>$INFO[ListItem.Art(fanart7)]</label>
            <label>$INFO[ListItem.Art(fanart8)]</label>
            <label>$INFO[ListItem.Art(fanart9)]</label>
            <label>$INFO[ListItem.Art(fanart10)]</label>
            <label>$INFO[ListItem.Art(fanart11)]</label>
            <label>$INFO[ListItem.Art(fanart12)]</label>
            <label>$INFO[ListItem.Art(fanart13)]</label>
            <label>$INFO[ListItem.Art(fanart14)]</label>
            <label>$INFO[ListItem.Art(fanart15)]</label>
            <label>$INFO[ListItem.Art(fanart16)]</label>
            <label>$INFO[ListItem.Art(fanart17)]</label>
            <label>$INFO[ListItem.Art(fanart18)]</label>
            <label>$INFO[ListItem.Art(fanart19)]</label>
            <label>$INFO[ListItem.Art(fanart20)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart1)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart2)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart3)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart4)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart5)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart6)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart7)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart8)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart9)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart10)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart11)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart12)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart13)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart14)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart15)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart16)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart17)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart18)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart19)]</label>
            <label>$INFO[ListItem.Art(tvshow.fanart20)]</label>            
        </control>


_________

EDIT:

At present, however, there is the problem that sometimes when switching back to Standard Fanart, sometimes it does not even show and everything stays black. I have not yet figured out when it happens. It does not even come back when I reloaded the skin via keymap. Restarting kodi is the only option.

In addition, the very first passages dedicated to DialogVideoInfo.xml have to be adapted to the fanart.
Offtopic: Have you ever noticed that in DialogVideoInfo, when ExtraFanart is enabled, it just blends over the default fanart?
Offtopic:
Code:
​​​​​​​            <!-- Extra Fanart Seasons -->
            <control type="multiimage" id="5021">    
                <include>InvisibleButton</include>
                <imagepath background="true">$INFO[ListItem.Path,,extrafanart/]</imagepath>
                <visible>Container.Content(seasons) + String.Contains(skin.string(seasonsfanart),extra)</visible>
            </control>
There is no DialogVideoInfo view on Season Level Big Grin
Reply
(2019-02-25, 23:11)latts9923 Wrote: @Kupo91

I'll add those other apps to the Options list and ask you to try them out if you would.

Ye sure Smile
Reply
@latts9923,

Is it possible to hide the "Reboot to internal" menu item in the context menu for non Libreelec devices?
Windows 11 Pro
Kodi 21 RC 1 - Aeon MQ7/MQ9 Omega Mod
Kodi 20.5 - Aeon MQ9 Nexus Mod

Android - Beelink GT King
Kodi 21 RC1 - Aeon MQ7/MQ9 Omega Mod
Kodi Maven Fork 21 beta 3 - Aeon MQ9 Omega Mod

CoreELEC - Beelink GT King
Kodi 21 beta 3 - Aeon MQ7/MQ9 Omega Mod


Reply
Reply
(2019-02-24, 15:57)latts9923 Wrote: @Jumpy73

I just added a playlist as a widget. I see the discart at the right corner needs to come down a little, but I don't see the second disc like your screenshot.
If I try to add the standar "ALBUMS RANDOM" widget view, nothing appears and if I select the playlist, the double discart appears Sad
I don't know if it can help you to address the issue... If I'm in widget view and select one of the menu options displayed below (Media Info, Show Fanart, etc...), one of the 2 discart disappears. If I press the "up arrow" key again the 2nd discart appears again too


(2019-02-24, 15:57)latts9923 Wrote: @Jumpy73
Hmm...I see the rating stars but not the rating label below it on my widget view. I do for movies, but not music.
I see the rating stars but not the rating label below it too on Windows machine, the code string on android tvbox (the screenshot was from that)

(2019-02-24, 15:57)latts9923 Wrote: @Jumpy73
Yeah, the budget info is provided by skin helper. You might have to delete your simplecache.db file and let it repopulate.
I tried from fresh install and after simplecache.db file deletion but unfortunately the problem is still there

(2019-02-24, 15:57)latts9923 Wrote: @Jumpy73
I'm not sure I can add vote info to the set view, but I'll take a look.
ok... it was just for homogeneity with other views
Reply
@"chrissix"

I was able to add a local trailer by adding "-trailer" to the end of the file name and it was added to the database. I also removed one of the YouTube trailer plugin links from a movie in the database and ended up getting the extendedinfo script to search YouTube. Try this...
Code:
<item id="11">
<label>31701</label>
<onclick condition="!String.IsEmpty(ListItem.Trailer) + !Skin.HasSetting(fullscreentrailer)">SetFocus(9930)</onclick>
<onclick condition="!String.IsEmpty(ListItem.Trailer) + !Skin.HasSetting(fullscreentrailer)">PlayMedia($INFO[ListItem.Trailer],1)</onclick>
<onclick condition="!String.IsEmpty(ListItem.Trailer) + Skin.HasSetting(fullscreentrailer)">SendClick(2003,11)</onclick>
<onclick condition="String.IsEmpty(ListItem.Trailer)">RunScript(script.extendedinfo,info=youtubebrowser,id=$INFO[ListItem.Title] $INFO[ListItem.Year])</onclick>
<onclick condition="String.IsEmpty(ListItem.Trailer) + !System.HasAddon(plugin.video.youtube)">ActivateWindow(Videos,plugin://plugin.video.youtube)</onclick>
<visible>Container.Content(movies)</visible>
</item>

I'll take another look at the "AB FANART".
Reply
@MB1968

Yeah, I'll fix that on the next update.
Reply
@melons2

I'll take a look at maybe adding a setting to make the unfocused font normal or semi-transparent like it is now.
Reply
@Jumpy73

The album widgets have been broke from the beginning with the Leia Mod...still not sure what's going on.

I'll see what the rating stars look like on my FireTV.

What version of Skin Helper Service do you have installed?
Reply
(2019-02-26, 16:59)latts9923 Wrote: @Alarmed

1. I guess I'm not familiar with this behavior. Are you saying with the Krypton version of MQ 7 you have the 30 second delay?

2. Can you tell me the steps you took to set it to boot to weather so I can reproduce the problem?

3. Are you asking if there's a way to wake up to the channel list if you put KODI to sleep while Live TV is running?

4. I'll take a look at the PVR artwork. I haven't messed with that area much.
Hello. Thanks for responding.

1. Yes on Krypton MQ7 or MQ6 (can't remember which I had) when I finished watching a tv episode it would be checked as watched and wouldn't hide the video for set amount of time (don't know if it was 15, 20, 30 seconds-never timed it).

2. I go to Settings>Interface Settings>Startup>Startup Window>Weather.

3. No. What it is doing is starting the last channel I watched. It doesn't really bother me that much, I just thought it wasn't supposed to do that.

4. Thanks for looking at the PVR artwork.
Reply
@latts9923 

Image

How is that working? I never got that functional!
Only found this code:

IncludesTopMenu:
Code:
                <control type="radiobutton" id="9436">
                    <!-- Extra Fanart Movies -->
                    <include>TopMenuRadioButton</include>
                    <label>31498</label>
                    <onclick>Skin.SetString(setsfanart,extra)</onclick>
                    <selected>String.Contains(skin.string(setsfanart),extra)</selected>
                    <visible>Container.Content(sets)</visible>
                </control>
IncludesVariables:
Code:
    <variable name="value_videofanart">
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),fallback)">$INFO[Skin.String(CustomFallbackMoviesBG)]</value>
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(musicvideos) + String.Contains(Skin.String(musicvideosfanart),fallback)">$INFO[Skin.String(CustomFallbackMusicVideosBG)]</value>
        <value condition="Container.Content(musicvideos) + String.Contains(Skin.String(musicvideosfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(musicvideos) + String.Contains(Skin.String(musicvideosfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),fallback)">$INFO[Skin.String(CustomFallbackTVShowsBG)]</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),fallback)">$INFO[Skin.String(CustomFallbackSeasonsBG)]</value>
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),extra)">$INFO[ListItem.Path,,extrafanart/]</value>
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),seasons)">$INFO[ListItem.Path]$INFO[ListItem.Label,,/fanart.jpg]</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),fallback)">$INFO[Skin.String(CustomFallbackEpisodesBG)]</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),extra)">$INFO[ListItem.Path,,../extrafanart/]</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),seasons)">$INFO[ListItem.Path,,fanart.jpg]</value>
        <value condition="Container.Content(sets) + String.Contains(Skin.String(setsfanart),fallback)">$INFO[Skin.String(CustomFallbackSetsBG)]</value>
        <value condition="Container.Content(sets) + String.Contains(Skin.String(setsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(sets) + String.Contains(Skin.String(setsfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(addons) + String.Contains(Skin.String(programsfanart),fanart)">$INFO[ListItem.Art(fanart)]</value>
        <value condition="Container.Content(addons) + String.Contains(Skin.String(programsfanart),fallback)">$INFO[Skin.String(CustomFallbackProgramsBG)]</value>
        <value condition="Container.Content(addons) + String.Contains(Skin.String(programsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <!-- MULTI MOD -->
        <value>$INFO[ListItem.Art(fanart)]</value>
        <!-- MULTI MOD -->
    </variable>
MyVideoNav:
Code:
        <!-- Extra Fanart Movies/TvShows/MusicVideos/Sets -->
        <control type="multiimage" id="5020">    
            <include>WindowBG</include>
            <imagepath background="true">$INFO[Window(Home).Property(SkinHelper.ListItem.Art.ExtraFanArt)]</imagepath>
            <visible>Container.Content(movies) + !Skin.HasSetting(trailers) + String.Contains(skin.string(moviesfanart),extra) | SubString(ListItem.Path,videodb://movies/sets,left) + !Skin.HasSetting(trailers) + SubString(skin.string(moviesfanart),extra) | Container.Content(sets) + SubString(ListItem.Path,videodb://movies/sets,left) + !Skin.HasSetting(trailers) + SubString(skin.string(setsfanart),extra) | Container.Content(tvshows) + String.Contains(skin.string(tvshowsfanart),extra) | Container.Content(musicvideos) + String.Contains(skin.string(musicvideosfanart),extra)</visible>
        </control>

Have i to put an extrafanart folder in the movie set folder?

_____

EDIT: I got it sorted! solved! My MyVideoNav.xml code was old. But the main set fanart is visible for just 1-2 sec, until the extrafanart will be shown. It need 1-2 sec the extrafanarts are loaded am i right?

EDIT 2: When i used the new code the same delay behavior was also on normal movies and tvshows.
To avoid that, i splitted the code up, so that i got extrafanart movies and tvshows with the old $INFO[ListItem.Path]extrafanart/ fast and without delay, and a flickering change after 1-2 sec, and for sets with the new $INFO[Window(Home).Property(SkinHelper.ListItem.Art.ExtraFanArt)] cause its the only way possible:

MyVideoNav.xml
Code:
        <!-- Extra Fanart Movies/TvShows/MusicVideos -->
        <control type="multiimage" id="5020">    
            <include>InvisibleButton</include>
            <imagepath background="true">$INFO[ListItem.Path]extrafanart/</imagepath>
            <visible>Container.Content(movies) + !Skin.HasSetting(trailers) + String.Contains(skin.string(moviesfanart),extra) | Container.Content(tvshows) + String.Contains(skin.string(tvshowsfanart),extra) | Container.Content(musicvideos) + String.Contains(skin.string(musicvideosfanart),extra)</visible>
        </control>
        <!-- Extra Fanart Sets -->
        <control type="multiimage" id="50200">    
            <include>WindowBG</include>
            <imagepath background="true">$INFO[Window(Home).Property(SkinHelper.ListItem.Art.ExtraFanArt)]</imagepath>
            <visible>Container.Content(sets) + SubString(ListItem.Path,videodb://movies/sets,left) + !Skin.HasSetting(trailers) + SubString(skin.string(setsfanart),extra)</visible>
        </control>
Reply
Regarding the issue of TV Shows is displayed by default only with the horizontal main menu.

https://forum.kodi.tv/showthread.php?tid...pid2805358

Hi I have found a simple solution, regarding that Tv Shows are displayed when you start Kodi. You change Movies to Tv Shows and Tv Shows to Movies then it works on horizontal with Tv Shows on the left side. If you want a vertical version then you do nothing.

I will use it that way.

It does not matter that the TV shows end up on the left side for me.
Reply
Easy Way to implement Movie Set Collection Extrafanart the ArtworkBeef way
(Not so easy is that it's a lot of paste copy work in Movie Set folder structure)

Image
Image


IncludesTopMenu:
                
Code:
<control type="radiobutton" id="94101">
                    <!-- Extra Fanart Movies Sets AB-->
                    <include>TopMenuRadioButton</include>
                    <label>EXTRA FANART (AB)</label>
                    <onclick>Skin.SetString(setsfanart,artworkbeef)</onclick>
                    <selected>String.Contains(skin.string(setsfanart),artworkbeef)</selected>
                    <visible>Container.Content(sets) + !Skin.HasSetting(trailers)</visible>
                </control>    

IncludesVariables.xml
Code:
    <variable name="value_videofanart">
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),fallback)">$INFO[Skin.String(CustomFallbackMoviesBG)]</value>
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(movies) + String.Contains(Skin.String(moviesfanart),artworkbeef)">$INFO[Control.Getlabel(4420)]</value>        
        <value condition="Container.Content(musicvideos) + String.Contains(Skin.String(musicvideosfanart),fallback)">$INFO[Skin.String(CustomFallbackMusicVideosBG)]</value>
        <value condition="Container.Content(musicvideos) + String.Contains(Skin.String(musicvideosfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(musicvideos) + String.Contains(Skin.String(musicvideosfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),fallback)">$INFO[Skin.String(CustomFallbackTVShowsBG)]</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),extra)">$INFO[ListItem.Path]extrafanart/</value>
        <value condition="Container.Content(tvshows) + String.Contains(Skin.String(tvshowsfanart),artworkbeef)">$INFO[Control.Getlabel(4420)]</value>        
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),fallback)">$INFO[Skin.String(CustomFallbackSeasonsBG)]</value>
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),extra)">$INFO[ListItem.Path,,extrafanart/]</value>
        <value condition="Container.Content(seasons) + String.Contains(Skin.String(seasonsfanart),seasons)">$INFO[ListItem.Path]$INFO[ListItem.Label,,/fanart.jpg]</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),fallback)">$INFO[Skin.String(CustomFallbackEpisodesBG)]</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),extra)">$INFO[ListItem.Path,,../extrafanart/]</value>
        <value condition="Container.Content(episodes) + String.Contains(Skin.String(episodesfanart),seasons)">$INFO[ListItem.Path,,fanart.jpg]</value>
        <value condition="Container.Content(sets) + String.Contains(Skin.String(setsfanart),fallback)">$INFO[Skin.String(CustomFallbackSetsBG)]</value>
        <value condition="Container.Content(sets) + String.Contains(Skin.String(setsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <value condition="Container.Content(sets) + String.Contains(Skin.String(setsfanart),extra)">$INFO[Window(Home).Property(SkinHelper.ListItem.Art.ExtraFanArt)]</value>
        <value condition="Container.Content(sets) + String.Contains(Skin.String(setsfanart),artworkbeef)">$INFO[Control.Getlabel(4430)]</value>            
        <value condition="Container.Content(addons) + String.Contains(Skin.String(programsfanart),fanart)">$INFO[ListItem.Art(fanart)]</value>
        <value condition="Container.Content(addons) + String.Contains(Skin.String(programsfanart),fallback)">$INFO[Skin.String(CustomFallbackProgramsBG)]</value>
        <value condition="Container.Content(addons) + String.Contains(Skin.String(programsfanart),curtains)">special://skin/backgrounds/extras/curtains.jpg</value>
        <!-- MULTI MOD -->
        <value>$INFO[ListItem.Art(fanart)]</value>
        <!-- MULTI MOD -->
    </variable>

MyVideoNav.xml

Code:
        <control type="fadelabel" id="4430">
            <top>-2000</top>
            <width>2560</width>
            <height>0</height>
            <scrollspeed>0</scrollspeed>
            <scrollout>false</scrollout>
            <font>Font-LineLabel</font>
            <textcolor>white</textcolor>
            <randomize>false</randomize>
            <pauseatend>10000</pauseatend>
            <resetonlabelchange>true</resetonlabelchange>
            <label>$INFO[Container.ListItem.Art(fanart)]</label>            
            <label>$INFO[Container.ListItem.Art(fanart1)]</label>
            <label>$INFO[Container.ListItem.Art(fanart2)]</label>
            <label>$INFO[Container.ListItem.Art(fanart3)]</label>
            <label>$INFO[Container.ListItem.Art(fanart4)]</label>
            <label>$INFO[Container.ListItem.Art(fanart5)]</label>
            <label>$INFO[Container.ListItem.Art(fanart6)]</label>
            <label>$INFO[Container.ListItem.Art(fanart7)]</label>
            <label>$INFO[Container.ListItem.Art(fanart8)]</label>
            <label>$INFO[Container.ListItem.Art(fanart9)]</label>
            <label>$INFO[Container.ListItem.Art(fanart10)]</label>
            <label>$INFO[Container.ListItem.Art(fanart11)]</label>
            <label>$INFO[Container.ListItem.Art(fanart12)]</label>
            <label>$INFO[Container.ListItem.Art(fanart13)]</label>
            <label>$INFO[Container.ListItem.Art(fanart14)]</label>
            <label>$INFO[Container.ListItem.Art(fanart15)]</label>
            <label>$INFO[Container.ListItem.Art(fanart16)]</label>
            <label>$INFO[Container.ListItem.Art(fanart17)]</label>
            <label>$INFO[Container.ListItem.Art(fanart18)]</label>
            <label>$INFO[Container.ListItem.Art(fanart19)]</label>
            <label>$INFO[Container.ListItem.Art(fanart20)]</label>
        </control>

Of course you can also use the same fadelabel as for Movies/TvShows, but I wanted to do 2 things differently:
1) Since I only copied the main fanarts to the Movie Set fanarts, I have extended the time because most movie sets do not contain very many movies. (<pauseatend>10000</pauseatend>) instead 6000
2) Since I only copied the main fanarts to the Movie Set fanarts, I have set <randomize>false</randomize> instead of true, now the movie set fanarts are showing in chronological order, first is the main Set Fanart, second the first movie of the set, third the sequel and so on...

Advantages: No delay, everything is read in Kodi and therefore no disk access, you can assemble the set fanarts freely at will
Cons: ArtworkBeef help needed, lots of copy paste work

Result:

Reply
  • 1
  • 78
  • 79
  • 80(current)
  • 81
  • 82
  • 210

Logout Mark Read Team Forum Stats Members Help
Aeon MQ 7 Leia Mod13