[WIP] Artist Slideshow Script (looking for testers!)
#16
Ronie, thank you soooo much for this great and much appreciated add-on!!

The script runs great, no crashes so far, but heres an issue I came across:

When I play a song by an artist that has not been played before, the script shows only the first downloaded image until the next song starts. More images are downloaded to the thumbnail folder but not displayed.

Tested with XBMC 10.1 with Confluence Skin on Windows XP.
#17
siffredi Wrote:When I play a song by an artist that has not been played before, the script shows only the first downloaded image until the next song starts. More images are downloaded to the thumbnail folder but not displayed.

the first image is shown as soon as it's downloaded and will stay visible while all the other images are downloaded.
as soon as all images are downloaded, the slideshow reloads and all the other images will be shown as well.

what you're experiencing can mean two things:
- the song ended before all images were downloaded (it can take up to a few minutes on low-speed internet connections)
- the slideshow doesn't reload properly (which would mean a script issue)

a logfile would tell me more... ;-)
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
#18
Ronie - it's working excellently. I originally thought that there was a problem with party mode playlists and the images not updating when the next track started but scratch that it's working fine now. Great job mate.
#19
I just tested this with my win7 and svn T! and everything works great for me so far.
I'm truly impressed of your skills Ronie. Thanks for letting us noobs play with your artwork ;-)

