Skip to content

Feature request: Image loading cycle app #8

Description

@johnhtodd

I am interested in how multiple images (GIF or PNG would be ideal) could be loaded in by the kublet in timed sequence.

My preference would be to have an app that, when launched, would download a pre-specified JSON file from a static location (configured by the app? hard-coded seems... ugly.) That JSON file would then contain an array with data to describe:

  • URL of graphic
  • duration of graphic on the screen in milliseconds

There would also be a JSON object (singular) in the file that would describe how long that JSON file was valid before it would be re-loaded.

The app should not stop displaying or cycling graphics while it is checking status for new JSON file download. If there is not enough memory for new file downloads, then the graphics that were played the longest ago should be deleted and the new frames downloaded. There should be no interruption of display unless download time of all new frames exceeds total display time of all existing frames (this means interleaving the "download" loop and the "display" loop into a single loop - tricky!) and as soon as all new frames are downloaded they should start displaying immediately without any remaining old frames being displayed.

Failure of download of JSON should result with some sort of visual indicator (a red "FXXX" in one corner where XXX is the number of seconds since first failure) displayed on all graphics. Existing graphics should continue to be displayed in the event of a JSON download failure, or if it fails on the first iteration, just "FXXX" should be displayed in the corner. If JSON fails to download on first iteration, attempts should be made to re-download every 10 seconds.

Frame downloads should be "smart" and check modified-time of the remote URL if it is identical to a frame that is currently in memory. If the frame modified-time and size is identical, then it should not be downloaded. This will be a significant savings in download time for many rotating graphics such as network monitoring, camera display, or other image arrays where all frames will remain the same except for one that will change in an interval.

If an individual graphic frame fails to download on first attempt, then every time the graphic position is in line for display cycle, it should be re-attempted for download. If it fails, a red "FAILED DOWNLOAD " should be displayed for the number of seconds indicated by the JSON file where URL is the URL for the image.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions