Release script.artistslideshow
#1
Artist Slideshow has actually been around for awhile but I thought it would be worth having a thread here specifically for skin support (the thread in the Program Addons area will continue for folks using AS).  The AS wiki page is the best place to go to understand how to add support for AS to your skin.

https://kodi.wiki/view/Add-on:Artist_Sli...properties

Please read below because the next version of AS changes the way images are displayed in the skin.  The wiki page doesn't reflect these changes yet, as I'm still finishing development of the 3.x branch.
Reply
#2
As of AS 3.0.0 there is one new skin property, and it's the one you need to display the current image.

xml:
Window(Visualisation).Property(ArtistSlideshow.Image)
This is the path to the current image AS wants the skin to display.  Should be used in an image control.

Three properties are going away:

xml:
Window(Visualisation).Property(ArtistSlideshow)
Depreciated in favor of Window(Visualisation).Property(ArtistSlideshow.Image)

xml:
Window(Visualisation).Property(ArtistSlideshowTransparent)
I honestly can't even remember why this was added, and I don't see a use case for it that can't be solved using some combination of existing InfoLabels.

xml:
Window(Visualisation).Property(ArtistSlideshow.ArtworkReady)
As far as I can tell, this is redundant. If there is an image in the Window(Visualisation).Property(ArtistSlideshow.Image) InfoLabel, then AS has artwork ready.

If you want to download an early test version of AS 3.0.0, please see this post.
Reply
#3
Skin Updates for 3.0.0
I'll show an Estuary update as an example of what you need to do to support both the 2.x and 3.x versions of AS.

Original Estuary code in MusicVisualization.xml (lines 17 - 32):
xml:

<control type="image">
    <aspectratio>scale</aspectratio>
    <fadetime>400</fadetime>
    <animation effect="fade" start="0" end="100" time="400">WindowOpen</animation>
    <animation effect="fade" start="100" end="0" time="300">WindowClose</animation>
    <texture background="true" colordiffuse="88FFFFFF">$INFO[Player.Art(fanart)]</texture>
</control>
<control type="multiimage">
    <aspectratio>scale</aspectratio>
    <timeperimage>10000</timeperimage>
    <randomize>true</randomize>
    <fadetime>600</fadetime>
    <loop>yes</loop>
    <imagepath background="true">$INFO[Window(Visualisation).Property(ArtistSlideshow)]</imagepath>
    <visible>System.HasAddon(script.artistslideshow)</visible>
</control>

To get both 2.x and 3.x support, replace the above with:
xml:

<control type="image">
    <aspectratio>scale</aspectratio>
    <fadetime>400</fadetime>
    <animation effect="fade" start="0" end="100" time="400">WindowOpen</animation>
    <animation effect="fade" start="100" end="0" time="300">WindowClose</animation>
    <texture background="true">$INFO[Player.Art(fanart)]</texture>
    <visible>String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow.Image))</visible>
</control>
<control type="image">
    <aspectratio>scale</aspectratio>
    <fadetime>400</fadetime>
    <animation effect="fade" start="0" end="100" time="400">WindowOpen</animation>
    <animation effect="fade" start="100" end="0" time="300">WindowClose</animation>
    <texture background="true">$INFO[Window(Visualisation).Property(ArtistSlideshow.Image)]</texture>
    <visible>!String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow.Image))</visible>
</control>
<control type="multiimage">
    <aspectratio>scale</aspectratio>
    <timeperimage>10000</timeperimage>
    <randomize>true</randomize>
    <fadetime>600</fadetime>
    <loop>yes</loop>
    <imagepath background="true">$INFO[Window(Visualisation).Property(ArtistSlideshow)]</imagepath>
    <visible>!String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow.ArtworkReady))</visible>
</control>
Reply
#4
Update on 3.x Release Timing

I just confirmed that the changes in Estuary needed to support both AS 2.x and 3.x made it into 18.5, and 18.5 was released sometime in the last few days, so if you want to add (or update) AS support in your skin, now is this time.  I'm going to be out of town for a couple of weeks (some personal stuff and then the Thanksgiving holiday in the US), and I don't want to push an update into the beta repo and then be unavailable.  It also looks like Matrix is on a pretty aggressive release schedule, and if I'm reading the blog correctly it could be released by the end of this year (note: this is my take on the blog post, not an official stance).  Given all that, here's the planned release schedule for AS 3.x.

