Jump to content


Photo
Completed

[Feature request] Additional fanarts/backdrops



  • This topic is locked This topic is locked
40 replies to this topic

#1 tube82 OFFLINE  

tube82

    Advanced Member

  • Alpha Testers
  • 164 posts
  • Local time: 08:51 AM

Posted 29 April 2014 - 10:23 AM

Some XBMC skins support additional backdrops, although I think they use a XBMC addon because XBMC doesn't support them natively. Since MB3 also supports multiple backdrops I thought it would be nice to have acces to them as well.

 

Any comments? Possible? Worth it? :)



#2 im85288 OFFLINE  

im85288

    Kodi Kruncher

  • Developers
  • 2699 posts
  • Local time: 08:51 AM
  • LocationGeordie Land

Posted 29 April 2014 - 10:29 AM

Yes this is already supported, if you try the Aeon Nox MB3 skin you can set the movies section for example to show random fanart from your movies. 



#3 xnappo OFFLINE  

xnappo

    Advanced Member

  • Developers
  • 4755 posts
  • Local time: 02:51 AM
  • LocationAustin, TX

Posted 29 April 2014 - 10:35 AM

Definitely would like to see this.  How does it work in the skins?

 

The meta-data we get back does indeed contain multiple images, so it is a matter of interfacing to the skins.

 

@null_pointer - further comments on this subject?

@im85288 - I think he is referring to rotating art for individual shows/movies.  And did you mean try AeonMQ5?

 

xnappo


Edited by xnappo, 29 April 2014 - 10:36 AM.


#4 tube82 OFFLINE  

tube82

    Advanced Member

  • Alpha Testers
  • 164 posts
  • Local time: 08:51 AM

Posted 29 April 2014 - 10:37 AM

I think I mean something else. What I am thinking of are multiple backdrops of the same movie/show.

 

E.g. in Arctic when you are in a TV show view you can enable 'Use extrafanart' in the view options. In XBMC mode (with additionally downloaded backdrops) this leads to a roation of backdrops for the specific show.

 

[edit]

xnappo was faster ;)


Edited by tube82, 29 April 2014 - 10:44 AM.


#5 tube82 OFFLINE  

tube82

    Advanced Member

  • Alpha Testers
  • 164 posts
  • Local time: 08:51 AM

Posted 29 April 2014 - 10:43 AM

I'll check how they are called in skins.



#6 tube82 OFFLINE  

tube82

    Advanced Member

  • Alpha Testers
  • 164 posts
  • Local time: 08:51 AM

Posted 29 April 2014 - 10:53 AM

This is what I found in Arctic:

    <variable name="extrafanart.path">
    	<value condition="Skin.HasSetting(tvshows.use.extrafanart) + [Container.Content(tvshows) | Container.Content(seasons)]">$INFO[ListItem.Path,,extrafanart/]</value>
    	<value condition="Skin.HasSetting(tvshows.use.extrafanart) + Container.Content(episodes)">$INFO[ListItem.Path,,../extrafanart/]</value>
    	<value condition="Skin.HasSetting(music.use.extrafanart) + [Container.Content(albums) | Container.Content(artists) | Container.Content(songs)]">$INFO[Skin.String(cdartlocation)]$INFO[ListItem.Artist,,extrafanart/]</value>
    	<value condition="Skin.HasSetting(movies.use.extrafanart) + [Container.Content(movies)]">$INFO[ListItem.Path,,extrafanart/]</value>
    	<value>-</value>
    </variable>

Edited by tube82, 29 April 2014 - 10:53 AM.


#7 xnappo OFFLINE  

xnappo

    Advanced Member

  • Developers
  • 4755 posts
  • Local time: 02:51 AM
  • LocationAustin, TX

Posted 29 April 2014 - 11:13 AM

This looks like where they are grabbing the physical path to the extrafanart(yikes).  Need to look where the variable 'extrafanart.path' actually gets used.

 

xnappo



#8 im85288 OFFLINE  

im85288

    Kodi Kruncher

  • Developers
  • 2699 posts
  • Local time: 08:51 AM
  • LocationGeordie Land

Posted 29 April 2014 - 11:13 AM

Sorry yes I did mean Aeon MQ5 and did not grasp what you meant initially. That's not supported and would be an interesting feature to have if possible.



#9 tube82 OFFLINE  

tube82

    Advanced Member

  • Alpha Testers
  • 164 posts
  • Local time: 08:51 AM

Posted 29 April 2014 - 11:21 AM

This looks like where they are grabbing the physical path to the extrafanart(yikes).  Need to look where the variable 'extrafanart.path' actually gets used.

 

xnappo

 

it only is used once:

<control type="multiimage">
            <aspectratio>scale</aspectratio>
            <include>FullscreenDimensions</include>
            <timeperimage>9000</timeperimage>
            <randomize>true</randomize>
            <fadetime>600</fadetime>
            <loop>yes</loop>
            <animation type="Visible">
            	<effect type="slide" start="0" end="0" time="1400"/>
            	<effect type="fade" start="0" end="100" delay="800" time="600"/>
            </animation>
            <include>Animation_FanartFade</include>
            <imagepath background="true">$VAR[extrafanart.path]</imagepath>
            <animation effect="zoom" start="110" end="130" center="auto" time="10000" tween="sine" easing="inout" pulse="true" condition="Skin.HasSetting(Fanart.Animate)">Conditional</animation>
            <animation effect="slide" start="-30,-30" end="30,30" time="6000" tween="sine" easing="inout" pulse="true" condition="Skin.HasSetting(Fanart.Animate)">Conditional</animation>
            <visible>!SubString(Container.FolderPath,plugin://,left) + !Skin.HasSetting(HideFanart) + ![Skin.HasSetting(BackgroundVideo) + Player.HasVideo] + !Window.IsActive(favourites)</visible>
            <visible>[Skin.HasSetting(tvshows.use.extrafanart) + [Container.Content(tvshows) | Container.Content(seasons) | Container.Content(episodes)]] | [Skin.HasSetting(movies.use.extrafanart) + Container.Content(movies)] | [Skin.HasSetting(music.use.extrafanart) + [Container.Content(albums) | Container.Content(artists) | Container.Content(songs)]]</visible>
        </control>

  • xnappo likes this

#10 xnappo OFFLINE  

xnappo

    Advanced Member

  • Developers
  • 4755 posts
  • Local time: 02:51 AM
  • LocationAustin, TX

Posted 29 April 2014 - 11:46 AM

So the good news is that it looks like this thing just looks for a path with a bunch of images in it - which is do-able.

 

The bad news is I don't like the way I can think of to do it - downloading to a local directory with the item id.

 

Any other ideas guys?

 

xnappo


Edited by xnappo, 29 April 2014 - 11:48 AM.


#11 tube82 OFFLINE  

tube82

    Advanced Member

  • Alpha Testers
  • 164 posts
  • Local time: 08:51 AM

Posted 29 April 2014 - 12:14 PM

Well, how would you do it if you didn't have to keep it the way it is done in the skin?

Since it is not even a XBMC native feature I don't see any harm in implementing something different instead of the code I posted. It is all done directly in the skin anyway.

 

Skins would have to be changed, but nothing breaks for skins without the feature.



#12 xnappo OFFLINE  

xnappo

    Advanced Member

  • Developers
  • 4755 posts
  • Local time: 02:51 AM
  • LocationAustin, TX

Posted 29 April 2014 - 12:22 PM

But the thing is they are using a native XBMC control called 'multiimage'.  The argument for multiimage is a path, whereas what we would want to send would be a list of image URLs.

 

http://wiki.xbmc.org...tiImage_Control

 

Again - this is actually pretty easy if we don't mind copying the images to the local drive. 

 

xnappo


  • tube82 likes this

#13 tube82 OFFLINE  

tube82

    Advanced Member

  • Alpha Testers
  • 164 posts
  • Local time: 08:51 AM

Posted 29 April 2014 - 12:26 PM

Ah I see. How do they do it for rotating backdrops in the home screen, though? Those images are not from a path, are they?



#14 xnappo OFFLINE  

xnappo

    Advanced Member

  • Developers
  • 4755 posts
  • Local time: 02:51 AM
  • LocationAustin, TX

Posted 29 April 2014 - 12:29 PM

A very good question - hopefully @im85288 can enlighten us :)



#15 im85288 OFFLINE  

im85288

    Kodi Kruncher

  • Developers
  • 2699 posts
  • Local time: 08:51 AM
  • LocationGeordie Land

Posted 29 April 2014 - 01:11 PM

We do use MultiImageControls on the home screen and pass in a path such as: 

$INFO[Window(Home).Property(MB3.Background.Movie.FanArt)]

As this value updates in the background, the image changes. So we do already have a cache of all the Movies, Tv Shows, Music and a Global set but not on an individual movie basis.



#16 xnappo OFFLINE  

xnappo

    Advanced Member

  • Developers
  • 4755 posts
  • Local time: 02:51 AM
  • LocationAustin, TX

Posted 29 April 2014 - 02:15 PM

Okay - what I was missing is that we can change the input to the multiimagecontrol and use single image paths to the server.

 

So I think this is definitely do-able.  A lot of handshaking from script<->service<->skin.  Need to think about it.

 

xnappo



#17 xnappo OFFLINE  

xnappo

    Advanced Member

  • Developers
  • 4755 posts
  • Local time: 02:51 AM
  • LocationAustin, TX

Posted 29 April 2014 - 04:51 PM

So the way I am thinking this MIGHT work:

 

1. default.py sets the MB3 'id' as one of the pieces of list info

2. when the skin has an item selected, it sets a window property currID with list.id

3. a service monitors for currID, and sets another window property currIDImagePath which rotates images

4. skin set multi-image control to currIDImagePath - if we are in particular container types

 

Thoughts?  @null_pointer this is not all that dissimilar from what you are doing with Actors right?

 

xnappo


Edited by xnappo, 29 April 2014 - 04:52 PM.


#18 xnappo OFFLINE  

xnappo

    Advanced Member

  • Developers
  • 4755 posts
  • Local time: 02:51 AM
  • LocationAustin, TX

Posted 29 April 2014 - 05:50 PM

Yeah, I dropped that idea.  Now I am saying to it just like the 'All Movies'/'All TV' backdrop, except we need to know the currently selected listitem from the skin.

 

xnappo



#19 xnappo OFFLINE  

xnappo

    Advanced Member

  • Developers
  • 4755 posts
  • Local time: 02:51 AM
  • LocationAustin, TX

Posted 29 April 2014 - 07:22 PM

How does the current multi background work? does it cycle through the background as you have the item/movie selected or does it show a different background each time you selected it?

 

 

It cycles through them as the service changes the window property containing the path.

 

I can't think of any other way to do this - the skins can't really execute code of course.  It is in line with what we are already doing, just extending it to the item level.

 

xnappo



#20 tube82 OFFLINE  

tube82

    Advanced Member

  • Alpha Testers
  • 164 posts
  • Local time: 08:51 AM

Posted 29 April 2014 - 08:20 PM

The XBMC (or rather skin specific) implementation of extra fanart cycles through the additional images on a timer. It looks nice, because the static screen is less static this way.


Edited by tube82, 29 April 2014 - 08:23 PM.






Also tagged with one or more of these keywords: Completed

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users