Kodi Community Forum

Full Version: Background picture custom playlist menu (Confluence MOD)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,

I'm using the Confluence MOD skin and have created a smart playlist. In the settings i added a new custom menu entry for this playlist and did set a background picture for this entry. This works when in home screen. Have setted the wall view for this playlist which shows a faded background picture in the back. But this is not the chosen background picture, it shows the chosen background picture for the Video's menu. Is it possible to let it show the chosen background picture instead of the one for Video's menu?

I've already narrowd it down to the following section (imagepath of multiimage) in file "IncludesBackgroundBuilding.xml", but don't know how to change this so every custom menu gets it's own picture...

Code:
    <include name="CommonVideoBackground">
        <control type="multiimage">
            <posx>0</posx>
            <posy>0</posy>
            <width>1280</width>
            <height>720</height>
            <imagepath fallback="special://skin/backgrounds/videos.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</imagepath>
            <timeperimage>10000</timeperimage>
            <randomize>true</randomize>
            <fadetime>1000</fadetime>
        </control>
        <control type="image">
            <posx>0</posx>
            <posy>0</posy>
            <width>1280</width>
            <height>720</height>
            <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture>
            <include>backgroundfade</include>
            <fadetime>FanartCrossfadeTime</fadetime>
            <visible>!Skin.HasSetting(HideBackGroundFanart) + !IsEmpty(ListItem.Property(Fanart_Image))</visible>
            <include>Window_OpenClose_Animation</include>
        </control>
It's a matter of visible conditions. Try creating another image control between the two you have shown here like the first one for videos, set all the paths correctly and add in visible conditions to get it to show up at the correct time.
I found the info for conditions, but there seems to be no option for recognizing when a specific playlist is active?
Bit difficult to easily explain without writing pages and pages, try checkout the code for Confluence.lite.mod - between the files "home.xml" , "IncludesBackgroundBuilding.xml" & "IncludesVariables.xml" you can find how I had playlists on the home menu with seperate backgrounds that follow down into media items. It's just one way - not necessarly the best way or most elegant, but works for me.
Ok, i downloaded the files and took a look at them. Damn what are they different and what a lot of code Wink
Concentrated mainly on your visible conditions to get an idea. Tried a lot of stuff to get it detect when selecting the menu items for playlists, but nothing seemed to work (f.e. container.hasfocus and listitem.focus).

Almost gave up, when i found the following condition: SubString(Container.FolderPath, name). As i'm having all playlists point to different locations, this did the trick for me.
So by entering a different mulitimage section between the two like you mentioned and different visible conditions, it works perfectly.

Thanks for your help!
I'd be quite happy if i see a solution posted Smile I want have a radio entry, which points to a music files folder entry. Of course, it falls back to the musci default background.

PS I got it.
My only problem is that I want a specific background when a specific location is opened - the folder where my Radio playlists are stored. XBMC skins check a given condition and show or hide ( or else) based on an xml file.


I added this to IncludesBackGroundBuildiing.xml -
Code:
        <control type="image">
            <posx>0</posx>
            <posy>0</posy>
            <width>1280</width>
            <height>720</height>
            <texture>special://skin/backgrounds/radio.jpg</texture>
            <visible>SubString(Container.FolderPath, smb://MYBOOKLIVE/Public/Shared Music/RADIO/)</visible>
        </control>
What exactly this code do?
<visible> As long as the condition wrapped around this tag is true, the control is applied. In my case the condition is - SubString(Container.FolderPath, smb://MYBOOKLIVE/Public/Shared Music/RADIO/), the skin checks if the folder location is smb://MYBOOKLIVE/Public/Shared Music/RADIO/ or not. In case it is ,
<texture> (and the others) are applied. I am interested in texture only, though. <texture> sets the texture to the desired image.
I hope this makes things clearer to some lost soul like me.

PS Of course, this is quite an ugly hack, but gets the job done. A more elegant solution could provide an option for setting the background, storing it as variable and so on Smile