streamdeck_flutter 0.3.1
streamdeck_flutter: ^0.3.1 copied to clipboard
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.jsonacross rebuilds, avoiding unnecessary double restart.
0.3.0 #
Breaking #
- Remove
builderfromManifestActionandManifestState. UseactionBuilderonStreamDeckPlugininstead. StreamDeckActiontakes a singlebuilder(WidgetBuilder) instead ofkeypadChild/encoderChild.KeypadandDialtakebuilder(WidgetBuilder) instead ofchild(Widget).StreamDeckAction.animatingdefaults tofalse.- Unified CLI:
streamdeck_flutter build/runsubcommands replace separatebuild,create,docsexecutables. --uuid/-iis required for build and run commands.--assets/-aflag removed — assets auto-discovered fromAssetManifest.bin.
Added #
actionBuilderonStreamDeckPlugin— single builder for all actions, readsStreamDeck.actionOf(context)for routing.CaptureBoundary— custom render object that notifies the raster only when pixels actually repaint.setupLogging()— automatic log setup inHeadlessBinding, writes toapp.loganddeveloper.log.runcommand: build, link, restart, attach with hot reload, tail logs..vm_servicefile 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.
contentMinSizeset on macOS window.canvas.jsonbundled 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.
setFeedbackLayoutremoved — manifest handles encoder layout.- Handle already-linked gracefully in build command.
0.2.0 #
- Remove
DialPressEventhandling, addDialDownEvent/DialUpEvent. Keypad/DialacceptWidgetBuilderinstead ofWidget.StreamDeckActiontakes singlebuilder.CustomMultiChildLayoutfor 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).