Kodi Community Forum

Full Version: MultiImage ignores or random behavior fade in delay on WindowOpen
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I tried a lot, not gettin to work, the animation type="WindowOpen" with the delay="18000" is working very random.
Sometimes it is ignoring the delay, sometimes the delay is shorter, and sometimes all working fine!
Can somebody help me please, any ideas?
The 1:1 same animation on Container(51).OnNext | Container(51).OnPrevious is working like a charm, why not on WindowOpen?




Code:
                        <control type="multiimage">    
                        <timeperimage>6000</timeperimage>
                        <randomize>true</randomize>    
                        <fadetime>FanartCrossFadeTime</fadetime>                        
                        <left>-7</left>
                        <top>98</top>
                        <width>368</width>
                        <height>522</height>
                        <aspectratio align="center" aligny="top">stretch</aspectratio>    
                        <imagepath background="true">$INFO[ListItem.Path,,extraposter/]</imagepath>
                        <animation type="WindowOpen" ?condition="true" loop="true" reversible="false"?>
                        <effect type="fade" start="0" end="100" delay="18000" time="500"/>
                        <effect type="fade" start="100" end="0" delay="100000" time="500"/>                            
                        </animation>                        
                        <animation type="Conditional" reversible="false" condition="![Container(51).OnNext | Container(51).OnPrevious]">                        
                        <effect type="fade" start="0" end="100" delay="18000" time="500"/>
                        <effect type="fade" start="100" end="0" delay="100000" time="500"/>                        
                        </animation> 
                    </control>
Try adding this to it -

<effect type="fade" start="0" end="0" time="0"/>
(2019-02-05, 23:18)Hitcher Wrote: [ -> ]<effect type="fade" start="0" end="0" time="0"/>

Wherever I reinstate the code, the only thing that does it is that not a single animation is executed anymore.
Thanks, it was worth a try.

I noticed that the WindowOpen animation was often omitted, and now focus on the OnNext OnPrevious animation to get started properly first. OnNext OnPrevious works in most cases even if also close and reopen windows (the exception is when it happens from the main menu)

For hours I have been working through other .xml's where there are also some delay animations to get some input and perhaps find the solution. I tried about 50 conditions, lot paste copied, lot tried of my own... always random behavior. Only difference to others is now that it's combined with multiimage.

Unfortunately, the "![Container(51).OnNext | Container(51).OnPrevious]" animation behaves also very random and buggy when switch back/forth/open/close between windows.
After 51 try with the following condition animation work as expected:


Code:
<control type="multiimage">    
                        <timeperimage>6000</timeperimage>
                        <randomize>true</randomize>    
                        <fadetime>FanartCrossFadeTime</fadetime>                        
                        <left>-7</left>
                        <top>98</top>
                        <width>368</width>
                        <height>522</height>
                        <aspectratio align="center" aligny="top">stretch</aspectratio>    
                        <imagepath background="true">$INFO[ListItem.Path,,extraposter/]</imagepath>
                        <animation type="WindowOpen" condition="true" loop="true" reversible="false">
                        <effect type="fade" start="0" end="100" delay="18000" time="500"/>
                        <effect type="fade" start="100" end="0" delay="100000" time="500"/>                            
                        </animation>  
                     
                        <animation type="Conditional" reversible="false" condition="![Container(51).OnNext | Container(51).OnPrevious] + !IsEmpty(ListItem.Art(discart))">                        
                        <effect type="fade" start="0" end="100" delay="18000" time="500"/>
                        <effect type="fade" start="100" end="0" delay="100000" time="500"/>                        
                        </animation> 
                    </control>

I know the animation is now running only when a discart is present (I have discarts all over) but LOOOOL, of course I wonder what + !IsEmpty(ListItem.Art(discart)) makes the difference, hence the timing of the animation, and even if I switch back/forth/open/close between windows the animation is straight is executed correctly in this additional condition. Then i tried for fun: + !IsEmpty(ListItem.Art(poster)) but same random behavior like before, then with + !IsEmpty(ListItem.Art(discart)) working again, lol. Does anyone have ideas? Very confusing and very random at the moment.
This is what the extraposter mod code looks like, I deleted a few lines that made no difference.