Week of December 2: Artist Slideshow 3.0.0~beta8 released into my beta repo channel for wider (and final) testing
Week of December 16: AS 3.x pull request sent to main repo.  Based on past experience it will be at least a week before it goes live, but it may take longer if there are fixes I need to make to satisfy the build tests.  Given that, I may submit earlier if there are no issues reported during the final testing.

That will hopefully get AS released before the end of the year (and in time for Matrix), and AS 3.x will be the only version of AS available for Matrix.  If you're skin is for any other version of Kodi besides Matrix and you aren't in a position to support AS 3.x, your users can stay on AS 2.x, but AS 2.x will receive no updates or bug fixes moving forward.
Reply
#5
AS 3.0.0~beta8 has been released to my beta repo and is now is wider testing.  Barring any major issues, I expect to submit AS to the main Kodi repo the week of December 16.  If you have not yet updated your skin for dual AS support, I encourage you to do so as soon as possible.
Reply
#6
OK, final warning.  A pull request has been submitted to update AS to 3.0.0 for Kodi 18 and later.  If you haven't updated your skin, there's still time. Just not much.
Reply
#7
(2019-12-16, 21:44)pkscout Wrote: OK, final warning.  A pull request has been submitted to update AS to 3.0.0 for Kodi 18 and later.  If you haven't updated your skin, there's still time. Just not much.
OK I just did a skin update, but still getting that overlay on music viz.  I have debug on and I see:
Code:
DEBUG: [Artist Slideshow] ArtistSlideshow set to C:\Media\Kodi 18.2\portable_data\addons\script.artistslideshow\resources\update-slide\

but what is that checking?

Update:  I think I see the problem.  I guess contrary to
Quote:Three properties are going away:
Window(Visualisation).Property(ArtistSlideshow) didn't go away, instead the update-slide is loaded into it.  I had the skin set to be compliant with either AS 2 or AS 3 but that depended on !String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow)) to test for AS 2 and artist art was found.  So for the moment I am kind of stuck on how to support both AS 2 and 3.

scott s.
.
Reply
#8
(2019-12-19, 01:08)scott967 Wrote:
(2019-12-16, 21:44)pkscout Wrote: OK, final warning.  A pull request has been submitted to update AS to 3.0.0 for Kodi 18 and later.  If you haven't updated your skin, there's still time. Just not much.
OK I just did a skin update, but still getting that overlay on music viz.  I have debug on and I see:
Code:
DEBUG: [Artist Slideshow] ArtistSlideshow set to C:\Media\Kodi 18.2\portable_data\addons\script.artistslideshow\resources\update-slide\

but what is that checking?

scott s.
That sets the old skin property (ArtistSlideshow) to a folder that contains a single image that tells folks that their skin isn't compatible with AS 3.0 and that they need to visit the AS forum thread to find out more.  I did that because I didn't want folks to upgrade and then just get a blank screen.  So it's not checking anything. It's just displaying a warning to folks with incompatible skins.
Reply
#9
(2019-12-19, 01:16)pkscout Wrote:
(2019-12-19, 01:08)scott967 Wrote:
(2019-12-16, 21:44)pkscout Wrote: OK, final warning.  A pull request has been submitted to update AS to 3.0.0 for Kodi 18 and later.  If you haven't updated your skin, there's still time. Just not much.
OK I just did a skin update, but still getting that overlay on music viz.  I have debug on and I see:
Code:
DEBUG: [Artist Slideshow] ArtistSlideshow set to C:\Media\Kodi 18.2\portable_data\addons\script.artistslideshow\resources\update-slide\

but what is that checking?

scott s.
.  
That sets the old skin property (ArtistSlideshow) to a folder that contains a single image that tells folks that their skin isn't compatible with AS 3.0 and that they need to visit the AS forum thread to find out more.  I did that because I didn't want folks to upgrade and then just get a blank screen.  So it's not checking anything. It's just displaying a warning to folks with incompatible skins. 

