Image not updated issue
#1
Hello all,

I have an issue I hav not been able to figure out.  I apologize in advance if this is a noob issue.   

If I update artwork via, let's say, Artwork Beef, from the video info dialog for a movie or tv show, the changed image is not reflected right away in the video info dialog.  I imagine there is something I am missing that I need to do? Anyway, that is not the main issue.  The main issue is that if I go back out of the video info dialog to browsing (MyVideoNav.xml), back out to the main menu, and go back to browsing, the image change is still not reflected.  If I reload the skin, refresh the item or restart Kodi, then the image change is reflected. 

I checked that when I went back to browsing again, the artwork for the item reflects the new image.  For example, for a changed poster, ListItem.Icon, ListItem.Art(poster), ListItem.Art(thumb) all point to the updated poster, but the MyVideoNav.xml window still shows the previous poster.  The video info dialog shows the new poster also.

The VAR I use to show the image is this:

xml:

<variable name="Poster" description="Poster">
        <value condition="ListItem.IsParentFolder">DefaultPosterBack.png</value>
        <value condition="ListItem.IsFolder + String.IsEmpty(ListItem.Thumb) + String.IsEmpty(ListItem.Icon)">DefaultFolder.png</value>
        <value condition="String.IsEqual(ListItem.DBType,episode) + !String.IsEmpty(ListItem.Art(season.poster))">$INFO[ListItem.Art(season.poster)]</value>
        <value condition="String.IsEqual(ListItem.DBType,episode) + String.IsEmpty(ListItem.Art(season.poster)) + !String.IsEmpty(ListItem.Art(tvshow.poster))">$INFO[ListItem.Art(tvshow.poster)]</value>
        <value condition="String.IsEqual(ListItem.DBType,season) + String.IsEmpty(ListItem.Art(poster)) + !String.IsEmpty(ListItem.Art(tvshow.poster))">$INFO[ListItem.Art(tvshow.poster)]</value>
        <value condition="String.IsEqual(ListItem.DBType,season) + !String.IsEmpty(ListItem.Property(TVShowID)) + !String.IsEmpty(ListItem.Art(season.poster))">$INFO[ListItem.Art(season.poster)]</value>
        <value condition="String.IsEqual(ListItem.DBType,season) + !String.IsEmpty(ListItem.Property(TVShowID)) + String.IsEmpty(ListItem.Art(season.poster)) + !String.IsEmpty(ListItem.Art(tvshow.poster))">$INFO[ListItem.Art(tvshow.poster)]</value>
        <value condition="Container.Content(episodes) + !String.IsEmpty(ListItem.Art(tvshow.poster))">$INFO[ListItem.Art(tvshow.poster)]</value>
        <value condition="!String.IsEmpty(ListItem.Art(poster))">$INFO[ListItem.Art(poster)]</value>
        <value condition="!String.IsEmpty(ListItem.Art(thumb))">$INFO[ListItem.Art(thumb)]</value>
        <value condition="!String.IsEmpty(ListItem.Icon)">$INFO[ListItem.Icon]</value>
        <value>DefaultPoster.png</value>
    </variable>

The code to show the image is the following include (my apologies for the long include, I inherited it like this and have not begun to optimize this yet):

xml:


