streamdeck_flutter 0.3.1 copy "streamdeck_flutter: ^0.3.1" to clipboard
streamdeck_flutter: ^0.3.1 copied to clipboard

PlatformmacOS

Build Elgato Stream Deck plugins with Flutter. Renders UI offscreen, slices frames into key-sized tiles, and pushes them via the Stream Deck WebSocket protocol.

0.3.1 #

Fixed #

  • Build command preserves manifest.json across rebuilds, avoiding unnecessary double restart.

0.3.0 #

Breaking #

  • Remove builder from ManifestAction and ManifestState. Use actionBuilder on StreamDeckPlugin instead.
  • StreamDeckAction takes a single builder (WidgetBuilder) instead of keypadChild / encoderChild.
  • Keypad and Dial take builder (WidgetBuilder) instead of child (Widget).
  • StreamDeckAction.animating defaults to false.
  • Unified CLI: streamdeck_flutter build / run subcommands replace separate build, create, docs executables.
  • --uuid / -i is required for build and run commands.
  • --assets / -a flag removed — assets auto-discovered from AssetManifest.bin.

Added #

  • actionBuilder on StreamDeckPlugin — single builder for all actions, reads StreamDeck.actionOf(context) for routing.
  • CaptureBoundary — custom render object that notifies the raster only when pixels actually repaint.
  • setupLogging() — automatic log setup in HeadlessBinding, writes to app.log and developer.log.
  • run command: build, link, restart, attach with hot reload, tail logs.
  • .vm_service file written by plugin for CLI attach discovery.
  • Bootstrap manifest on first install — plugin writes full manifest on launch.
  • Manifest skip-write when content unchanged.
  • Window resizes dynamically when devices connect/disconnect.
  • contentMinSize set on macOS window.
  • canvas.json bundled as package asset.
  • Empty placeholder actions skip raster registration.

Fixed #

  • Animation timestamp assertion with monotonic Stopwatch.
  • Skip frame pump when engine has a scheduled frame.
  • setFeedbackLayout removed — manifest handles encoder layout.
  • Handle already-linked gracefully in build command.

0.2.0 #

  • Remove DialPressEvent handling, add DialDownEvent / DialUpEvent.
  • Keypad / Dial accept WidgetBuilder instead of Widget.
  • StreamDeckAction takes single builder.
  • CustomMultiChildLayout for device grid positioning.
  • Client factory caches instances by port.

0.1.1 #

  • Flatten directory structure: move action/model files into lib/src/.
  • Consolidate analysis_options.yaml to workspace root.
  • Regenerate freezed outputs and format all code.
  • Add macOS plugin class for Flutter plugin registration.

0.1.0 #

  • Initial release.
  • Offscreen Flutter rendering with tile-based change detection.
  • Stream Deck WebSocket protocol client with auto-reconnection.
  • Keypad, encoder, and touchscreen action support.
  • Gesture injection (tap, scroll, dial) from Stream Deck events.
  • CLI tools: build, create, docs.
  • Target device: Stream Deck + (4x2 keys, 4 encoder slots).
0
likes
150
points
284
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Build Elgato Stream Deck plugins with Flutter. Renders UI offscreen, slices frames into key-sized tiles, and pushes them via the Stream Deck WebSocket protocol.

Repository (GitHub)
View/report issues

Topics

#streamdeck #elgato #macos #plugin

License

BSD-3-Clause (license)

Dependencies

args, flutter, freezed_annotation, logging, rxdart, standard_message_codec, streamdeck_client

More

Packages that depend on streamdeck_flutter

Packages that implement streamdeck_flutter