[WIP] Multi Slideshow Screensaver

  Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
tonyschuite Offline
Junior Member
Posts: 6
Joined: Feb 2012
Reputation: 0
Post: #91
Hey there!

I love this screensaver, gives me a chance to put my Art on display Smile

I do have a request though, and that is OSX style screensaver.
Basically, the screensaver chooses the number of images used (1to8), selects the images (random or sequential), calculates the best aspect ratio to create the grid (with a zoom margin) and places the images in the grid using an animation. after an interval, rinse repeat.

I really love this way of displaying the images. Your grid layout could function as the base for this new layout. I have some coding knowledge, but this is beyond my reach.
find quote
steveDEAL5 Offline
Junior Member
Posts: 3
Joined: Dec 2013
Reputation: 0
Post: #92
I'm using this on Windows and on a Pi2 - it's great. However I have noticed that portrait photos are cropped to landscape on both platforms. Seen in the table top sequence.

It would also be nice if it could display Exif comments from photos like the Google photo screen saver can. I use Picasa to enter the comments.
Can anyone give some pointers on where to fix/implement these?
find quote
Robotica Offline
Posting Freak
Posts: 1,255
Joined: Aug 2010
Reputation: 5
Post: #93
Yep, it's great.
If you add a a slideshow mode (like the normal slideshow), I can deinstall the other slideshow screensaver addon.
find quote
sphere Offline
Team-Kodi Member
Posts: 1,288
Joined: Jul 2009
Reputation: 54
Location: Germany
Post: #94

thanks for your comments.
Sadly, I have very less time at the moment. I will have a look to the aspect-ratio and maybe also osx-style requests when I have the time.


My GitHub. My Add-ons:
[Image: IOoywq0.jpg]
find quote
steveDEAL5 Offline
Junior Member
Posts: 3
Joined: Dec 2013
Reputation: 0
Post: #95

This is how I solved the aspect ratio and got the caption from a Picasa edited photo, by using IPTCinfo and PIL Python libraries to get the information I needed.

This version works on a Pi2 OSMC (Kodi)**:

1) Install IPTCinfo (pip install iptcinfo)
2) Add PIL to the addon.xml

  <import addon="xbmc.python" version="2.1.0"/>
  <import addon="script.module.pil" version="1.1.7"/>

Here's the main code. I only added it to the TableTop class because that's all I'm using. It could possibly need tidying further, but it works for me:

# open image and get dimensions and iptc info
        ar = float(self.image_aspect_ratio)
        image_url = image_url.replace("Pictures", "Pictures/")
        ar = 1
        wImg = 1280*2
        hImg = 720*2
        caption = ''
            img = Image.open(image_url)
            # Create new info object
                info = IPTCInfo(image_url)
                # Check if file had IPTC data
                if len(info.data) >= 4:
                    # Get specific attributes...
                    caption = info.data['caption/abstract']
                caption = ''

            imgSize = img.size
            wImg = imgSize[0]            #x width
            hImg = imgSize[1]            #y height
            if hImg != 0:
                ar = float(wImg) / float(hImg)
        except IOError:
            ar = 1

        width = wImg
        height = hImg
        if height >= width and height > 720:
            scale = height / 720.0
            height = int(height / scale)
            width = int(width / scale)

        if width >= height and width > 1280:
            scale = width / 1280.0
            height = int(height / scale)
            width = int(width / scale)

        width = random.randint(width/3, width)
        height = int(float(width) / ar)

        while height > 700:
            height = height - 10
            width = width - 10

        while width > 1260:
            height = height - 10
            width = width - 10

        x_position = random.randint(0, 1280 -width)
        y_position = random.randint(0, 720 - height)
        drop_height = random.randint(400, 800)
        drop_duration = drop_height * 1.5
        rotation_degrees = random.uniform(-20, 20)
        rotation_duration = drop_duration

        cmd = 'XBMC.Notification("{header}", "{message}")'.format(
        if caption:

I had to turn the Kodi notification sounds off to stop the sound when the caption was being displayed & I made the photos change every 5s to match the notification pop-up time.

I had a problem with some image paths. They are all under Pictures\ however sometimes an image_url was like this ...PicturesDSC120013.jpg...i.e. the '\' after the folder name was missing, hence I add one before doing an Image.open().

I also tried PIL's _getexif() but it did not return the field with the Picasa comment.

An enhancement would be to test if a photo was taken rotated (it's in the EXIF I believe) & correct that before displaying.... I'll save that for another day,

Hope someone finds it useful.

Steve Russell
** 3/5/15 : Works in Windows too. I had to download the IPTCinfo package, manually unzip & copy the iptcinfo.py file into the multi photo slide show's addons folder under Users/Appdata/Roaming......kodi/addons. There's probably a better/correct place to put the package, but I didn't have time to look it up.
Much better than my old Google Photo Screensaver solution - I can have the same setup across Pi & Windows platforms on the TVs around my house. I can also modify the code to do anything else.... show time, show weather, show track playing info..... good work Sphere.
(This post was last modified: 2015-05-03 10:43 by steveDEAL5.)
find quote
stigdu Offline
Posts: 77
Joined: Apr 2012
Reputation: 0
Post: #96
(2015-02-11 02:29)orangeace Wrote:  I really like this screen saver, but I just upgraded from Gotham to Helix and it gets a script error. I did a fresh install onto my FireTV (not rooted) and not to sure what the problem. any one else have this problem?

Yes, I just installed it 5 minutes ago after a recommendation elsewhere and only found this thread thanks to Googling "script error multi slideshow screensaver kodi". Smile

Script error over here too... must be something in 14.2 I'm guessing?
find quote
kingsombra Offline
Junior Member
Posts: 7
Joined: May 2015
Reputation: 0
Post: #97
Love the screen saver. I know you probably have very little time now-a-days. But just in-case sometime in the future, you feel like doing a little more coding, may I suggest adding a carousel mode like in the xscreensaver for linux? Here is a youtube which shows what it looks like. https://www.youtube.com/watch?v=IyqWkGVrFIY

Again, just a suggestion, for a possible future addition. ^^
find quote
mmmmmarc Offline
Junior Member
Posts: 1
Joined: Jun 2015
Reputation: 0
Post: #98
I got it working (took some time to understand I had to copy the folder in the zip file to the addon folder of KODI and I had to use the settings first).

Works nice. But it would be nice to be able to have longer time between slide transitions (max is 5 seconds, I would like to 10 to have it a bit slower)


(This post was last modified: 2015-06-23 12:17 by mmmmmarc.)
find quote
cf125 Offline
Posts: 87
Joined: May 2011
Reputation: 0
Post: #99
is there any reason why some of my pictures appear to be upside down even thought they aint in the file manager
find quote
Post Reply