Was able to work around by looking for update-slide in the ArtistSlideshow property in my viz conditions.

scott s.
.
Reply
#10
xml:

<control type="multiimage">
<aspectratio>scale</aspectratio>
<timeperimage>10000</timeperimage>
<randomize>true</randomize>
<fadetime>600</fadetime>
<loop>yes</loop>
<imagepath background="true">$INFO[Window(Visualisation).Property(ArtistSlideshow)]</imagepath>
<visible>!String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow.ArtworkReady)</visible> </control>

is this realy needed?

looks like this shows just the Update message.

Quote:
xml:
Window(Visualisation).Property(ArtistSlideshow.ArtworkReady)
As far as I can tell, this is redundant. If there is an image in the Window(Visualisation).Property(ArtistSlideshow.Image) InfoLabel, then AS has artwork ready.
Reply
#11
(2019-12-20, 18:54)TP.One Wrote:
xml:

<control type="multiimage">
<aspectratio>scale</aspectratio>
<timeperimage>10000</timeperimage>
<randomize>true</randomize>
<fadetime>600</fadetime>
<loop>yes</loop>
<imagepath background="true">$INFO[Window(Visualisation).Property(ArtistSlideshow)]</imagepath>
<visible>!String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow.ArtworkReady)</visible> </control>

is this realy needed?

looks like this shows just the Update message.
Quote:
xml:
Window(Visualisation).Property(ArtistSlideshow.ArtworkReady)
As far as I can tell, this is redundant. If there is an image in the Window(Visualisation).Property(ArtistSlideshow.Image) InfoLabel, then AS has artwork ready.
If you are going to have 3.x support ONLY, then no, it isn't needed.  When I first posted this the idea was to provide suggestions on how a skin might support both 2.x (which was, at the time the production version) and 3.x (which was in beta) so that skins could get updated before AS did.
Reply
#12
I probably should have posted this earlier. If you're skin has been updated to use 3.0.0 and your users are reporting an increase in CPU usage, that is a known issue.  I will be putting in a PR right after the first of the year of address this, but in the meantime people can install a beta of AS that addresses this.  There's information on the AS page in the Kodi wiki on how to download my beta repo (link in my signature).
Reply
#13
I submitted a PR today for AS 3.1.0. Among other things it addresses the CPU usage issue, so if you have any users complaining that the skin is eating CPU cycles with no music playing, a fix is on the way.
Reply
#14
New Version Available (3.1.0)

I won't normally post new release announcements here, but there are a few changes that skin authors might want to know about.  Specifically:

- In daemon mode you can now change AS settings without having to restart Kodi (playing music will trigger a settings reload)
- fix for high CPU usage when using AS in daemon mode and no music playing
- fix for issue where slideshow might not start when in daemon mode
- fix for runaway loop if there is only one image in an artist's slideshow (could have also caused high CPU usage)
- fix for AS taking too long to quit on Kodi exit when in daemon mode

Here are the rest of the updates:

- added back option to show notifications when downloading new images
- updated service plugins to use https for API calls
- added options to change sleep time for main and slideshow threads
- set slideshow thread to close if no music playing
- added option to search stream titles more aggressively for an artist name
- fix for crash if artist image name has an extended character in it
- fix for crash when trying to get last fanart number from Kodi Artist Information Folder
- fix for artist images not changing when using a radio stream
- fix for theaudiodb.com plugin not downloading all three images for an artist
- fix for unicode errors causing cache trimming not to work
- fix for non-images getting added to image list and showing a black screen
- fix for Setting Type Error in Kodi logs
- changed logic for deleting folders when no artist images are found
Reply
#15
Just FYI, the settings reload in 3.1.0 only sort of works.  Some of the settings will reload, but not all of them.  I've fixed that with 3.2.0~beta1, and now settings will reload immediately instead of waiting for music to start playing.  Given release cycles, 3.2.0 probably won't be out for a month (or more), so if someone using your skin is reporting the AS settings are only reloading on a restart, they can try the beta.
Reply

Logout Mark Read Team Forum Stats Members Help
script.artistslideshow0