Update: It looks like when I'm manually skipping to next song only the first image shows. After it's finished downloading the rest it all goes black. It only happens to "new" artist (that haven't been played before).

Logfile:
[HTML]20:13:57 T:1820 M:4294967295 NOTICE: script.artistslideshow: new track started before download has finished
20:13:58 T:1820 M:4294967295 NOTICE: script.artistslideshow: playback started
20:13:58 T:1820 M:4294967295 NOTICE: script.artistslideshow: cachedir = C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd
20:13:58 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloading images
20:13:58 T:2768 M:4294967295 INFO: CFileCache:Tonguerocess - Hit eof.
20:14:00 T:4032 M:4294967295 DEBUG: CImageLoader:Big GrinoWork - took 148 ms to load C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\b18ea041\9b59d476.jpg
20:14:07 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloaded http://userserve-ak.last.fm/serve/_/1256...+anna5.png to C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd\2427771a.png
20:14:07 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloaded first image
20:14:09 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloaded http://userserve-ak.last.fm/serve/_/1890...mo2_08.png to C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd\5e64cfd5.png
20:14:09 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloaded http://userserve-ak.last.fm/serve/_/1114...heim02.png to C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd\ea0a67f5.png
20:14:09 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloaded http://userserve-ak.last.fm/serve/_/1482...rnheim.jpg to C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd\e52e17a8.jpg
20:14:10 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloaded http://userserve-ak.last.fm/serve/_/3862...rnheim.jpg to C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd\95a38fa1.jpg
20:14:23 T:3896 M:4294967295 DEBUG: SECTION:UnloadDll(special://xbmcbin/system/libcurl.dll)
20:14:25 T:3896 M:4294967295 DEBUG: SECTION:UnloadDelayed(DLL: special://xbmcbin/system/libid3tag.dll)
20:14:30 T:4032 M:4294967295 DEBUG: Thread Jobworker 4032 terminating (autodelete)
20:14:36 T:4144 M:4294967295 DEBUG: Thread Jobworker 4144 terminating (autodelete)
20:14:37 T:2744 M:4294967295 DEBUG: Thread Jobworker 2744 terminating (autodelete)
20:14:38 T:3896 M:4294967295 DEBUG: SECTION:UnloadDelayed(DLL: special://xbmcbin/system/ImageLib.dll)
20:14:58 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloaded http://userserve-ak.last.fm/serve/_/3051...+Promo.png to

C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd\129b45d8.png
20:15:00 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloaded http://userserve-ak.last.fm/serve/_/1890...mo3_08.png to

Edit: cut away many more pictures..

C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd\95c00f2b.png
C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd\69d7802a.jpg
20:15:20 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloaded http://userserve-ak.last.fm/serve/_/1755...rnheim.jpg to C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd\96b61ced.jpg
20:15:21 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloaded http://userserve-ak.last.fm/serve/_/1580...rnheim.jpg to C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd\caf30148.jpg
20:15:21 T:1820 M:4294967295 NOTICE: script.artistslideshow: finished downloaded images
20:15:21 T:1820 M:4294967295 NOTICE: script.artistslideshow: playback started
20:15:21 T:1820 M:4294967295 NOTICE: script.artistslideshow: cachedir = C:\Users\..\AppData\Roaming\XBMC\userdata\Thumbnails\ArtistSlideshow\75b453bd
20:15:21 T:1820 M:4294967295 NOTICE: script.artistslideshow: cached images found
20:15:21 T:1820 M:4294967295 NOTICE: script.artistslideshow: downloading images
20:15:45 T:3896 M:4294967295 DEBUG: SDLKeyboard: scancode: 0e, sym: 0008, unicode: 0008, modifier: 0
20:15:45 T:3896 M:4294967295 DEBUG: CApplication::OnKey: backspace (f008) pressed, action is ParentDir
20:15:46 T:3896 M:4294967295 DEBUG: SDLKeyboard: scancode: 0e, sym: 0008, unicode: 0008, modifier: 0
20:15:46 T:3896 M:4294967295 DEBUG: CApplication::OnKey: backspace (f008) pressed, action is ParentDir
20:15:47 T:3896 M:4294967295 DEBUG: ------ Window Init (MusicOSD.xml) ------
20:15:47 T:3896 M:4294967295 INFO: Loading skin file: MusicOSD.xml
20:15:47 T:3896 M:4294967295 DEBUG: SECTION:LoadDLL(special://xbmcbin/system/ImageLib.dll)
20:15:47 T:3896 M:4294967295 DEBUG: ------ Window Init (MusicOverlay.xml) ------
20:15:47 T:3896 M:4294967295 INFO: Loading skin file: MusicOverlay.xml
20:15:51 T:3896 M:4294967295 DEBUG: CApplication::ExecuteXBMCAction : Translating PlayerControl(Stop)
20:15:51 T:3896 M:4294967295 DEBUG: CApplication::ExecuteXBMCAction : To PlayerControl(Stop)
20:15:51 T:1848 M:4294967295 INFO: PAPlayer: End of playback reached
20:15:51 T:1848 M:4294967295 DEBUG: CAnnouncementManager - Announcement: PlaybackStopped from xbmc
20:15:51 T:1848 M:4294967295 DEBUG: GOT ANNOUNCEMENT, type: 1, from xbmc, message PlaybackStopped
20:15:51 T:1848 M:4294967295 DEBUG: PAPlayer: Thread end
20:15:51 T:1848 M:4294967295 DEBUG: Thread PAPlayer 1848 terminating
20:15:51 T:3896 M:4294967295 DEBUG: CWin32DirectSound:Big Grineinitialize: Cleaning up
20:15:51 T:2768 M:4294967295 DEBUG: Thread XFILE::CFileCache 2768 terminating
20:15:51 T:3896 M:4294967295 DEBUG: CGUIWindowManager:TonguereviousWindow: Deactivate
20:15:51 T:3896 M:4294967295 DEBUG: ------ Window Deinit (MusicOSD.xml) ------
20:15:51 T:3896 M:4294967295 DEBUG: ------ Window Deinit (MusicVisualisation.xml) ------
20:15:51 T:3896 M:4294967295 DEBUG: ------ Window Deinit (MusicOverlay.xml) ------
20:15:52 T:1820 M:4294967295 NOTICE: script.artistslideshow: no images downloaded
20:15:53 T:3896 M:4294967295 DEBUG: CGUIWindowManager:TonguereviousWindow: Activate new
20:15:53 T:3896 M:4294967295 DEBUG: ------ Window Init (MyMusicPlaylist.xml) ------
20:15:53 T:3896 M:4294967295 INFO: Loading skin file: MyMusicPlaylist.xml
20:15:53 T:3896 M:4294967295 DEBUG: CGUIMediaWindow::GetDirectory (playlistmusic://)
20:15:53 T:3896 M:4294967295 DEBUG: ParentPath = [playlistmusic://]
20:15:53 T:1832 M:4294967295 DEBUG: Thread Background Loader start, auto delete: 0
20:15:53 T:3896 M:4294967295 INFO: PARTY MODE MANAGER: Party mode disabled.
20:15:53 T:3660 M:4294967295 DEBUG: Thread CJobWorker start, auto delete: 1
20:15:53 T:1832 M:4294967295 DEBUG: Thread Background Loader 1832 terminating
20:15:53 T:268 M:4294967295 DEBUG: Thread CJobWorker start, auto delete: 1
20:15:53 T:3896 M:4294967295 DEBUG: CGUIMediaWindow::GetDirectory (playlistmusic://)
20:15:53 T:3896 M:4294967295 DEBUG: ParentPath = [playlistmusic://]
20:15:53 T:1852 M:4294967295 DEBUG: Thread Background Loader start, auto delete: 0
20:15:53 T:268 M:4294967295 DEBUG: CSaveFileStateJob:Big GrinoWork - Saving file state for audio item J:\Musikk\Anna Ternheim\Leaving On A Mayday\01-what_have_i_done.mp3
20:15:53 T:1852 M:4294967295 DEBUG: Thread Background Loader 1852 terminating
20:15:54 T:1820 M:4294967295 NOTICE: script.artistslideshow: playback started
20:15:54 T:1820 M:4294967295 NOTICE: script.artistslideshow: no music playing
20:15:54 T:1820 M:4294967295 NOTICE: script.artistslideshow: playback started
20:15:54 T:1820 M:4294967295 NOTICE: script.artistslideshow: no music playing
20:15:54 T:1820 M:4294967295 NOTICE: script.artistslideshow: playback stopped
20:15:54 T:1820 M:4294967295 NOTICE: script.artistslideshow: script stopped
20:15:54 T:1820 M:4294967295 INFO: Scriptresult: Success
20:15:54 T:1820 M:4294967295 INFO: Python script stopped
20:15:54 T:1820 M:4294967295 DEBUG: Thread Python Thread 1820 terminating
20:15:54 T:3896 M:4294967295 DEBUG: waiting for python thread 2 to stop
20:15:54 T:3896 M:4294967295 DEBUG: python thread 2 destructed
20:15:55 T:3896 M:4294967295 DEBUG: SDLKeyboard: scancode: 0e, sym: 0008, unicode: 0008, modifier: 0
[/HTML]
#20
kardesken Wrote:Update: It looks like when I'm manually skipping to next song only the first image shows. After it's finished downloading the rest it all goes black. It only happens to "new" artist (that haven't been played before).

thanx a bunch for the detailed bug report!
i was able to reproduce it.

should be fixed in beta 2:script.artistslideshow.zip
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
#21
Hi Ronie, reporting everything working like a charm ... added to cirrus extended ...
Just great ! Thanx again for sharing a long awaited and very useful feature.

Cheers
#22
Hi Ronie,

Thanks so much for this. Really awesome develpoment in the slickness of XBMC's music interface.

One request if you're still working on this, which I originally made to divingmule but I guess is most relevant to you now:

kiboy6 Wrote:Love this addon - many thanks.

Hoping it will get integrated into my favourite skin BackRow so it can start automatically when a song plays.

Two small things I was wondering about:

1. Would there be any way to only get images from last.fm above a certain size?

2. Some skins (like BackRow) allow for a slideshow of images from an "extrafanart" folder inside the artist's folder.

Would it be possible for this last.fm slideshow addon to check for locally stored extrafanart and add these images to the slideshow? *Would also be cool to add the default library fanart for the artist, via exported fanart.jpg if ness.*

I love this addon, but would still love to see all the extrafanart images i painstakingly added to many artists in my collection Smile

Thanks so much again for making this cool addon.

One other cool feature, that I'd be sad to lose from the old extrafanrt based visualisation: When an artist had no available fanart, Sharpe wrote a cool feature into Backrow that allowed you to designate a folder containing generic music "extrafanart". If this too could somehow be integrated into this new script that would be amazing.

Thanks so much again Smile
#23
Damn your fast! With beta 2 this one is solved.
Again, thanks a bunch!

siffredi Wrote:When I play a song by an artist that has not been played before, the script shows only the first downloaded image until the next song starts. More images are downloaded to the thumbnail folder but not displayed.
#24
siffredi Wrote:Damn your fast! With beta 2 this one is solved.

cool, thanx for confirming :-)
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
#25
kiboy6 Wrote:1. Would there be any way to only get images from last.fm above a certain size?

yes, the easiest way (for me) would be to reject any images below a certain filesize.
but, as divingmule mentioned, last.fm does provide heigth/width info for all images, so checking those would also be an option.

this will lead to one problem though: what if only low-res images are available for a certain artist?

kiboy6 Wrote:2. Some skins (like BackRow) allow for a slideshow of images from an "extrafanart" folder inside the artist's folder.

adding the default fanart and/or any extrafanart images, would mean i have to copy (duplicate) them over to the folder where the script downloads the last.fm images.

i'm thinking of a different approach, that could be handled by the skin instead of the script:
- 1) if extrafanart is available, show the extrafanart slideshow
- 2) if no extrafanart is available, fallback to the last.fm artist slideshow
- 3) if neither of the above return any images, display the default fanart image.

i haven't tested this myself yet, but it may be possible.
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
#26
ronie Wrote:yes, the easiest way (for me) would be to reject any images below a certain filesize.
but, as divingmule mentioned, last.fm does provide heigth/width info for all images, so checking those would also be an option.

this will lead to one problem though: what if only low-res images are available for a certain artist
I, for one would probably prefer no images to a low-res image. Or perhaps only low-re images if not a single higher res image exists?

Quote:adding the default fanart and/or any extrafanart images, would mean i have to copy (duplicate) them over to the folder where the script downloads the last.fm images.

I see. Would it be impossible to modify the script to download last.fm images into each artist's folder directly? That way all images (local fanart and last.fm images)for each artist would be in the same place.

Quote:i'm thinking of a different approach, that could be handled by the skin instead of the script:
- 1) if extrafanart is available, show the extrafanart slideshow
- 2) if no extrafanart is available, fallback to the last.fm artist slideshow
- 3) if neither of the above return any images, display the default fanart image.

i haven't tested this myself yet, but it may be possible.

Sounds good. Is there any solution you can think of at skin level which would enable pics in the slideshow from both sources (last.fm and local). If I had to chose one or the other I'd probably always chose last.fm as their pics are so numerous and are updated without my involvement. However it would be great if the two slideshows could somehow be merged.

Thanks again Ronie Smile
#27
ronie Wrote:this will lead to one problem though: what if only low-res images are available for a certain artist?

Hi Ronie, fantastic job mate... limited fan art has been my biggest gripe about xbmc since I have been using it... but PLEASE do not remove fan art below a certain size, unless of course the user can optionally create a limitation if they want. The fan art IMO is just eye candy, so I would far prefer something than nothing at all.

ronie Wrote:i'm thinking of a different approach, that could be handled by the skin instead of the script:
- 1) if extrafanart is available, show the extrafanart slideshow
- 2) if no extrafanart is available, fallback to the last.fm artist slideshow
- 3) if neither of the above return any images, display the default fanart image.

