how does fadetime work??
#1
howdy, I am trying to do a crossfade transition between images I have in a list.

I used the example from the wiki but it's not behaving the way I understand it. In the wiki it says "... The previous image will be held until the new image is ready, and then they will be crossfaded." but that's not what happens. There is a black image in between the two images I have in my list. I know it's the black from the background. Do I need to make the background invisible? Not sure what i need to do.

Can someone help out? Thanks!

xml:
<control type="image" id="1">
<description>My first image control</description>
<left>80</left>
<top>60</top>
<width>250</width>
<height>200</height>
<visible>true</visible>
<colordiffuse>FFFFFFFF</colordiffuse>
<fadetime>200</fadetime>
<texture border="5">mytexture.png</texture>
<bordertexture border="5" infill="false">mybordertexture.png</bordertexture>
<bordersize>5</bordersize>
<aspectratio>keep</aspectratio>
</control>
Reply
#2
It's not the fade between separate image controls but for different images in a single image control.

ie a fanart background image control where the fanart changes for each selected item in a list.
Reply
#3
(2024-10-04, 00:27)Hitcher Wrote: It's not the fade between separate image controls but for different images in a single image control.

ie a fanart background image control where the fanart changes for each selected item in a list.

I think @ranjibart might be right because if you look closely the first artwork fades out as the new artwork fades in, so at some point the image control seems not to have full alpha and you see the layer underneath. It's much more noticeable on white background then black.

I have some horrible hacks for this in my skin t avoid it as it was really annoying me.

As my skin is quite lightweight, I literally have two versions of the image control on top of each other, the one on the top has the desired fadetime and the one underneath has a 0 fadetime. The effect is that the image underneath is held in place until the crossfade in the image on top is sufficiently underway to avoid the appearance of the interim black screen.

But it is very wasteful in terms of resources.

@sarbes do you know how the crossfade works?
Reply
#4
Ok, thanks guys. So there is no supported solution for lists?

In Estuary the crossfade seems to work though in a list. Maybe via some hack. I haven't checked the code.
Reply
#5
Fading is a bit broken. Depending on how things go, multiple textures can fade in and out. In any case, the background will bleed through during the animation.

I've already started reworking the fading code to just fade between two textures at once (https://github.com/xbmc/xbmc/pull/25565). This should allow proper transitional fading to be added in the future.
Reply
#6
That would be great, thanks @sarbes, this looks really cool, especially the gradient tweens. Do you think these would have banding? I use higher trees gradients so I can add a bit of noise to avoid obvious banding.

One other question I have on cross-fade...

When transitioning between content types, e.g. going from tvshows to seasons to episodes, I have a fade-to-black-then-fade-in transition using visibility conditions and animations. But when my image control is hidden, the outgoing image remains cached so you end up with this effect:

tvshow fanart fades to black, black screen, as the image control fades back in the you see the tvshow fanart again just as it cross-fades to the season fanart. Do you think a) that the previous image should be flushed from the cache when the image control is hidden and b) if so, is that something that would be feasible to implement?

I think it makes sense that when an image is made invisible and then visible again, it doesn't remember the previous fade out state, but not sure if you and others would agree.
Reply
#7
Please don't try to derail the thread. It has nothing to do with OPs issue.
Reply
#8
I validated OP's concern, provided a workaround fix and asked you into the conversation where you subsequently identified a more permanent solution in the works.

But fine, if attempting to continue the conversation beyond that point is me "trying to derail" - not even unintentionally but apparently on purpose? - the conversation, I'll say goodbye.
Reply
#9
(2024-10-05, 22:27)realcopacetic Wrote: I validated OP's concern, provided a workaround fix and asked you into the conversation where you subsequently identified a more permanent solution in the works.

But fine, if attempting to continue the conversation beyond that point is me "trying to derail" - not even unintentionally but apparently on purpose? - the conversation, I'll say goodbye.

This is not what I've meant. Your questions have nothing in common with OPs issue, but we can happily discuss such matters in its own thread.
Reply
#10
(2024-10-05, 23:50)sarbes Wrote:
(2024-10-05, 22:27)realcopacetic Wrote: I validated OP's concern, provided a workaround fix and asked you into the conversation where you subsequently identified a more permanent solution in the works.

But fine, if attempting to continue the conversation beyond that point is me "trying to derail" - not even unintentionally but apparently on purpose? - the conversation, I'll say goodbye.

This is not what I've meant. Your questions have nothing in common with OPs issue, but we can happily discuss such matters in its own thread.

Thanks, will do. Have a good one.
Reply

Logout Mark Read Team Forum Stats Members Help
how does fadetime work??0