ok, did some work:
Helping script to set Properties
When defining list's static content we use (more or less)
Code:
<onclick>SetProperty(RSS.Date,$INFO[Window.Property(RSS.3.Date)])</onclick>
<onclick>SetProperty(RSS.Channel,$INFO[Window.Property(RSS.3.Channel)])</onclick>
<onclick>SetProperty(RSS.Media,$INFO[Window.Property(RSS.3.Media)])</onclick>
It won't work with multiple image really well I think so I decided to make helping script and now skinner can just use:
Code:
<onclick>XBMC.RunScript($INFO[Window.Property(SettingScript)],id=3)</onclick>
It will automaticly assign all properties RSS.id.Property to RSS.Property
Note: It's not fastest method, but it can help to get it started instead of writing 20ty 'onclick' or 'onfocus' attributes to each item in list's content - later I will do some utility to automaticly generate that
Image caching
For now it's in testing phase, to enable it You need to define additional parameter when running script:
Code:
XBMC.RunScript(script.rssclient,guiless,feed=url,[b]imagecaching=true[/b],limit=15)
It means that script will automaticly cache images from feeds to script specific directory (special://masterprofile/thumbnails/RSS/hashed_url_of_channel/hashed_url_of_item/hashed_url_of_image - maybe i'll change it a little later) and therefore we can use MultiImageControl to present all images:
Code:
<control type="multiimage">
<posx>1040</posx>
<posy>50</posy>
<width>200</width>
<height>310</height>
<visible>true</visible>
<imagepath>$INFO[Window.Property([b]RSS.MultiImagePath[/b])]</imagepath>
<timeperimage>2000</timeperimage>
<fadetime>1000</fadetime>
<pauseatend>5000</pauseatend>
<randomize>true</randomize>
<loop>yes</loop>
<aspectratio scalediffuse="false" align="left" aligny="top">keep</aspectratio>
<visible>IntegerGreaterThan(Window.Property(RSS.ImageCount),1)</visible>
</control>
I had some initial tests on this and it seems to be working (we must remember that caching images take some time so it's possible that if You will display MultiImageControl before any of items are cached then simply nothing will be there - You will have to redisplay MultiImageControl)
This also enables running xbmc's builtin slideshow
Code:
SlideShow(dir [,recursive, [not]random])
Another way to use multiple images is to use RSS.Image.1, RSS.Image.2 etc to display single images. In addition to RSS.ImageCount property it will let skinners do different layout for different amount of pictures by setting visibility condition to
Code:
<visible>StringCompare(Window.Property(RSS.ImageCount),X)</visible>
and/or
<visible>IntegerGreaterThan(Window.Property(RSS.ImageCount),X)</visible>
--EDIT:
preview:
http://www.youtube.com/watch?v=oe9OD9goC6Q multiimage control in right top corner, 4 example images below and slideshow
rss feed:
http://pipes.yahoo.com/pipes/pipe.run?_i...render=rss