<include name="GenericPosterIconBig">
        <param name="isFocused">false</param>
        <definition>
            <include content="GenericThumbIconTemplate">
                <param name="isFocused">$PARAM[isFocused]</param>
                <param name="iconwidth">310</param>
                <param name="iconheight">437</param>
                <param name="iconoffset">0</param>
                <param name="iconimage">$VAR[Poster]</param>
                <param name="shadowoffset">8</param>
                <param name="bordersizeLT">16</param>
                <param name="bordersizeRB">24</param>
                <param name="overlaylabelvisibility">!ListItem.IsParentFolder + [String.IsEqual(ListItem.DBType,season) | String.IsEqual(ListItem.DBType,episode) | String.IsEmpty(listitem.DBType)]</param>
                <param name="overlaylabel">$VAR[PosterLabel]</param>
                <param name="overlaylabelalign">center</param>
                <param name="overlaylabelyoffset">90r</param>
            </include>
        </definition>
    </include>

    <include name="GenericThumbIconTemplate">
        <param name="isFocused">false</param>
        <param name="iconwidth"/>
        <param name="iconheight"/>
        <param name="iconoffset"/>
        <param name="shadowoffset"/>
        <param name="bordersizeLT"/>
        <param name="bordersizeRB"/>
        <param name="iconimage">$INFO[ListItem.Icon]</param>
        <param name="fallbackicon">DefaultFolder.png</param>
        <param name="aspect">scale</param>
        <param name="overlaylabel"></param>
        <param name="overlaylabelvisibility">false</param>
        <param name="overlaylabelalign">left</param>
        <param name="overlaylabelyoffset">65r</param>
        <param name="overlaylabelfont">Shelf_Label</param>
        <param name="belowlabel"></param>
        <param name="belowlabelheight"></param>
        <param name="belowlabelvisibility">false</param>
        <param name="belowlabelalign">center</param>
        <param name="belowdoublelabel1"></param>
        <param name="belowdoublelabel2"></param>
        <param name="labelfont1">Shelf_Label</param>
        <param name="labelfont2">Shelf_Label</param>
        <param name="belowdoublelabelvisibility">false</param>
        <param name="belowdoublelabelalign">center</param>
        <param name="belowtextbox"></param>
        <param name="belowtextboxvisibility">false</param>
        <param name="belowtextboxalign">center</param>
        <param name="belowtextboxfont">Shelf_Label</param>
        <param name="belowtextboxwidth"></param>
        <definition>
            <control type="image">
                <left>$PARAM[shadowoffset]</left>
                <top>$PARAM[shadowoffset]</top>
                <width>$PARAM[iconwidth]</width>
                <height>$PARAM[iconheight]</height>
                <aspectratio>$PARAM[aspect]</aspectratio>
                <texture background="true" fallback="$PARAM[fallbackicon]">$PARAM[iconimage]</texture>
                <colordiffuse>HeavyShadow</colordiffuse>
                <bordersize>$PARAM[bordersizeLT],$PARAM[bordersizeLT],$PARAM[bordersizeRB],$PARAM[bordersizeRB]</bordersize>
            </control>
            <control type="group">
                <left>$PARAM[iconoffset]</left>
                <top>$PARAM[iconoffset]</top>
                <width>$PARAM[iconwidth]</width>
                <height>$PARAM[iconheight]</height>
                <control type="image">
                    <visible>$PARAM[isFocused]</visible>
                    <texture background="true" fallback="$PARAM[fallbackicon]">$PARAM[iconimage]</texture>
                    <bordertexture colordiffuse="$VAR[HighlightColor]" border="8">thumbs/IconBorder_FO.png</bordertexture>
                    <bordersize>$PARAM[bordersizeLT],$PARAM[bordersizeLT],$PARAM[bordersizeRB],$PARAM[bordersizeRB]</bordersize>
                    <aspectratio>$PARAM[aspect]</aspectratio>
                </control>
                <control type="image">
                    <visible>!$PARAM[isFocused]</visible>
                    <texture background="true" fallback="$PARAM[fallbackicon]">$PARAM[iconimage]</texture>
                    <bordersize>$PARAM[bordersizeLT],$PARAM[bordersizeLT],$PARAM[bordersizeRB],$PARAM[bordersizeRB]</bordersize>
                    <aspectratio>$PARAM[aspect]</aspectratio>
                    <colordiffuse>eeeeeeee</colordiffuse>
                </control>
                <include content="GenericThumbLabelTemplate">
                    <param name="isFocused">$PARAM[isFocused]</param>
                    <param name="yoffset">$PARAM[overlaylabelyoffset]</param>
                    <param name="xoffset">$PARAM[iconoffset]</param>
                    <param name="labelwidth">$PARAM[iconwidth]</param>
                    <param name="labelvisibility">$PARAM[overlaylabelvisibility]</param>
                    <param name="labeltext">$PARAM[overlaylabel]</param>
                    <param name="labelalign">$PARAM[overlaylabelalign]</param>
                    <param name="labelfont">$PARAM[overlaylabelfont]</param>
                    <param name="bordersize">$PARAM[bordersizeLT],0,$PARAM[bordersizeRB],0</param>
                </include>
                <include content="GenericBelowLabelTemplate">
                    <param name="isFocused">$PARAM[isFocused]</param>
                    <param name="yoffset">-8r</param>
                    <param name="xoffset">0</param>
                    <param name="labelwidth">$PARAM[iconwidth]</param>
                    <param name="labelvisibility">$PARAM[belowlabelvisibility]</param>
                    <param name="labeltext">$PARAM[belowlabel]</param>
                    <param name="labelalign">$PARAM[belowlabelalign]</param>
                    <param name="labelheight">$PARAM[belowlabelheight]</param>
                    <param name="bordersize">$PARAM[bordersizeLT],0,$PARAM[bordersizeLT],0</param>
                </include>
                <include content="GenericBelowDoubleLabelTemplate">
                    <param name="isFocused">$PARAM[isFocused]</param>
                    <param name="yoffset">-8r</param>
                    <param name="xoffset">0</param>
                    <param name="labelwidth">$PARAM[iconwidth]</param>
                    <param name="labelvisibility">$PARAM[belowdoublelabelvisibility]</param>
                    <param name="labeltext1">$PARAM[belowdoublelabel1]</param>
                    <param name="labeltext2">$PARAM[belowdoublelabel2]</param>
                    <param name="labelfont1">$PARAM[labelfont1]</param>
                    <param name="labelfont2">$PARAM[labelfont2]</param>
                    <param name="labelalign">$PARAM[belowdoublelabelalign]</param>
                    <param name="bordersize">$PARAM[bordersizeLT],0,$PARAM[bordersizeLT],0</param>
                </include>
                <include content="GenericBelowTextboxTemplate">
                    <param name="isFocused">$PARAM[isFocused]</param>
                    <param name="yoffset">-8r</param>
                    <param name="xoffset">0</param>
                    <param name="labelwidth">$PARAM[iconwidth]</param>
                    <param name="labelvisibility">$PARAM[belowtextboxvisibility]</param>
                    <param name="labeltext">$PARAM[belowtextbox]</param>
                    <param name="labelalign">$PARAM[belowtextboxalign]</param>
                    <param name="textboxwidth">$PARAM[belowtextboxwidth]</param>
                    <param name="bordersize">$PARAM[bordersizeLT]</param>
                    <param name="belowtextboxfont">$PARAM[belowtextboxfont]</param>
                </include>
                <control type="image" description="Watched Overlay">
                    <visible>!$PARAM[isFocused]</visible>
                    <left>60r</left>
                    <top>60r</top>
                    <width>33</width>
                    <height>33</height>
                    <texture>$VAR[Overlay]</texture>
                    <aspectratio>keep</aspectratio>
                </control>
                <control type="image" description="Watched Overlay">
                    <visible>$PARAM[isFocused]</visible>
                    <left>60r</left>
                    <top>60r</top>
                    <width>33</width>
                    <height>33</height>
                    <texture>$VAR[Overlay]</texture>
                    <colordiffuse>$VAR[HighlightColor]</colordiffuse>
                    <aspectratio>keep</aspectratio>
                </control>
            </control>
        </definition>
    </include>

What am I missing here? Thank you in advance for any help.

Regards,

Bart
Reply
#2
It could just be Kodi using the cached image until it does its 24hr check to see if the original image has changed.
Reply
#3
(2020-02-10, 23:13)Hitcher Wrote: It could just be Kodi using the cached image until it does its 24hr check to see if the original image has changed.

@Hitcher , thanks! That makes sense, except that it doesn't happen in other skins.  If I update an image, go back to the main menu, then go back to browsing media, I see the updated image.  I tried this with Aeon MQ7 and Aeon Nox SiLVO.  I just could not see anything really different in the code that could account for this.

Regards,

Bart
Reply

Logout Mark Read Team Forum Stats Members Help
Image not updated issue0