streamdeck_client 0.4.0
streamdeck_client: ^0.4.0 copied to clipboard
Pure Dart client for the Elgato Stream Deck WebSocket protocol. Handles connection, reconnection, and event parsing.
0.4.0 #
Breaking #
- Remove the manifest models (
Manifest,ManifestAction,ManifestState,ManifestEncoder,ControllerType, etc.). They moved tostreamdeck_flutter, where the plugin layer is their only consumer. - Remove
Layout(andLayout.forDevice/fromDevice/sdPlus). Device render geometry is a rendering concern and moved tostreamdeck_flutter; device grid size is available fromDeviceData.size. - Remove
grid/gridValue(the device grid with empty-slot placeholders). It moved tostreamdeck_flutterasbuildGrid(actions, devices). The client now exposes only rawactionsanddevices.
The client is now strictly the Stream Deck protocol — connection, events, commands, and raw action/device state — with no Flutter dependency.
Added #
setImage/setFeedbacktake amimeTypeparameter (defaultimage/png) so callers can send JPEG (image/jpeg) or other formats.
0.3.1 #
Changed #
setSettingsandsetGlobalSettingsaccept any object withtoJson()in addition toMap<String, dynamic>.
0.3.0 #
Breaking #
- Remove
builderfield fromManifestActionandManifestState. - Remove
DialPressEvent— useDialDownEvent/DialUpEventinstead. getGlobalSettingsno longer takes a context parameter.
Added #
- Client factory caches instances by port — same
ConnectionInforeturns the same client. grid/gridValuestream with full device grid including empty slot placeholders.getResourcesandgetSecretsrequest/response commands.deviceDidChangeevent handling to update device info live.Layoutequality (==/hashCode).ContextPayload.resourcesfield.
Fixed #
_ScopedClient.eventsFor()falls back to scoped context._handleDisconnectno longer writes to closed subjects after dispose.setGlobalSettings/getGlobalSettingsuse plugin UUID as context.- Client cache cleanup on
dispose().
0.2.0 #
- Remove
DialPressEvent, addDialDownEvent/DialUpEvent. - Client factory caches instances by port.
getGlobalSettingsno longer requires context.- Add grid stream,
getResources,getSecrets.
0.1.1 #
- Flatten directory structure and regenerate freezed outputs.
- Format all code to 120-char line width.
0.1.0 #
- Initial release.
- WebSocket client with auto-reconnection (exponential backoff).
- Full Stream Deck protocol: all received events and sent commands.
- Freezed models for events, payloads, manifest, and device info.
- Scoped client for action-level context auto-fill.
- Device layout constants for all Stream Deck models.