[Solved] ArtistSlideshow+visualisation issue with solution
#1
Hello,

I'm using Rapier 10.2.0 with last Krypton build but I found a problem using ArtistSlideshow + visualisation.
actually, it works fine if you use "Spectrum" or "Waveform" but if you want to use another one like "shadertoy" it is not working well as you see only the visualisation.
I thought that it is related to the visualisation that isn't transparent at all an I tried to find a way to fix it and here is the solution.
I'm not sure this is the most elegant way but it works fine for me.

First we need to modify the declaration order between background and visualisation inside "MusicVisualisation.xml" file like this:

Before:
Code:
        <control type="group">
            <depth>DepthBackground</depth>
            <include condition="[[Skin.HasSetting(UseFanartForMusicPlayingBG) | Skin.HasSetting(UseVisualizationAndFanartForMusicPlayingBG)] + !Skin.HasSetting(EnableArtistFanartSlideshow)]
            | [[Skin.HasSetting(UseFanartForMusicPlayingBG) | Skin.HasSetting(UseVisualizationAndFanartForMusicPlayingBG)] + !System.HasAddon(script.artistslideshow)]">MusicPlayingArtistFanart</include>
            <include condition="System.HasAddon(script.artistslideshow) + [Skin.HasSetting(UseFanartForMusicPlayingBG) | Skin.HasSetting(UseVisualizationAndFanartForMusicPlayingBG)] + Skin.HasSetting(EnableArtistFanartSlideshow)">MusicPlayingArtistFanartSlideshow</include>
            <control type="image">
                <include>BackgroundSize</include>
                <texture background="true">views/fanart-dim.png</texture>
                <animation effect="fade" end="35" condition="true">Conditional</animation>
                <visible>Skin.HasSetting(UseVisualizationAndFanartForMusicPlayingBG)</visible>
            </control>
        </control>
        <control type="visualisation" id="2">
            <description>Visualization</description>
            <depth>DepthContent</depth>
            <include>ScreenSize</include>
            <visible>!Skin.HasSetting(UseFanartForMusicPlayingBG) | Skin.HasSetting(UseVisualizationAndFanartForMusicPlayingBG)</visible>
        </control>

After:
Code:
<!-------------------------- PetitDroud visualisation moved on Top -->
        <control type="visualisation" id="2">
            <description>Visualization</description>
            <depth>DepthContent</depth>
            <include>ScreenSize</include>
            <visible>!Skin.HasSetting(UseFanartForMusicPlayingBG) | Skin.HasSetting(UseVisualizationAndFanartForMusicPlayingBG)</visible>
        </control>
<!------------------------------------------------------------------->
        <control type="group">
            <depth>DepthBackground</depth>
            <include condition="[[Skin.HasSetting(UseFanartForMusicPlayingBG) | Skin.HasSetting(UseVisualizationAndFanartForMusicPlayingBG)] + !Skin.HasSetting(EnableArtistFanartSlideshow)]
            | [[Skin.HasSetting(UseFanartForMusicPlayingBG) | Skin.HasSetting(UseVisualizationAndFanartForMusicPlayingBG)] + !System.HasAddon(script.artistslideshow)]">MusicPlayingArtistFanart</include>
            <include condition="System.HasAddon(script.artistslideshow) + [Skin.HasSetting(UseFanartForMusicPlayingBG) | Skin.HasSetting(UseVisualizationAndFanartForMusicPlayingBG)] + Skin.HasSetting(EnableArtistFanartSlideshow)">MusicPlayingArtistFanartSlideshow</include>
            <control type="image">
                <include>BackgroundSize</include>
                <texture background="true">views/fanart-dim.png</texture>
                <animation effect="fade" end="35" condition="true">Conditional</animation>
                <visible>Skin.HasSetting(UseVisualizationAndFanartForMusicPlayingBG)</visible>
            </control>
        </control>

This is not finish as now this is the opposite only the Artist Slideshow is displayed.
We just need to add some transparency for this background inside "includes_Backgrounds.xml" file like this:

Code:
    <include name="MusicPlayingArtistFanartSlideshow">
        <control type="multiimage">
            <include>BackgroundSize</include>
            <imagepath>$INFO[Window(Visualisation).Property(ArtistSlideshow)]</imagepath>
            
<!---------------------- Petitdroud mod adding transparency for using with all visualisation-->

            <colordiffuse>99FFFFFF</colordiffuse>

<!-------------------------------------------------------------------------------------------->

            <aspectratio>scale</aspectratio>
            <timeperimage>10000</timeperimage>
            <fadetime>BackgroundCrossfadeTime</fadetime>
            <randomize>true</randomize>
            <visible>!String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow.ArtworkReady))</visible>
            <animation effect="fade" start="0" end="100" time="300">VisibleChange</animation>
            <include condition="Skin.HasSetting(AnimateFanartMusicPlayingBG)">BackgroundAnim</include>
        </control>



That's it using this modification you can use all visualisation with artist slideshow...

@Gade: Do you think that it could be possible to add this modification to your skin in order to not have to modify it on every update?

See you.

Petitdroud
Reply
#2
Hi Petitdroud.

That's a very good idea - thanks a lot for suggesting it.

I'll implement it, but in a little different way Wink

Cheers
Gade
Reply
#3
Hi Gade,

Great, I'm eager to see how you will implement it Nod as I tried different way but only this one was OK. I'm far far away to understand all the subtilities of Kodi's skinning codeOo .

Petitdroud
Reply
#4
I actually ended up a bit closer to what you did, than I started up with Wink

Added on Github with this commit: https://github.com/gade01/Rapier/commit/...62af13f20a
Reply
#5
You can install the latest official update from zip here: http://mirrors.kodi.tv/addons/krypton/sk...10.2.0.zip

It won't get automatically installed, as the version numbers from the development repo and the official are the same.
Reply

Logout Mark Read Team Forum Stats Members Help
[Solved] ArtistSlideshow+visualisation issue with solution0