Kodi Community Forum

Full Version: Need a little help with a skin edit.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello, new user to the Estuary skin.  I want to make a few simple edits, and am lost when it comes to locating code for this skin.

What is the .xml that displays information on screen when i(info) is pressed?  I have edited the keyboard.xml to easily turn on the onscreen debugging and such.  it clearly says that VideoFullScreen.xml is the main skin, and then VideoOSD.xml is the one that is displayed if the mouse is moved.  Neither of these skins see to have what I am looking for.  I am looking specifically for the code that displays the current playing movie poster. 

I used to use !transparency, (No longer supported by Kodi for the latest releases).  In that skin I edited the "DialogFullScreenInfo.xml" file to dispkay the disk image hanging out of the DVD cover.  If the movie was playing, and info was pressed, it would rotate the disk as the movie played.  When the movie was paused, the disk animation would stop.

Here is what it looked like in the Transparency Skin: (The disk is sideways, as it was spinning while the movie was playing)
Image

This is the code I used to display, and spin the disk image:

Code:
<control type="image">
     <description>cover image</description>
     <posx>160</posx>
     <posy>20</posy>
     <width>206</width>
     <height>206</height>
     <aspectratio>keep</aspectratio>
     <texture>$INFO[Player.Folderpath]disc.png</texture>                    
     <animation effect="rotate" start="0" end="-360" condition="true" center="auto" time="1500" loop="true">Conditional</animation>                    
     <visible>VideoPlayer.Content(Movies) + ![SubString(Player.FileNameAndPath,http,left) | SubString(Player.FileNameAndPath,mms,left) | SubString(Player.FileNameAndPath,rtmp,left)]</visible>
</control>
(2018-05-20, 00:19)JohnWPB Wrote: [ -> ]I used to use !transparency, (No longer supported by Kodi for the latest releases).
Not correct. It is WIP, but can be downloaded from github. See stickies in Transparency! forum.
(2018-05-20, 00:25)Karellen Wrote: [ -> ]
(2018-05-20, 00:19)JohnWPB Wrote: [ -> ]I used to use !transparency, (No longer supported by Kodi for the latest releases).
Not correct. It is WIP, but can be downloaded from github. See stickies in Transparency! forum.
I am sorry, but I am pretty sure it is you who are mistaken.  Not trying to be rude in any way, I had just done my research before posting is all.

The sticky thread at the top of the transparency forum, entitled " Transparency! for Kodi nightly builds " has not had a new post in 9 months.

There is a THREAD asking about Kodi 18 support, where Ronnie himself replied:  " lack of spare time, in my case ;-)  "


So, back to the question, does anyone happen to know where to locate the part of the code that contains the [movie]-poster.jpg that is displayed on screen when a movies is either paused, or the "i" (Info) screen is displayed?  Any help is much appreciated in advance!
No, not taken as rude. But I am using Transparency! on v18 right now. I downloaded it from the link in that thread. Just because it hasn't been updated in 9 months, doesn't mean it does not work.

Anyway, I only brought it up because of your comment. Sorry can't help you with your question. Smile
You might need to edit two files for your mod. The code for the video info menu is in DialogSeekBar.xml. It also uses a variable called NowPlayingPosterVar which can be found in Variables.xml.

This is the code for the image in DialogSeekBar.xml
Code:
 <control type="image">
    <depth>DepthOSD+</depth>
    <left>10</left>
    <top>-490</top>
    <width>400</width>
    <height>600</height>
    <aspectratio aligny="bottom">keep</aspectratio>
    <texture fallback="DefaultVideo.png" background="true">$VAR[NowPlayingPosterVar]</texture>
    <bordertexture border="21">overlays/shadow.png</bordertexture>
    <bordersize>20</bordersize>
    <include>OpenClose_Left</include>
</control>

