I have a large photo collection with lots of metadata that I wanted the kodi slideshow screensaver to display. With lots reading, experimenting, and trial-and-error, I’ve finally got a reasonable system that shows what I was hoping for.
The main file for the slideshow screensaver is located (on windows) in \Users\%Username%\AppData\Roaming\Kodi\addons\screensaver.picture.slideshow\resources\lib and is called gui.py
If you know some python you can make all kinds of modifications to this file. Below are what I made to show information about the author, camera, and where and when the picture was taken. I get the location from the folder name as I keep all my photos in a folder with an 8‑character date at the start (YY-MM-DD) followed by the place or event name.
after line 163, added the following null values for camera and author
camera = 'unknown camera'
artist = 'unknown'
after line 173, added the following to get the camera and author from exif
if exiftags.has_key('Image Model'): camera = str(exiftags['Image Model']).decode('utf-8') if exiftags.has_key('Image Artist'): artist = str(exiftags['Image Artist']).decode('utf-8')
changed line 183 to start the process or reformatting the date
time = datetime{10:].split(':')
replaced line 187 to create a better formatted date
if date[1] == '01': date[1] = 'Jan' elif date[1] == '02': date[1] = 'Feb' elif date[1] == '03': date[1] = 'Mar' elif date[1] == '04': date[1] = 'Apr' elif date[1] == '05': date[1] = 'May' elif date[1] == '06': date[1] = 'Jun' elif date[1] == '07': date[1] = 'Jul' elif date[1] == '08': date[1] = 'Aug' elif date[1] == '09': date[1] = 'Sept' elif date[1] == '10': date[1] = 'Oct' elif date[1] == '11': date[1] = 'Nov' elif date[1] == '12': date[1] = 'Dec' datetime = date[2] + '-' + date[1] + '-' + date[0] + ' at' + time[0] + ':' + time[1]
replaced line 228 to output the new data
ROOT, FOLDER = os.path.split(os.path.dirname(img[0])) galname = FOLDER if (galname or 'x')[1].isdigit(): galname = FOLDER[9:] self.datelabel.setLabel(galname + '. Taken with ' + camera + ' on ' + datetime + '. (c) ' + artist + '.')
“Hi James I realise it has been a long while, but I just checked this on windows 11 (build 23H2)…”