sounds like a good idea.
My thoughts are that when browsing your library, it makes sense to use art, any art, that is available locally. When browsing, you often move rapidly through lists of artists and albums, so to try and download from LastFM 10 times in a second would probably slow the system down and be unnecessary... but from what I understand it seems your script only works in full screen playback mode only anyway, so this may be a moot point?

Exciting times...
Mark.
#28
fredphoesh Wrote:My thoughts are that when browsing your library, it makes sense to use art, any art, that is available locally. When browsing, you often move rapidly through lists of artists and albums, so to try and download from LastFM 10 times in a second would probably slow the system down and be unnecessary...
and would violate the last.fm terms of service :-)
Quote:Your account may be suspended if your application is continuously making several calls per second.

fredphoesh Wrote:but from what I understand it seems your script only works in full screen playback mode only anyway, so this may be a moot point?
the script will only do anything when you're actually playing music.
it's not limited to showing the slideshow in the fullscreen window though.
the slideshow of the currently playing artist can be shown anywhere in the skin,
if a skinner decides to implement it that way.

but no, it can't be used to download artist artwork when you're just browsing your library.
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
#29
ronie Wrote:and would violate the last.fm terms of service :-)
yeah, we definitely do NOT want to annoy lastFM into messing up this gem.

ronie Wrote:the script will only do anything when you're actually playing music.
it's not limited to showing the slideshow in the fullscreen window though.
the slideshow of the currently playing artist can be shown anywhere in the skin,
if a skinner decides to implement it that way.

hmm, that isnt what happens on my system... here are 3 screen grabs, the home screen, music browsing screen, full screen view (which is the only one which has lastFM images)

Image

Image

Image


perhaps because I replaced the bright BG with a Grey.jpg?

tx
Mark.
#30
fredphoesh Wrote:hmm, that isnt what happens on my system...

heh...i have not implemented that yet in the skin.

right now, we're just testing the functionality of the script.
full skin integration will follow as soon as i feel to script is stable enough for release. :-)
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.

Logout Mark Read Team Forum Stats Members Help
[WIP] Artist Slideshow Script (looking for testers!)0