Skip to content

1.0.0

Latest

Choose a tag to compare

@markusressel markusressel released this 07 Nov 18:53
37b8b61

The first stable release: the protocol work, uploads, slots and conversion have been in use in ha-idotmatrix and other projects for a while, and the public API is what we intend to keep.

Behavior changes

  • GIFs keep all their frames and the delay of every frame. The conversion used to cut a GIF to 64 frames and 2 s per loop by dropping frames, and gave every frame the delay of the first one, so long animations played up to 8 times too fast and a long last frame (e.g. to hold a picture) was lost. The device plays long GIFs at their original speed (tried with 336 frames, an 11 s loop). Use max_size_kb to keep uploads short.
  • max_size_kb gives up frames before colors (every 2nd, 3rd, ... frame, the animation takes as long as before): fewer colors looked clearly worse than fewer frames.
  • DigitalPictureFrame.start_slideshow() no longer installs SIGINT/SIGTERM handlers. They stopped the whole event loop and replaced the handlers of the client and of the application. The application handles signals and calls stop_slideshow(), see examples/example_digital_picture_frame.py.

New

  • Upload progress: progress= on GifModule.upload_gif_file, the image uploads, MaterialsModule.store (per file) and ConnectionManager.send_packets, called as chunks are acknowledged.
  • Terminal UI (pip install idotmatrix-api-client[tui], then idotmatrix-tui): find and remember displays, browse files with a pixel-exact preview and show them, control pages (clock, effects, text, countdown, scoreboard, brightness, power, ...) and a pixel editor.
  • image_utils.is_animated(): JPEGs with several pictures (MPO from phones) are no longer treated as animations.

Fixes and cleanup

  • Races in the tests found by running them in parallel are fixed.
  • Old TODO comments are resolved, the open device questions are in TODO.md.
  • Documentation: README rework, docs/DEVICE-PROTOCOL.md, docs/INTEGRATION.md, docs/DEVELOPMENT.md, docs/TUI.md, docs/FONTS.md.