Fab4 Flickr Screen Saver Notes
From SqueezeboxWiki
The "new" Flickr screen saver should be improved in the following sections:
- allow different sources for image content
- improved algorithm for image rotation / scaling
- changed code model in order to simplify extending the code
- Easy way to edit / changes settings
Contents |
Different sources for image content
The screen saver should support various mechanisms that can be used as content sources for the displayed pictures. This could include:
- File systems (folder list, maybe even patterns to select subsets of images)
- URL lists (http and/or ftp URLs)
- web based picture list (e.g. dynamically generated)
- Flickr (existing stuff)
- other social networks like Facebook, ...
Improved algorithm for image rotation / scaling
Additional settings to influence scaling and rotation of the displayed pictures.
- device dependent rotation of picture, i.e.
- orientation of the displayed pictures are automatically aligned on mobile devices (such as Jive)
- images are not rotated on stationary devices (such as Fab4)
- display pictures in "full screen" or "always complete" mode
- full screen mode: pictures are always scaled to fill the whole screen on the device. This can be done by scaling the pictures on both axis by the same factor and cropping the pictures to the display size
- always complete mode: pictures are always shown completely by scaling both axis by the same factor and filling the empty space with a chosen background color
- full screen and complete mode: this is the combination of the two previous modes and is accomplisched by scaling the pictures with different ratios on x and y axis in order to exactly fit to the screen
Changed code model
Currently, the Flickr screen saver only consists of a single file / class. By defining a common API, the implemented image source classes can be exchanged easily.
- Every image source class is responsible for managing the list of pictures internally.
- Every image source class must implement a method called getNextPicture. A passed callback function is invoked when the image loading has been finished and the image object is ready for use.
Easier administration of settings
It should be possible to changes the various settings directly on the Fab4 device.
Additionally, there should be some easy way to exchange the URL or file lists, e.g. by editing the data on SqueezeCenter.