And this is the variable in Variables.xml
Code:
<variable name="NowPlayingPosterVar">
    <value condition="!String.IsEmpty(Player.Art(poster))">$INFO[Player.Art(poster)]</value>
    <value condition="!String.IsEmpty(Player.Art(tvshow.poster))">$INFO[Player.Art(tvshow.poster)]</value>
    <value condition="String.IsEmpty(Player.Art(thumb)) + VideoPlayer.Content(livetv)">DefaultTVShows.png</value>
    <value>$INFO[Player.Art(thumb)]</value>
</variable>
(2018-05-23, 10:33)maxtherabbit Wrote: [ -> ]You might need to edit two files for your mod. The code for the video info menu is in DialogSeekBar.xml. It also uses a variable called NowPlayingPosterVar which can be found in Variables.xml.

This is the code for the image in DialogSeekBar.xml
Code:
    <texture fallback="DefaultVideo.png" background="true">$VAR[NowPlayingPosterVar]</texture>
Thanks for the code and help.  I am however starting to think that this skin has some sort of grudge against me.  Something so simple has turned into a real pain in the you know what.

There is no such variable, or reference to the "NowPlayingPosterVar" in my DialogSeekBar.xml that I can find.....  Here is a screen capture where I searched for it.  I also searched for simply "poster" and a few other keywords in that code above.

Image
Are you using Kodi Krypton (17)? I'm using Kodi Leia (18) and Estuary has changed a bit between these versions. I looked through my old installation and it seems that the code for the video thumbnail is in DialogFullScreenInfo.xml in the Krypton version.

Modify this in DialogFullScreenInfo.xml
Code:
<control type="image">
    <depth>DepthOSD+</depth>
    <left>10</left>
    <top>-490</top>
    <width>400</width>
    <height>600</height>
    <aspectratio aligny="bottom">keep</aspectratio>
    <texture fallback="DefaultVideo.png" background="true">$VAR[NowPlayingPosterVar]</texture>
    <bordertexture border="21">overlays/shadow.png</bordertexture>
    <bordersize>20</bordersize>
    <include>OpenClose_Left</include>
</control>

When modifying Estuary sometimes the easiest way to find the correct xml file is to do a "Find in files" search with your keyword for the whole Estuary directory in Notepad++.
Ol, not sure what happened, but half of my XML files were corrupt.  I reinstalled the skin, and all is well.

Thank you for the above info, as it pointed me in the correct direction to do what I wanted.

When the info screen is pulled up while the movie is playing the disk is spinning, when the movie is paused (as in the photo below) it is a static disk image.

Here is a screen cap of the modification. 

Image
(2018-05-20, 00:19)JohnWPB Wrote: [ -> ]Hello, new user to the Estuary skin.  I want to make a few simple edits, and am lost when it comes to locating code for this skin.

 
you can get kodi to display page name b going to addon.xml
<extension point="xbmc.gui.skin" debugging="false"> change to <extension point="xbmc.gui.skin" debugging="true">
then save and run kodi
(2018-05-24, 02:01)the_other_guy Wrote: [ -> ]
(2018-05-20, 00:19)JohnWPB Wrote: [ -> ]Hello, new user to the Estuary skin.  I want to make a few simple edits, and am lost when it comes to locating code for this skin.
you can get kodi to display page name b going to addon.xml
<extension point="xbmc.gui.skin" debugging="false"> change to <extension point="xbmc.gui.skin" debugging="true">
then save and run kodi

I actually edited the keytable and when I press F8 it toggles debugging on and off.  Even with it on, it does NOT show everything that is being displayed on screen.

For instance, in this screen capture, the main screen is indeed VideoOSD.xml.  What it does not tell you, is if there are any dependencies, includes and the likes.  For instance the DialogSeekBar.xml skin is actually what is displaying the seek bar, the movie poster, the disk image and the movie logo in the top right.  To make it worse, NO WHERE in the VideoOSD.xml file is there any mention whatsoever of the DialogSeekBar.xml.
Image
https://s26.postimg.cc/s1obh3feh/Video_OSD.jpg