The v 0.0.8 slideshow screensaver has just about all of the functions I needed/wanted, but the information is not positioned/displayed as I would like, and there is still some info missing. So, I decided to customize it myself, to get EXACTLY what I want. This was my first attempt at detailed modifications in xbmc, but I learned a lot, and it was actually kind of fun.
Things I wanted.
1) Ability to scale pictures at a fixed amount. Scaling to fullscreen does not work well for pictures in portrait orientation. You lose a huge amount from the top and bottom. So, I don't mind black bars for portrait orientation, but would like to minimize black bars for landscape.
2) I want to see the music now playing info, but I only want the artist and song tile - don't need the album art, album name or progress bars.
3) I wanted to format the date my way.
4) I don't want to see keywords. These are for programs to use, not useful for me to see.
5) I wanted to display the location the picture was taken. Many of my pictures are tagged with sub-location, city, state, and country. This is some of the most useful info to see.
6) I don't want blank lines for missing information.
7) A really picky one - I don't want the country to be displayed in the location if the country is "United States". If I know the city and state, I already know the country, and it just looks foolish to me to have the country there.
So, I started by modifying gui.py to get the information I wanted. I modified script-python-slideshow.xml to add, delete and rearrange the info on the screen the way I wanted. I moved all the picture info to the lower left (headline, description,location,keywords,date). I moved the music now playing display to the lower right. I moved the file name/folder display to the upper right.
Once I was done, I wanted to try to make all the extra stuff configurable from the settings screen. So I mucked around with settings.xml, and tying it into the code changes in gui.py.
Finally, I took the new strings I used on the settings screen, and added them to the English/strings.po file. I obviously could not add the new text to all the other million languages that the original screensaver was translated into.
Here is what I came up with.
The default settings screen:
The options for "Scale images" are None, Fixed, and Fullscreen.
The options for "Display music info ..." are None, Minimal, and Full.
The settings screen as I use it:
A few examples:
The screensaver as I want it :-) - artist and song title are on one line because tunein radio plug in shows them both in the artist field.
The screensaver with everything turned on
Showing a picture in portrait mode, if this were scaled to fullscreen, you wouldn't see the top of the tower.
It would be great if this additional function could be added into the default slideshow screensaver from Team-xbmc, but some of the additions may be too picky for that. I wouldn't mind making this available (as-is) to others, but I don't know how.