diff --git a/streamdeck-plugin/README.md b/streamdeck-plugin/README.md index 134a97d..f41ca58 100644 --- a/streamdeck-plugin/README.md +++ b/streamdeck-plugin/README.md @@ -1,5 +1,32 @@ # Release notes +## Version 0.3.0.0 (2024-01-06) + +### Download + +[org.igox.busylight.v0.3.0.0.streamDeckPlugin](download/org.igox.busylight.v0.3.0.0.streamDeckPlugin) + +### Features + +- None added + +### Enhancements + +- Rework icons to comply with plugin guidelines for Elgato Marketplace +- Combine the 3 "status" actions into a single action and having the status be selected with a dropdown + +### Fixes + +- None. + +### Bugs & known limitations + +- None known at publication time. + +### Screenshot + +![v0.3.0.0 screenshot](img/v0.3.0.0.png) + ## Version 0.2.0.0 (2024-12-28) ### Download diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/brightness/brightness.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/brightness/brightness.png deleted file mode 100644 index c1f28b5..0000000 Binary files a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/brightness/brightness.png and /dev/null differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/brightness/brightness@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/brightness/brightness@2x.png deleted file mode 100644 index c1f28b5..0000000 Binary files a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/brightness/brightness@2x.png and /dev/null differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/available/available.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/available/available.png similarity index 100% rename from streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/available/available.png rename to streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/available/available.png diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/available/available@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/available/available@2x.png similarity index 100% rename from streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/available/available@2x.png rename to streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/available/available@2x.png diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/away/away.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/away/away.png similarity index 100% rename from streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/away/away.png rename to streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/away/away.png diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/away/away@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/away/away@2x.png similarity index 100% rename from streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/away/away@2x.png rename to streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/away/away@2x.png diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/busy/busy.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/busy/busy.png similarity index 100% rename from streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/busy/busy.png rename to streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/busy/busy.png diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/busy/busy@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/busy/busy@2x.png similarity index 100% rename from streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/busy/busy@2x.png rename to streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/busy/busy@2x.png diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/colored/colored.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/colored/colored.png new file mode 100644 index 0000000..280270d Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/colored/colored.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/colored/colored@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/colored/colored@2x.png new file mode 100644 index 0000000..280270d Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/colored/colored@2x.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/off/off.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/off/off.png similarity index 100% rename from streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/off/off.png rename to streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/off/off.png diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/off/off@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/off/off@2x.png similarity index 100% rename from streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/off/off@2x.png rename to streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/off/off@2x.png diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/on/on.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/on/on.png new file mode 100644 index 0000000..6b4ea24 Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/on/on.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/on/on@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/on/on@2x.png new file mode 100644 index 0000000..6b4ea24 Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/buttons/on/on@2x.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/color/color.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/color/color.png deleted file mode 100644 index 82d3f44..0000000 Binary files a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/color/color.png and /dev/null differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/color/color@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/color/color@2x.png deleted file mode 100644 index 82d3f44..0000000 Binary files a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/color/color@2x.png and /dev/null differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/brightness/brightness.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/brightness/brightness.png new file mode 100644 index 0000000..03a714b Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/brightness/brightness.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/brightness/brightness@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/brightness/brightness@2x.png new file mode 100644 index 0000000..91b2a84 Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/brightness/brightness@2x.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/color/color.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/color/color.png new file mode 100644 index 0000000..5f6bfb8 Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/color/color.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/color/color@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/color/color@2x.png new file mode 100644 index 0000000..5f6bfb8 Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/color/color@2x.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/status/status.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/status/status.png new file mode 100644 index 0000000..37e4696 Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/status/status.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/status/status@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/status/status@2x.png new file mode 100644 index 0000000..37e4696 Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/icons/status/status@2x.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/colored/colored.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/colored/colored.png deleted file mode 100644 index 82d3f44..0000000 Binary files a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/colored/colored.png and /dev/null differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/colored/colored@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/colored/colored@2x.png deleted file mode 100644 index 82d3f44..0000000 Binary files a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/actions/status/colored/colored@2x.png and /dev/null differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category-icon.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category-icon.png deleted file mode 100644 index c9faaa2..0000000 Binary files a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category-icon.png and /dev/null differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category-icon@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category-icon@2x.png deleted file mode 100644 index cae11dc..0000000 Binary files a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category-icon@2x.png and /dev/null differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category.png new file mode 100644 index 0000000..0a7bfdc Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category@2x.png new file mode 100644 index 0000000..9b95bb0 Binary files /dev/null and b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/category@2x.png differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/marketplace.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/marketplace.png deleted file mode 100644 index ca6226c..0000000 Binary files a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/marketplace.png and /dev/null differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/marketplace@2x.png b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/marketplace@2x.png deleted file mode 100644 index e1ce3bf..0000000 Binary files a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/imgs/plugin/marketplace@2x.png and /dev/null differ diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/manifest.json b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/manifest.json index 854197d..391a035 100644 --- a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/manifest.json +++ b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/manifest.json @@ -1,69 +1,21 @@ { "Name": "iGoX BusyLight", - "Version": "0.2.0.0", + "Version": "0.3.0.0", "Author": "iGoX", "$schema": "https://schemas.elgato.com/streamdeck/plugins/manifest.json", "Actions": [ { - "Name": "Set status as 'Available'", - "UUID": "org.igox.busylight.status.available", - "Icon": "imgs/actions/status/available/available", - "Tooltip": "Set status as 'Available'", + "Name": "Set BusyLight status", + "UUID": "org.igox.busylight.status.set", + "Icon": "imgs/actions/icons/status/status", + "Tooltip": "Set BusyLight status", "PropertyInspectorPath": "ui/status-config.html", "Controllers": [ "Keypad" ], "States": [ { - "Image": "imgs/actions/status/available/available", - "TitleAlignment": "bottom" - } - ] - }, - { - "Name": "Set status as 'Away'", - "UUID": "org.igox.busylight.status.away", - "Icon": "imgs/actions/status/away/away", - "Tooltip": "Set status as 'Away'", - "PropertyInspectorPath": "ui/status-config.html", - "Controllers": [ - "Keypad" - ], - "States": [ - { - "Image": "imgs/actions/status/away/away", - "TitleAlignment": "bottom" - } - ] - }, - { - "Name": "Set status as 'Busy'", - "UUID": "org.igox.busylight.status.busy", - "Icon": "imgs/actions/status/busy/busy", - "Tooltip": "Set status as 'Busy'", - "PropertyInspectorPath": "ui/status-config.html", - "Controllers": [ - "Keypad" - ], - "States": [ - { - "Image": "imgs/actions/status/busy/busy", - "TitleAlignment": "bottom" - } - ] - }, - { - "Name": "Turn off the BusyLight", - "UUID": "org.igox.busylight.status.off", - "Icon": "imgs/actions/status/off/off", - "Tooltip": "Turn off the BusyLight", - "PropertyInspectorPath": "ui/status-config.html", - "Controllers": [ - "Keypad" - ], - "States": [ - { - "Image": "imgs/actions/status/off/off", + "Image": "imgs/actions/icons/status/status", "TitleAlignment": "bottom" } ] @@ -71,7 +23,7 @@ { "Name": "Set brightness", "UUID": "org.igox.busylight.brigthness.set", - "Icon": "imgs/actions/brightness/brightness", + "Icon": "imgs/actions/icons/brightness/brightness", "Tooltip": "Set LED brightness", "PropertyInspectorPath": "ui/brightness-config.html", "Controllers": [ @@ -79,7 +31,7 @@ ], "States": [ { - "Image": "imgs/actions/brightness/brightness", + "Image": "imgs/actions/icons/brightness/brightness", "TitleAlignment": "bottom" } ] @@ -87,7 +39,7 @@ { "Name": "Set color", "UUID": "org.igox.busylight.color.set", - "Icon": "imgs/actions/color/color", + "Icon": "imgs/actions/icons/color/color", "Tooltip": "Set BusyLight displayed color", "PropertyInspectorPath": "ui/color-config.html", "Controllers": [ @@ -95,17 +47,17 @@ ], "States": [ { - "Image": "imgs/actions/color/color", + "Image": "imgs/actions/icons/color/color", "TitleAlignment": "bottom" } ] } ], "Category": "iGoX BusyLight", - "CategoryIcon": "imgs/plugin/marketplace", + "CategoryIcon": "imgs/plugin/category", "CodePath": "bin/plugin.js", "Description": "Control your DIY BusyLight (https://github.com/igox/busylight) from your Stream Deck", - "Icon": "imgs/plugin/marketplace", + "Icon": "imgs/plugin/category", "SDKVersion": 2, "Software": { "MinimumVersion": "6.4" diff --git a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/ui/status-config.html b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/ui/status-config.html index 409695d..cc2cfb2 100644 --- a/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/ui/status-config.html +++ b/streamdeck-plugin/busylight/org.igox.busylight.sdPlugin/ui/status-config.html @@ -25,5 +25,14 @@ value="getGlobalSettings()"> + + + + + + + + + \ No newline at end of file diff --git a/streamdeck-plugin/busylight/src/actions/set-status.ts b/streamdeck-plugin/busylight/src/actions/set-status.ts index bf90212..59bd9d7 100644 --- a/streamdeck-plugin/busylight/src/actions/set-status.ts +++ b/streamdeck-plugin/busylight/src/actions/set-status.ts @@ -1,31 +1,21 @@ -import streamDeck, { action, KeyDownEvent, SingletonAction } from "@elgato/streamdeck"; +import streamDeck, { action, KeyDownEvent, SingletonAction, DidReceiveSettingsEvent } from "@elgato/streamdeck"; -@action({ UUID: "org.igox.busylight.status.available" }) -export class SetStatusAvailable extends SingletonAction { - override async onKeyDown(ev: KeyDownEvent): Promise { - setStatus('available'); +@action({ UUID: "org.igox.busylight.status.set" }) +export class SetStatus extends SingletonAction { + override async onKeyDown(ev: KeyDownEvent): Promise { + const { settings } = ev.payload; + settings.status ??= 'available'; + setStatus(settings.status); } -} -@action({ UUID: "org.igox.busylight.status.busy" }) -export class SetStatusBusy extends SingletonAction { - override async onKeyDown(ev: KeyDownEvent): Promise { - setStatus('busy'); - } -} + override async onDidReceiveSettings(ev: DidReceiveSettingsEvent): Promise { + const { settings } = ev.payload; + let status = settings.status; + streamDeck.logger.debug(`>>> Config status changed to: ${status} <<<`); + + await ev.action.setImage(`imgs/actions/buttons/${status}/${status}.png`); -@action({ UUID: "org.igox.busylight.status.away" }) -export class SetStatusAway extends SingletonAction { - override async onKeyDown(ev: KeyDownEvent): Promise { - setStatus('away'); - } -} - -@action({ UUID: "org.igox.busylight.status.off" }) -export class SetStatusOff extends SingletonAction { - override async onKeyDown(ev: KeyDownEvent): Promise { - setStatus('off'); - } + } } async function setStatus(status: string) { @@ -43,4 +33,8 @@ async function setStatus(status: string) { }) .then(response => response.json()) .then(data => streamDeck.logger.debug(data)); -} \ No newline at end of file +} + +type statusSettings = { + status?: string; +}; \ No newline at end of file diff --git a/streamdeck-plugin/busylight/src/plugin.ts b/streamdeck-plugin/busylight/src/plugin.ts index a59808e..98e70d5 100644 --- a/streamdeck-plugin/busylight/src/plugin.ts +++ b/streamdeck-plugin/busylight/src/plugin.ts @@ -1,7 +1,6 @@ import streamDeck, { LogLevel, SingletonAction, action, type DidReceiveSettingsEvent } from "@elgato/streamdeck"; -//import { IncrementCounter } from "./actions/increment-counter"; -import { SetStatusAvailable, SetStatusBusy, SetStatusAway, SetStatusOff } from "./actions/set-status"; +import { SetStatus} from "./actions/set-status"; import { SetBrightness } from "./actions/set-brightness"; import { SetColor } from "./actions/set-color"; @@ -9,10 +8,7 @@ import { SetColor } from "./actions/set-color"; streamDeck.logger.setLevel(LogLevel.INFO); // Register the actions. -streamDeck.actions.registerAction(new SetStatusAvailable()); -streamDeck.actions.registerAction(new SetStatusBusy()); -streamDeck.actions.registerAction(new SetStatusAway()); -streamDeck.actions.registerAction(new SetStatusOff()); +streamDeck.actions.registerAction(new SetStatus()); streamDeck.actions.registerAction(new SetBrightness()); streamDeck.actions.registerAction(new SetColor()); diff --git a/streamdeck-plugin/download/org.igox.busylight.v0.3.0.0.streamDeckPlugin b/streamdeck-plugin/download/org.igox.busylight.v0.3.0.0.streamDeckPlugin new file mode 100644 index 0000000..8ce2639 Binary files /dev/null and b/streamdeck-plugin/download/org.igox.busylight.v0.3.0.0.streamDeckPlugin differ diff --git a/streamdeck-plugin/img/v0.1.0.0.png b/streamdeck-plugin/img/v0.1.0.0.png index dea12bc..434937b 100644 Binary files a/streamdeck-plugin/img/v0.1.0.0.png and b/streamdeck-plugin/img/v0.1.0.0.png differ diff --git a/streamdeck-plugin/img/v0.2.0.0.png b/streamdeck-plugin/img/v0.2.0.0.png index 6cca3df..3bda0c7 100644 Binary files a/streamdeck-plugin/img/v0.2.0.0.png and b/streamdeck-plugin/img/v0.2.0.0.png differ diff --git a/streamdeck-plugin/img/v0.3.0.0.png b/streamdeck-plugin/img/v0.3.0.0.png new file mode 100644 index 0000000..249e53e Binary files /dev/null and b/streamdeck-plugin/img/v0.3.0.0.png differ