Code:
                    <!-- Extraposter    -->
                    <control type="image" id="785236">                                
                        <left>0</left>
                        <top>0</top>
                        <width>1</width>
                        <height>1</height>                        
                        <texture background="true">$INFO[ListItem.Path,,extraposter/extraposter0.jpg]</texture>                        
                        <visible>Container.Content(movies)</visible>

                    </control>                    
                        <control type="multiimage">    
                        <timeperimage>6000</timeperimage>
                        <randomize>true</randomize>    
                        <fadetime>FanartCrossFadeTime</fadetime>                        
                        <left>-7</left>
                        <top>98</top>
                        <width>368</width>
                        <height>522</height>
                        <aspectratio align="center" aligny="top">stretch</aspectratio>    
                        <imagepath background="true">$INFO[ListItem.Path,,extraposter/]</imagepath>                        
                        <animation type="Conditional" reversible="false" condition="![Container(51).OnNext | Container(51).OnPrevious] + !IsEmpty(ListItem.Art(discart))">                
                        <effect type="fade" start="0" end="100" delay="18000" time="500"/>
                        <effect type="fade" start="100" end="0" delay="100000" time="500"/>                        
                        </animation>                    
                        <visible>!Skin.HasSetting(showextraposter) + !IsEmpty(Control.GetLabel(785236))</visible>    
                    </control>
                    <!-- Extrakeyart    -->
                    <control type="image" id="785237">                                
                        <left>0</left>
                        <top>0</top>
                        <width>1</width>
                        <height>1</height>                        
                        <texture background="true">$INFO[ListItem.Path,,extrakeyart/extrakeyart0.jpg]</texture>                        
                        <visible>Container.Content(movies)</visible>
                    </control>                    

                        <control type="multiimage">    
                        <timeperimage>6000</timeperimage>
                        <randomize>true</randomize>    
                        <fadetime>FanartCrossFadeTime</fadetime>                        
                        <left>-7</left>
                        <top>98</top>
                        <width>368</width>
                        <height>522</height>
                        <aspectratio align="center" aligny="top">stretch</aspectratio>    
                        <imagepath background="true">$INFO[ListItem.Path,,extrakeyart/]</imagepath>                    
                        <animation type="Conditional" reversible="false" condition="![Container(51).OnNext | Container(51).OnPrevious] + !IsEmpty(ListItem.Art(discart))">            
                        <effect type="fade" start="0" end="100" delay="18000" time="500"/>
                        <effect type="fade" start="100" end="0" delay="100000" time="500"/>                                
                        </animation>                                            
                        <visible>!Skin.HasSetting(showextraposter) + !IsEmpty(Control.GetLabel(785237))</visible>    
                    </control>                    
                    <!-- Extrakeyart Logo -->
                    <control type="image">    
                        <left>25</left>
                        <top>460</top>
                        <width>300</width>
                        <height>150</height>
                        <aspectratio align="center" aligny="bottom">keep</aspectratio>    
                        <texture background="true">$INFO[ListItem.Path]$INFO[ListItem.Foldername,,-clearlogo-extrakeyart.png]</texture>    
                        <fadetime>FanartCrossFadeTime</fadetime>                        
                        <animation type="Conditional" reversible="false" condition="![Container(51).OnNext | Container(51).OnPrevious] + !IsEmpty(ListItem.Art(discart))">                    
                        <effect type="fade" start="0" end="100" delay="18000" time="500"/>
                        <effect type="fade" start="100" end="0" delay="100000" time="500"/>                            
                        </animation>                        
                        <visible>!Skin.HasSetting(showextraposter) + !Skin.HasSetting(showextraposterlogo) + !IsEmpty(Control.GetLabel(785237))</visible>                        
                    </control>             
   

+ !IsEmpty(ListItem.Art(discart)) -> This is still a profisorium because the animation halfway complies with its timings.
$INFO[ListItem.Path]$INFO[ListItem.Foldername,,-clearlogo-extrakeyart.png] -> Also a profisorium, meanwhile I copied in the folders the clearlogo everywhere where extrakeyart is used. The Clearlogo should appear only if an extrakeyart is used and not extraposter. The only other possibility would be to return to a Control.Getlabel.