i think the best way to start is to turn this screensaver addon into a script addon.
screensavers are pretty limited as to what you can do with them, whereas with scripts the possibilities are endless

to do so, follow these steps:
- rename the screensaver addon folder to
script.picture.slideshow
- in the addon.xml file, change the id to
script.picture.slideshow
- in the addon.xml file, change the name to
Picture Slideshow Script
- in the addon.xml file, change:
Code:
<extension point="xbmc.ui.screensaver" library="default.py"/>
to:
Code:
<extension point="xbmc.python.script" library="default.py">
<provides>executable</provides>
</extension>
when you start kodi, the addon should now be listed when you click the addons menu item on the homescreen
and you should be able to manually start the script there.
once you've verified this works, you can now can go to the addons settings to reconfigure it to your liking.
now to answer your questions....
1) you need to modify the Startup.xml file of the skin you're using.
it should contain this, and only this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<window>
<onload>RunScript(script.picture.slideshow)</onload>
</window>
that will autostart your script when kodi starts
2) it's not possible with a screensaver addon, but should be possible once you've converted it to a script (as mentioned above)
up to you to come up with the needed python code for this functionality though ;-)
3) you should be able to add additional effects here:
https://github.com/XBMC-Addons/screensav...py#L33-L42
as for the first two items on your wish list, better ask google ;-)
there are many tutorials on the interweb on how to accomplish that.
perhaps it's as easy as:
http://forum.kodi.tv/showthread.php?tid=...pid2033481
perhaps not... i don't know :-)
last wish list item, if you want to prevent the slideshow script from ever exiting,
you need to add this piece of code to the Screensaver class in gui.py:
Code:
# catch all input and igonre it
def onAction( self, action ):
pass
edit: fixed Startup.xml code