diff --git a/co.meldstudio.streamdeck.sdPlugin/README.md b/co.meldstudio.streamdeck.sdPlugin/README.md index b483613..d8cc87a 100644 --- a/co.meldstudio.streamdeck.sdPlugin/README.md +++ b/co.meldstudio.streamdeck.sdPlugin/README.md @@ -12,8 +12,11 @@ And we're not done yet! We are continually working to bring you even more capabi ## What's New -Version 0.3.0 -Now you can take screenshots for thumbnails at the touch of a button. +Version 0.4.0 +Switch between staged scenes and transition with the press of a button -- all from the StreamDeck+. +Switch between Percent and Decibel volume meters in the Adjust Volume dials. +Added Monitor key to allow users to monitor tracks from the StreamDeck. +Added mode selection for Mute, Monitor, Layer and Effects keys to switch between settings a specific state or toggling states. ## Helpful Links @@ -34,6 +37,15 @@ hi@meldstudio.co # Change History: ------------ +## 2023-12-05 (v0.4.0) +### Changes: +----------- +- Added support for switching scenes using a dial to the StreamDeck+. +- Added support for switching volume between percent and dB on the Volume control for StreamDeck+. +- Added support for monitoring an audio track for all StreamDeck devices. +- Added support for setting a specific state to set for Mute, Monitor, Layer, and Effects keys. + + ## 2023-09-01 (v0.3.0) ### Changes: ----------- diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html index 2321e7c..b80a5c1 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html +++ b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html @@ -1,25 +1,25 @@ - - - - - - co.meldstudio.streamdeck.screenshot Property Inspector - - - - -
-
- - - - - - - - - - - - + + + + + + co.meldstudio.streamdeck.screenshot Property Inspector + + + + +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js index d963884..562ffeb 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js +++ b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js @@ -1,12 +1,12 @@ -class Screenshot extends MeldStudioPlugin { - constructor() { - super("co.meldstudio.streamdeck.screenshot"); - - this.action.onKeyUp(({ action, context, device, event, payload }) => { - if ($MS.meld?.sendEvent) - $MS.meld.sendEvent("co.meldstudio.events.screenshot"); - }); - } -} - -const screenshot = new Screenshot(); +class Screenshot extends MeldStudioPlugin { + constructor() { + super("co.meldstudio.streamdeck.screenshot"); + + this.action.onKeyUp(({ action, context, device, event, payload }) => { + if ($MS.meld?.sendEvent) + $MS.meld.sendEvent("co.meldstudio.events.screenshot"); + }); + } +} + +const screenshot = new Screenshot(); diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/inspector.html index 14d4c45..bc9ad16 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/inspector.html +++ b/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/inspector.html @@ -1,40 +1,40 @@ - - - - - - co.meldstudio.streamdeck.show-scene Property Inspector - - - - -
-
-
Scene
- -
- - -
- - - - - - - - - - - - - - + + + + + + co.meldstudio.streamdeck.show-scene Property Inspector + + + + +
+
+
Scene
+ +
+ + +
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/plugin.js index 7f136d8..8901687 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/plugin.js +++ b/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/plugin.js @@ -1,45 +1,45 @@ -class ShowScene extends MeldStudioPlugin { - sceneRequested = null; - - constructor() { - super("co.meldstudio.streamdeck.show-scene"); - - this.action.onKeyUp(({ action, context, device, event, payload }) => { - const { scene } = this.getSettings(context); - if (!scene) return; - - this.sceneRequested = scene; - this.updateState(context); - - if ($MS.meld?.showScene) $MS.meld.showScene(scene); - }); - - $MS.on("sessionChanged", (session) => { - this.sceneRequested = null; - - this.forAllContexts((context, settings) => { - this.updateState(context); - }); - }); - } - - updateState(context) { - const { scene } = this.getSettings(context); - const session = $MS?.meld?.session; - - const state = (() => { - if (!scene) return 0; - if (!session || !session?.items) return 0; - - const item = session.items[scene]; - - if (!item) return 0; - if (scene == this.sceneRequested) return 1; - return item.current ? 1 : 0; - })(); - - $SD.setState(context, state); - } -} - -const showScene = new ShowScene(); +class ShowScene extends MeldStudioPlugin { + sceneRequested = null; + + constructor() { + super("co.meldstudio.streamdeck.show-scene"); + + this.action.onKeyUp(({ action, context, device, event, payload }) => { + const { scene } = this.getSettings(context); + if (!scene) return; + + this.sceneRequested = scene; + this.updateState(context); + + if ($MS.meld?.showScene) $MS.meld.showScene(scene); + }); + + $MS.on("sessionChanged", (session) => { + this.sceneRequested = null; + + this.forAllContexts((context, settings) => { + this.updateState(context); + }); + }); + } + + updateState(context) { + const { scene } = this.getSettings(context); + const session = $MS?.meld?.session; + + const state = (() => { + if (!scene) return 0; + if (!session || !session?.items) return 0; + + const item = session.items[scene]; + + if (!item) return 0; + if (scene == this.sceneRequested) return 1; + return item.current ? 1 : 0; + })(); + + $SD.setState(context, state); + } +} + +const showScene = new ShowScene(); diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-effect/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-effect/inspector.html index 09e7efd..1830f7d 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-effect/inspector.html +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-effect/inspector.html @@ -1,55 +1,65 @@ - - - - - co.meldstudio.streamdeck.toggle-effect Property Inspector - - - - -
-
-
Scene
- -
-
-
Layer
- -
-
-
Effect
- -
- - -
- - - - - - - - - - - - - - - - + + + + + co.meldstudio.streamdeck.toggle-effect Property Inspector + + + + +
+
+
Scene
+ +
+
+
Layer
+ +
+
+
Effect
+ +
+
+
Action
+ +
+ + +
+ + + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-effect/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-effect/plugin.js index 290fb81..54fdb19 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-effect/plugin.js +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-effect/plugin.js @@ -1,25 +1,53 @@ -class ToggleEffect extends MeldStudioPlugin { - constructor() { - super("co.meldstudio.streamdeck.toggle-effect"); - - this.action.onKeyUp(({ action, context, device, event, payload }) => { - const { scene, layer, effect } = this.getSettings(context); - if (!scene || !layer || !effect) return; - - if ($MS.meld?.toggleLayer) $MS.meld.toggleEffect(scene, layer, effect); - }); - - $MS.on("sessionChanged", (session) => { - this.forAllContexts((context, settings) => { - const { effect } = settings; - if (!effect) return; - if (!session.items[effect]) return $SD.setState(context, 0); - - const state = session.items[effect].enabled ? 1 : 0; - $SD.setState(context, state); - }); - }); - } -} - -const toggleEffect = new ToggleEffect(); +class ToggleEffect extends MeldStudioPlugin { + effectState = {}; + + setLocalState(context, shown) { + const state = shown ? 1 : 0; + $SD.setState(context, state); + } + + constructor() { + super("co.meldstudio.streamdeck.toggle-effect"); + + this.action.onKeyUp(({ action, context, device, event, payload }) => { + const { scene, layer, effect, action: toggle_action } = this.getSettings( + context + ); + if (!scene || !layer || !effect) return; + + if (!toggle_action || toggle_action === "toggle") { + if ($MS.meld?.toggleEffect) $MS.meld.toggleEffect(scene, layer, effect); + } else { + const action_show = toggle_action === "show"; + const state_show = this.effectState[context]; + + // show | state | action + // 1 | 0 | 1 + // 0 | 1 | 1 + // 1 | 1 | 0 + // 0 | 0 | 0 + + const shouldToggle = action_show ^ state_show; + if (!shouldToggle) this.setLocalState(context, state_show); + if (shouldToggle && $MS.meld?.toggleEffect) + $MS.meld.toggleEffect(scene, layer, effect); + } + }); + + $MS.on("sessionChanged", (session) => { + this.forAllContexts((context, settings) => { + const { effect } = settings; + if (!effect) return; + if (!session.items[effect]) return $SD.setState(context, 0); + + const enabled = session.items[effect].enabled; + this.effectState[context] = enabled; + + const state = enabled ? 1 : 0; + $SD.setState(context, state); + }); + }); + } +} + +const toggleEffect = new ToggleEffect(); diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-layer/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-layer/inspector.html index 6ae68f4..93bd9d9 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-layer/inspector.html +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-layer/inspector.html @@ -1,46 +1,56 @@ - - - - - co.meldstudio.streamdeck.toggle-layer Property Inspector - - - - -
-
-
Scene
- -
-
-
Layer
- -
- - -
- - - - - - - - - - - - - - - + + + + + co.meldstudio.streamdeck.toggle-layer Property Inspector + + + + +
+
+
Scene
+ +
+
+
Layer
+ +
+ + + +
+
Action
+ +
+
+ + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-layer/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-layer/plugin.js index ec11ee1..3346f86 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-layer/plugin.js +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-layer/plugin.js @@ -1,26 +1,51 @@ -class ToggleLayer extends MeldStudioPlugin { - constructor() { - super("co.meldstudio.streamdeck.toggle-layer"); - - this.action.onKeyUp(({ action, context, device, event, payload }) => { - const { scene, layer } = this.getSettings(context); - if (!scene || !layer) return; - - if ($MS.meld?.toggleLayer) $MS.meld.toggleLayer(scene, layer); - }); - - $MS.on("sessionChanged", (session) => { - this.forAllContexts((context, settings) => { - const { layer } = settings; - if (!layer) return; - if (!session?.items || !session?.items[layer]) - return $SD.setState(context, 0); - - const state = session.items[layer].visible ? 1 : 0; - $SD.setState(context, state); - }); - }); - } -} - -const toggleLayer = new ToggleLayer(); +class ToggleLayer extends MeldStudioPlugin { + layerState = {}; + + setLocalState(context, shown) { + const state = shown ? 1 : 0; + $SD.setState(context, state); + } + + constructor() { + super("co.meldstudio.streamdeck.toggle-layer"); + + this.action.onKeyUp(({ action, context, device, event, payload }) => { + const { scene, layer, action: toggle_action } = this.getSettings(context); + if (!scene || !layer) return; + + if (!toggle_action || toggle_action === "toggle") { + if ($MS.meld?.toggleLayer) $MS.meld.toggleLayer(scene, layer); + } else { + const action_show = toggle_action === "show"; + const state_show = this.layerState[context]; + + // show | state | action + // 1 | 0 | 1 + // 0 | 1 | 1 + // 1 | 1 | 0 + // 0 | 0 | 0 + + const shouldToggle = action_show ^ state_show; + if (!shouldToggle) this.setLocalState(context, state_show); + if (shouldToggle && $MS.meld?.toggleLayer) + $MS.meld.toggleLayer(scene, layer); + } + }); + + $MS.on("sessionChanged", (session) => { + this.forAllContexts((context, settings) => { + const { layer } = settings; + if (!layer) return; + if (!session?.items || !session?.items[layer]) + return $SD.setState(context, 0); + + const visible = session.items[layer].visible; + this.layerState[context] = visible; + + this.setLocalState(context, visible); + }); + }); + } +} + +const toggleLayer = new ToggleLayer(); diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-monitor/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-monitor/inspector.html new file mode 100644 index 0000000..c595c6c --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-monitor/inspector.html @@ -0,0 +1,50 @@ + + + + + + co.meldstudio.streamdeck.toggle-monitor Property Inspector + + + + +
+
+
Track
+ +
+
+
Action
+ +
+ + +
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-monitor/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-monitor/plugin.js new file mode 100644 index 0000000..a0a1b39 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-monitor/plugin.js @@ -0,0 +1,50 @@ +class ToggleMonitor extends MeldStudioPlugin { + cueState = {}; + + setLocalState(context, cued) { + const state = cued ? 1 : 0; + $SD.setState(context, state); + } + + constructor() { + super("co.meldstudio.streamdeck.toggle-monitor"); + + this.action.onKeyUp(({ action, context, device, event, payload }) => { + const { track, action: toggle_action } = this.getSettings(context); + if (!track) return; + + if (!toggle_action || toggle_action === "toggle") { + if ($MS.meld?.toggleMonitor) $MS.meld.toggleMonitor(track); + } else { + const action_cue = toggle_action === "cue"; + const state_cue = this.cueState[context]; + + // cue | state | action + // 1 | 0 | 1 + // 0 | 1 | 1 + // 1 | 1 | 0 + // 0 | 0 | 0 + + const shouldToggle = action_cue ^ state_cue; + if (!shouldToggle) this.setLocalState(context, state_cue); + if (shouldToggle && $MS.meld?.toggleMonitor) + $MS.meld.toggleMonitor(track); + } + }); + + $MS.on("sessionChanged", (session) => { + this.forAllContexts((context, settings) => { + const { track, action } = settings; + if (!track) return; + if (!session.items[track]) return $SD.setState(context, 0); + + const cued = session.items[track].monitoring; + this.cueState[context] = cued; + + this.setLocalState(context, cued); + }); + }); + } +} + +const toggleMonitor = new ToggleMonitor(); diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-mute/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-mute/inspector.html index 962f4b0..cb99062 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-mute/inspector.html +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-mute/inspector.html @@ -1,41 +1,50 @@ - - - - - - co.meldstudio.streamdeck.toggle-mute Property Inspector - - - - -
-
-
Track
- -
- - -
- - - - - - - - - - - - - - - + + + + + + co.meldstudio.streamdeck.toggle-mute Property Inspector + + + + +
+
+
Track
+ +
+
+
Action
+ +
+ + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-mute/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-mute/plugin.js index 69477c7..5d758fc 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-mute/plugin.js +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-mute/plugin.js @@ -1,25 +1,49 @@ -class ToggleMute extends MeldStudioPlugin { - constructor() { - super("co.meldstudio.streamdeck.toggle-mute"); - - this.action.onKeyUp(({ action, context, device, event, payload }) => { - const { track } = this.getSettings(context); - if (!track) return; - - if ($MS.meld?.toggleMute) $MS.meld.toggleMute(track); - }); - - $MS.on("sessionChanged", (session) => { - this.forAllContexts((context, settings) => { - const { track } = settings; - if (!track) return; - if (!session.items[track]) return $SD.setState(context, 1); - - const state = session.items[track].muted ? 0 : 1; - $SD.setState(context, state); - }); - }); - } -} - -const toggleMate = new ToggleMute(); +class ToggleMute extends MeldStudioPlugin { + muteState = {} + + setLocalState(context, muted) { + const state = muted ? 0 : 1; + $SD.setState(context, state); + } + + constructor() { + super("co.meldstudio.streamdeck.toggle-mute"); + + this.action.onKeyUp(({ action, context, device, event, payload }) => { + const { track, action: toggle_action } = this.getSettings(context); + if (!track) return; + + if (!toggle_action || toggle_action === "toggle") { + if ($MS.meld?.toggleMute) $MS.meld.toggleMute(track); + } else { + const action_mute = toggle_action === "mute"; + const state_mute = this.muteState[context]; + + // mute | state | action + // 1 | 0 | 1 + // 0 | 1 | 1 + // 1 | 1 | 0 + // 0 | 0 | 0 + + const shouldToggle = action_mute ^ state_mute; + if (!shouldToggle) this.setLocalState(context, state_mute); + if (shouldToggle && $MS.meld?.toggleMute) $MS.meld.toggleMute(track); + } + }); + + $MS.on("sessionChanged", (session) => { + this.forAllContexts((context, settings) => { + const { track, action } = settings; + if (!track) return; + if (!session.items[track]) return $SD.setState(context, 1); + + const muted = session.items[track].muted; + this.muteState[context] = muted; + + this.setLocalState(context, muted); + }); + }); + } +} + +const toggleMute = new ToggleMute(); diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-record/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-record/inspector.html index 85b5d20..3410fdd 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-record/inspector.html +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-record/inspector.html @@ -1,28 +1,28 @@ - - - - - - co.meldstudio.streamdeck.toggle-record Property Inspector - - - - -
- -
- - - - - - - - - - - - + + + + + + co.meldstudio.streamdeck.toggle-record Property Inspector + + + + +
+ +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-record/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-record/plugin.js index 0cabc06..336c61b 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-record/plugin.js +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-record/plugin.js @@ -1,18 +1,18 @@ -class ToggleRecording extends MeldStudioPlugin { - constructor() { - super("co.meldstudio.streamdeck.toggle-record"); - - this.action.onKeyUp(({ action, context, device, event, payload }) => { - if ($MS.meld?.toggleRecord) $MS.meld.toggleRecord(); - }); - - $MS.on("isRecordingChanged", (recording) => { - const state = recording ? 1 : 0; - this.forAllContexts((context) => { - $SD.setState(context, state); - }); - }); - } -} - -const toggleRecord = new ToggleRecording(); +class ToggleRecording extends MeldStudioPlugin { + constructor() { + super("co.meldstudio.streamdeck.toggle-record"); + + this.action.onKeyUp(({ action, context, device, event, payload }) => { + if ($MS.meld?.toggleRecord) $MS.meld.toggleRecord(); + }); + + $MS.on("isRecordingChanged", (recording) => { + const state = recording ? 1 : 0; + this.forAllContexts((context) => { + $SD.setState(context, state); + }); + }); + } +} + +const toggleRecord = new ToggleRecording(); diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-stream/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-stream/inspector.html index 87d825b..73d13d2 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-stream/inspector.html +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-stream/inspector.html @@ -1,28 +1,28 @@ - - - - - - co.meldstudio.streamdeck.toggle-stream Property Inspector - - - - -
- -
- - - - - - - - - - - - + + + + + + co.meldstudio.streamdeck.toggle-stream Property Inspector + + + + +
+ +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-stream/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-stream/plugin.js index dcbb10f..5b64c2e 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/toggle-stream/plugin.js +++ b/co.meldstudio.streamdeck.sdPlugin/actions/toggle-stream/plugin.js @@ -1,18 +1,18 @@ -class ToggleStreaming extends MeldStudioPlugin { - constructor() { - super("co.meldstudio.streamdeck.toggle-stream"); - - this.action.onKeyUp(({ action, context, device, event, payload }) => { - if ($MS.meld?.toggleStream) $MS.meld.toggleStream(); - }); - - $MS.on("isStreamingChanged", (streaming) => { - const state = streaming ? 1 : 0; - this.forAllContexts((context) => { - $SD.setState(context, state); - }); - }); - } -} - -const toggleStreaming = new ToggleStreaming(); +class ToggleStreaming extends MeldStudioPlugin { + constructor() { + super("co.meldstudio.streamdeck.toggle-stream"); + + this.action.onKeyUp(({ action, context, device, event, payload }) => { + if ($MS.meld?.toggleStream) $MS.meld.toggleStream(); + }); + + $MS.on("isStreamingChanged", (streaming) => { + const state = streaming ? 1 : 0; + this.forAllContexts((context) => { + $SD.setState(context, state); + }); + }); + } +} + +const toggleStreaming = new ToggleStreaming(); diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/transition-stepper/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/transition-stepper/inspector.html new file mode 100644 index 0000000..67160a2 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/actions/transition-stepper/inspector.html @@ -0,0 +1,33 @@ + + + + + + co.meldstudio.streamdeck.transition-stepper Property Inspector + + + + +
+
TransitionStepper
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/transition-stepper/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/transition-stepper/plugin.js new file mode 100644 index 0000000..bab5439 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/actions/transition-stepper/plugin.js @@ -0,0 +1,75 @@ +class TransitionStepper extends MeldStudioPlugin { + stagedScene = -1; + availableScenes = []; + + constructor() { + super("co.meldstudio.streamdeck.transition-stepper"); + + this.action.onDialRotate(({ context, payload }) => { + if (this.availableScenes.length === 0) + return; + + const nextScene = () => { + this.stagedScene = (this.stagedScene + payload.ticks) % this.availableScenes.length; + if (this.stagedScene < 0) this.stagedScene += this.availableScenes.length; + return this.availableScenes[this.stagedScene]; + }; + + let item = nextScene(); + if (!item) + item = nextScene(); + + if ($MS.meld?.setStagedScene) $MS.meld?.setStagedScene(item.id); + }); + + this.action.onDialPress(({ action, context, device, event, payload }) => { + if (!payload.pressed) return; + if (this.stagedScene === -1) return; + if ($MS.meld?.showStagedScene) $MS.meld.showStagedScene(); + }); + + this.action.onTouchTap(({ action, context, device, event, payload }) => { + if (!payload.hold) return; + if (this.stagedScene === -1) return; + if ($MS.meld?.showStagedScene) $MS.meld.showStagedScene(); + }); + + $MS.on("sessionChanged", (session) => { + this.availableScenes = []; + + for(let key in session?.items) { + const item = session?.items[key]; + + if (item?.type !== "scene") continue; + + if (item?.staged) + this.stagedScene = item.index; + + if (!item?.current) + this.availableScenes[item.index] = { name: item.name, id: key }; + } + + if (this.stagedScene !== -1) { + const item = this.availableScenes[this.stagedScene]; + this.forAllContexts((context) => this.setSceneName(context, item?.name)); + } + }); + } + + setSceneName(context, name) { + $SD.setFeedback(context, { + icon: "assets/Scene Transition Control/Action Icon/sceneTransition", + title: name ?? "Nothing Staged", + }); + } + + getNameForScene(sceneId) { + const defaultName = "No Selection"; + if (!$MS?.meld?.session?.items) return defaultName; + + const name = $MS.meld.session.items[sceneId]?.name; + return name ? name : defaultName; + } +} + +const transitionStepper = new TransitionStepper(); diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/volume-stepper/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/volume-stepper/inspector.html index 0e5d504..e43ee89 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/volume-stepper/inspector.html +++ b/co.meldstudio.streamdeck.sdPlugin/actions/volume-stepper/inspector.html @@ -1,46 +1,55 @@ - - - - - - co.meldstudio.streamdeck.volume-stepper Property Inspector - - - - -
-
-
Track
- -
-
-
Step Size
- -
- - -
- - - - - - - - - - - - - - - + + + + + + co.meldstudio.streamdeck.volume-stepper Property Inspector + + + + +
+
+
Track
+ +
+
+
StepSize
+ +
+ +
+
Meter
+ +
+ + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/volume-stepper/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/volume-stepper/plugin.js index 7ddbdaf..374a536 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/volume-stepper/plugin.js +++ b/co.meldstudio.streamdeck.sdPlugin/actions/volume-stepper/plugin.js @@ -1,195 +1,269 @@ -class VolumeStepper extends MeldStudioPlugin { - trackInfo = {}; - unregisterCallbacks = {}; - - constructor() { - super("co.meldstudio.streamdeck.volume-stepper"); - - this.action.onKeyUp(({ action, context, device, event, payload }) => { - const { track } = this.getSettings(context); - if (!track) return; - - if ($MS.meld?.toggleMute) $MS.meld.toggleMute(track); - }); - - this.action.onDialRotate(({ context, payload }) => { - const { track, stepsize: stepString } = this.getSettings(context); - const stepsize = 0.01 * parseFloat(stepString); - const info = this.trackInfo[track]; - - if (!track) return; - - let gain = +stepsize * payload.ticks + (info?.gain ?? 0.0); - gain = gain < 0 ? 0 : gain; - gain = gain > 1 ? 1 : gain; - - // Store the new gain until the callback fires. - this.trackInfo[track] = { ...info, gain }; - - if ($MS.meld?.setGain) $MS.meld?.setGain(track, gain); - }); - - this.action.onDialPress(({ action, context, device, event, payload }) => { - if (!payload.pressed) return; - - const { track } = this.getSettings(context); - if (!track) return; - - if ($MS.meld?.toggleMute) $MS.meld.toggleMute(track); - }); - - this.action.onTouchTap(({ action, context, device, event, payload }) => { - if (payload.hold) return; - - const { tapPos } = payload; - const { track } = this.getSettings(context); - if (!track) return; - - // Indicator starts at x=76 and is 108 pixels wide. - if (tapPos[0] > 80) { - if (tapPos[0] > 180) return; - - const info = this.trackInfo[track]; - const gain = (tapPos[0] - 80) / 100; - - // Store the new gain until the callback fires. - this.trackInfo[track] = { ...info, gain }; - - if ($MS.meld?.setGain) $MS.meld?.setGain(track, gain); - } else { - if ($MS.meld?.toggleMute) $MS.meld.toggleMute(track); - } - }); - - this.action.onDidReceiveSettings(({ context, payload }) => { - this.setSettings(context, payload?.settings ?? {}); - - if ($MS.ready) { - this.onReady(context, payload?.settings); - } else { - // If we lose connection, we may need to reinitialize. - $MS.on("ready", () => { - this.onReady(context, payload?.settings); - }); - - this.setGainAndMute(context, { - gain: 0.0, - muted: true, - }); - } - }); - - $MS.on("sessionChanged", (session) => { - this.forAllContexts((context, { track }) => { - if (!track) return; - if (!session?.items) return; - if (!session?.items[track]) return; - - const { name, muted } = session.items[track]; - const state = muted ? 0 : 1; - - this.trackInfo[track] = { ...this.trackInfo[track], name, muted }; - - this.setGainAndMute(context, this.trackInfo[track]); - }); - }); - - $MS.on("gainChanged", ({ trackId, gain, muted }) => { - let info = this.trackInfo[trackId]; - info = { ...info, gain, muted }; - this.trackInfo[trackId] = info; - - this.forAllContexts((context, { track }) => { - if (!track || trackId != track) return; - this.setGainAndMute(context, info); - }); - }); - - $MS.on("closed", () => { - // reset all registrations. - this.unregisterCallbacks = {}; - }); - } - - setGainAndMute(context, { gain, muted, name }) { - // meter colors - - // green: #6DDE92 - // orange: #FB923C - // red: #F04A4A - - const info = (() => { - if (!muted) { - if (gain > 0.4) return { icon: "assets/iconAudioTrack" }; - if (gain > 0.0) return { icon: "assets/audioUnmuted40" }; - } - return { icon: "assets/audioMute" }; - })(); - - $SD.setFeedback(context, { - ...info, - title: name ?? "Adjust Volume", - value: `${parseInt(gain * 100)}%`, - indicator: { - value: gain * 100, - enabled: true, - bar_bg_c: muted ? "0:#666666,1:#666666" : "0:#6DDE92,1:#6DDE92", - }, - }); - } - - register(context, track) { - console.assert($MS.meld); - - const callbackInfo = this.unregisterCallbacks[context]; - // Only register once. - if (callbackInfo?.track === track) return; - - this.maybeUnregister(context, track); - $MS.meld.registerTrackObserver(context, track); - - this.unregisterCallbacks[context] = { - callback: () => { - if ($MS.meld) $MS.meld.unregisterTrackObserver(context, track); - }, - track, - }; - } - - maybeUnregister(context) { - const callbackInfo = this.unregisterCallbacks[context]; - if (!callbackInfo) return; - - callbackInfo.callback(); - this.unregisterCallbacks[context] = undefined; - } - - getNameForTrack(track) { - const defaultName = "Adjust Volume"; - if (!$MS?.meld?.session?.items) return defaultName; - - const name = $MS.meld.session.items[track]?.name; - return name ? name : defaultName; - } - - connectGain(context, track) { - this.trackInfo[track] = { - gain: 0.0, - muted: false, - name: this.getNameForTrack(track), - }; - - this.setGainAndMute(context, this.trackInfo[track]); - this.register(context, track); - - this.action.onWillDisappear(({ context }) => { - this.maybeUnregister(context); - }); - } - - onReady(context, { track }) { - console.assert($MS.ready); - if (this.isEncoder(context)) this.connectGain(context, track); - } -} - -const volumeStepper = new VolumeStepper(); +function toDb(gain) { + let dB = 20 * Math.log10(gain); + if (!isFinite(dB)) { + dB = -60; + } + return dB; +} + +function toGain(dB) { + if (!isFinite(dB) || dB < -60) dB = -60; + let gain = Math.pow(10, dB / 20); + + gain = gain <= 0.001 ? 0 : gain; + gain = gain > 1 ? 1 : gain; + return gain; +} + +class VolumeStepper extends MeldStudioPlugin { + trackInfo = {}; + unregisterCallbacks = {}; + + constructor() { + super("co.meldstudio.streamdeck.volume-stepper"); + + this.action.onKeyUp(({ action, context, device, event, payload }) => { + const { track } = this.getSettings(context); + if (!track) return; + + if ($MS.meld?.toggleMute) $MS.meld.toggleMute(track); + }); + + this.action.onDialRotate(({ context, payload }) => { + const { track, stepsize: stepString, metertype } = this.getSettings( + context + ); + let use_percent = metertype === "percent"; + + const stepsize = parseFloat(stepString); + const info = this.trackInfo[track]; + + if (!track) return; + + let offset = +stepsize * payload.ticks; + let gain = info?.gain ?? 0.0; + + if (use_percent) { + gain += 0.01 * offset; // scale to percent... + gain = Math.min(gain, 1.0); + gain = Math.max(gain, 0.0); + } else { + let dB = toDb(gain); + dB += offset; + gain = toGain(dB); + } + + // Store the new gain until the callback fires. + this.trackInfo[track] = { ...info, gain }; + + if ($MS.meld?.setGain) $MS.meld?.setGain(track, gain); + }); + + this.action.onDialPress(({ action, context, device, event, payload }) => { + if (!payload.pressed) return; + + const { track } = this.getSettings(context); + if (!track) return; + + if ($MS.meld?.toggleMute) $MS.meld.toggleMute(track); + }); + + this.action.onTouchTap(({ action, context, device, event, payload }) => { + if (payload.hold) return; + + const { tapPos } = payload; + const { track } = this.getSettings(context); + if (!track) return; + + // Indicator starts at x=76 and is 108 pixels wide. + if (tapPos[0] > 80) { + if (tapPos[0] > 180) return; + + const info = this.trackInfo[track]; + const gain = (tapPos[0] - 80) / 100; + + // Store the new gain until the callback fires. + this.trackInfo[track] = { ...info, gain }; + + if ($MS.meld?.setGain) $MS.meld?.setGain(track, gain); + } else { + if ($MS.meld?.toggleMonitor) $MS.meld.toggleMonitor(track); + } + }); + + this.action.onWillAppear(({ context, payload }) => { + $SD.setFeedback(context, { + icon: + "assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioTrack", + title: "", + value: "", + indicator: { + value: 0, + enabled: true, + bar_bg_c: "0:#666666,1:#666666", + }, + }); + }); + + this.action.onDidReceiveSettings(({ context, payload }) => { + this.setSettings(context, payload?.settings ?? {}); + + if ($MS.ready) { + this.onReady(context, payload?.settings); + } else { + // If we lose connection, we may need to reinitialize. + $MS.on("ready", () => { + this.onReady(context, payload?.settings); + }); + + this.setGainAndMute(context, payload.settings.metertype, { + gain: 0.0, + muted: true, + monitoring: false, + }); + } + }); + + $MS.on("sessionChanged", (session) => { + this.forAllContexts((context, { track, metertype }) => { + if (!track) return; + if (!session?.items) return; + if (!session?.items[track]) return; + + const { name, muted, monitoring } = session.items[track]; + + this.trackInfo[track] = { + ...this.trackInfo[track], + name, + muted, + monitoring, + }; + + this.setGainAndMute(context, metertype, this.trackInfo[track]); + }); + }); + + $MS.on("gainChanged", ({ trackId, gain, muted }) => { + let info = this.trackInfo[trackId]; + info = { ...info, gain, muted }; + this.trackInfo[trackId] = info; + + this.forAllContexts((context, { track, metertype }) => { + if (!track || trackId != track) return; + this.setGainAndMute(context, metertype, info); + }); + }); + + $MS.on("closed", () => { + // reset all registrations. + this.unregisterCallbacks = {}; + }); + } + + setGainAndMute(context, metertype, { gain, muted, name, monitoring }) { + // meter colors - + // green: #6DDE92 + // orange: #FB923C + // red: #F04A4A + + let use_percent = metertype === "percent"; + let volume; + let bar_colors; + let bar_value; + + if (use_percent) { + volume = `${parseInt(gain * 100)}%`; + bar_value = gain; + } else { + const dB = toDb(gain); + volume = dB === -60 ? "-∞ dB" : `${parseInt(Math.round(dB))} dB`; + bar_value = (dB + 60) / 60; + } + + const info = (() => { + if (!muted) { + if (gain > 0.4) + return { + icon: + "assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioTrack", + }; + if (gain > 0.0) + return { + icon: + "assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioUnmuted40", + }; + } + return { + icon: + "assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioMute", + }; + })(); + + $SD.setFeedback(context, { + ...info, + title: name ?? "Adjust Volume", + value: volume, + indicator: { + value: bar_value * 100, + enabled: true, + bar_bg_c: muted ? "0:#666666,1:#666666" : "0:#6DDE92,1:#6DDE92", + }, + }); + } + + register(context, track) { + console.assert($MS.meld); + + const callbackInfo = this.unregisterCallbacks[context]; + // Only register once. + if (callbackInfo?.track === track) return; + + this.maybeUnregister(context, track); + $MS.meld.registerTrackObserver(context, track); + + this.unregisterCallbacks[context] = { + callback: () => { + if ($MS.meld) $MS.meld.unregisterTrackObserver(context, track); + }, + track, + }; + } + + maybeUnregister(context) { + const callbackInfo = this.unregisterCallbacks[context]; + if (!callbackInfo) return; + + callbackInfo.callback(); + this.unregisterCallbacks[context] = undefined; + } + + getNameForTrack(track) { + const defaultName = "Adjust Volume"; + if (!$MS?.meld?.session?.items) return defaultName; + + const name = $MS.meld.session.items[track]?.name; + return name ? name : defaultName; + } + + connectGain(context, metertype, track) { + this.trackInfo[track] = { + gain: 0.0, + muted: false, + name: this.getNameForTrack(track), + }; + + this.setGainAndMute(context, metertype, this.trackInfo[track]); + this.register(context, track); + + this.action.onWillDisappear(({ context }) => { + this.maybeUnregister(context); + }); + } + + onReady(context, { track, metertype }) { + console.assert($MS.ready); + if (this.isEncoder(context)) this.connectGain(context, metertype, track); + } +} + +const volumeStepper = new VolumeStepper(); diff --git a/co.meldstudio.streamdeck.sdPlugin/app.html b/co.meldstudio.streamdeck.sdPlugin/app.html index 03583dc..28aa6ef 100644 --- a/co.meldstudio.streamdeck.sdPlugin/app.html +++ b/co.meldstudio.streamdeck.sdPlugin/app.html @@ -1,39 +1,41 @@ - - - - - co.meldstudio.streamdeck - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + co.meldstudio.streamdeck + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/app.js b/co.meldstudio.streamdeck.sdPlugin/app.js index 6dfe150..9ed64ab 100644 --- a/co.meldstudio.streamdeck.sdPlugin/app.js +++ b/co.meldstudio.streamdeck.sdPlugin/app.js @@ -1,22 +1,22 @@ -let settingsCache = {}; - -/** - * The first event fired when Stream Deck starts - */ -$SD.onConnected( - ({ actionInfo, appInfo, connection, messageType, port, uuid }) => { - console.log("Stream Deck connected!"); - } -); - -$MS.on("connected", () => { - console.log("Connect Callback."); -}); - -$MS.on("ready", () => { - console.log("Session Ready."); -}); - -$MS.on("closed", () => { - console.log("Closed Callback."); +let settingsCache = {}; + +/** + * The first event fired when Stream Deck starts + */ +$SD.onConnected( + ({ actionInfo, appInfo, connection, messageType, port, uuid }) => { + console.log("Stream Deck connected!"); + } +); + +$MS.on("connected", () => { + console.log("Connect Callback."); +}); + +$MS.on("ready", () => { + console.log("Session Ready."); +}); + +$MS.on("closed", () => { + console.log("Closed Callback."); }); \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/AppIcon/meldstudio-288px.png b/co.meldstudio.streamdeck.sdPlugin/assets/AppIcon/meldstudio-288px.png new file mode 100644 index 0000000..cb8a485 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/AppIcon/meldstudio-288px.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/AppIcon/meldstudio.png b/co.meldstudio.streamdeck.sdPlugin/assets/AppIcon/meldstudio.png new file mode 100644 index 0000000..93c9c9c Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/AppIcon/meldstudio.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/AppIcon/meldstudio@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/AppIcon/meldstudio@2x.png new file mode 100644 index 0000000..975338f Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/AppIcon/meldstudio@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/audioMute.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioMute.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/audioMute.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioMute.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconAudioTrack.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioTrack.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconAudioTrack.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioTrack.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconAudioTrack@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioTrack@2x.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconAudioTrack@2x.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioTrack@2x.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/audioUnmuted40.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioUnmuted40.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/audioUnmuted40.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioUnmuted40.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/audioUnmuted40@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioUnmuted40@2x.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/audioUnmuted40@2x.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioUnmuted40@2x.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/audio-unmuted.gif b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/audio-unmuted.gif new file mode 100644 index 0000000..0576074 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/audio-unmuted.gif differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/audio-unmuted@2x.gif b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/audio-unmuted@2x.gif new file mode 100644 index 0000000..6e76b9f Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/audio-unmuted@2x.gif differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/mutedTrack.png b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/mutedTrack.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/mutedTrack.png rename to co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/mutedTrack.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/mutedTrack@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/mutedTrack@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/mutedTrack@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/mutedTrack@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/unmuteTrack.png b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/unmuteTrack.png new file mode 100644 index 0000000..a3fcee4 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/unmuteTrack.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/unmuteTrack@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/unmuteTrack@2x.png new file mode 100644 index 0000000..9bd5be7 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/Mute_Unmute Audio Track/Key Icons/unmuteTrack@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/audio-unmuted.psd b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/audio-unmuted.psd new file mode 100644 index 0000000..981deee Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Audio Track/audio-unmuted.psd differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio.png b/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio.png new file mode 100644 index 0000000..292d0ff Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio.svg new file mode 100644 index 0000000..3a6ddc9 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio@2x.png new file mode 100644 index 0000000..818a16d Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio@2x.svg new file mode 100644 index 0000000..a10b648 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/Category Icon/Meld Studio@2x.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio.png b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio.png new file mode 100644 index 0000000..6d32a9d Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio.svg new file mode 100644 index 0000000..5ac3c6e --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio.svg @@ -0,0 +1,4 @@ + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio@2x.png new file mode 100644 index 0000000..24f7b83 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio@2x.svg new file mode 100644 index 0000000..472420e --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/action icon/cueAudio@2x.svg @@ -0,0 +1,4 @@ + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOff.png b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOff.png new file mode 100644 index 0000000..ee264dd Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOff.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOff@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOff@2x.png new file mode 100644 index 0000000..eeaf82e Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOff@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOn.png b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOn.png new file mode 100644 index 0000000..4831d11 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOn.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOn@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOn@2x.png new file mode 100644 index 0000000..a44006e Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Cue/key icon/cueOn@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconEffectVisibility.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Effects/Action Icon/iconEffectVisibility.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconEffectVisibility.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Effects/Action Icon/iconEffectVisibility.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconEffectVisibility@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Effects/Action Icon/iconEffectVisibility@2x.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconEffectVisibility@2x.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Effects/Action Icon/iconEffectVisibility@2x.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/hideEffect.png b/co.meldstudio.streamdeck.sdPlugin/assets/Effects/Key Icons/hideEffect.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/hideEffect.png rename to co.meldstudio.streamdeck.sdPlugin/assets/Effects/Key Icons/hideEffect.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/hideEffect@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Effects/Key Icons/hideEffect@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/hideEffect@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/Effects/Key Icons/hideEffect@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Effects/Key Icons/showEffect.png b/co.meldstudio.streamdeck.sdPlugin/assets/Effects/Key Icons/showEffect.png new file mode 100644 index 0000000..fac74bb Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Effects/Key Icons/showEffect.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Effects/Key Icons/showEffect@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Effects/Key Icons/showEffect@2x.png new file mode 100644 index 0000000..44cf792 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Effects/Key Icons/showEffect@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconGoLive.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Action Icons/goLive.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconGoLive.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Action Icons/goLive.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconGoLive@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Action Icons/goLive@2x.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconGoLive@2x.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Action Icons/goLive@2x.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goLive.png b/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goLive.png new file mode 100644 index 0000000..f9bfa26 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goLive.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goLive@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goLive@2x.png new file mode 100644 index 0000000..4e52187 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goLive@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goOffiline.png b/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goOffiline.png new file mode 100644 index 0000000..d0f7419 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goOffiline.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goOffiline@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goOffiline@2x.png new file mode 100644 index 0000000..311f178 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Go live/Go live/Key Icons/goOffiline@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconLayerVisibility.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Action Icon/iconLayerVisibility.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconLayerVisibility.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Action Icon/iconLayerVisibility.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconLayerVisibility@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Action Icon/iconLayerVisibility@2x.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconLayerVisibility@2x.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Action Icon/iconLayerVisibility@2x.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/hideLayer.png b/co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Key Icon/layerHide.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/hideLayer.png rename to co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Key Icon/layerHide.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/hideLayer@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Key Icon/layerHide@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/hideLayer@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Key Icon/layerHide@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Key Icon/layerShow.png b/co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Key Icon/layerShow.png new file mode 100644 index 0000000..333b2b6 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Key Icon/layerShow.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Key Icon/layerShow@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Key Icon/layerShow@2x.png new file mode 100644 index 0000000..a2b8c80 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Layers/Layer Visibility/Key Icon/layerShow@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconRecord.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Action Icon/iconRecord.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconRecord.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Action Icon/iconRecord.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconRecord@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Action Icon/iconRecord@2x.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconRecord@2x.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Action Icon/iconRecord@2x.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/startRecord.png b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/startRecord.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/startRecord.png rename to co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/startRecord.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/startRecord@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/startRecord@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/startRecord@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/startRecord@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord.gif b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord.gif new file mode 100644 index 0000000..55c5035 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord.gif differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord.png b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord.png new file mode 100644 index 0000000..293322d Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord@2x.gif b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord@2x.gif new file mode 100644 index 0000000..35ddc62 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord@2x.gif differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord@2x.png new file mode 100644 index 0000000..c4e565b Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Record/Start_Stop Record/Key Icon/stopRecord@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/Action Icon/sceneTransition.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/Action Icon/sceneTransition.svg new file mode 100644 index 0000000..7afc414 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/Action Icon/sceneTransition.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/Action Icon/sceneTransition@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/Action Icon/sceneTransition@2x.svg new file mode 100644 index 0000000..9d7d148 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/Action Icon/sceneTransition@2x.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition.png b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition.png new file mode 100644 index 0000000..111ab12 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition.svg new file mode 100644 index 0000000..1355741 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition@2x.png new file mode 100644 index 0000000..99b9708 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition@2x.svg new file mode 100644 index 0000000..285a124 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransition@2x.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransitionBlue.png b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransitionBlue.png new file mode 100644 index 0000000..b7131f5 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransitionBlue.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransitionBlue@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransitionBlue@2x.png new file mode 100644 index 0000000..2b75998 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Scene Transition Control/SD Slot/sceneTransitionBlue@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Animation/scene-gif-key-icon.psd b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Animation/scene-gif-key-icon.psd new file mode 100644 index 0000000..b8e5d1c Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Animation/scene-gif-key-icon.psd differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconScene.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Action Icon/iconScene.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconScene.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Action Icon/iconScene.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconScene@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Action Icon/iconScene@2x.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconScene@2x.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Action Icon/iconScene@2x.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/sceneOff.png b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOff.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/sceneOff.png rename to co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOff.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/sceneOff@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOff@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/sceneOff@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOff@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn.gif b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn.gif new file mode 100644 index 0000000..5d67376 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn.gif differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn.png b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn.png new file mode 100644 index 0000000..1db6e7e Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn@2x.gif b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn@2x.gif new file mode 100644 index 0000000..f9471c3 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn@2x.gif differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn@2x.png new file mode 100644 index 0000000..0133028 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Scenes/Change to Scene/Key Icon/sceneOn@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Screenshot/iconScreenshot.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Screenshot/iconScreenshot.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/Screenshot/iconScreenshot@2x.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot@2x.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/Screenshot/iconScreenshot@2x.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Screenshot/screenshot.png b/co.meldstudio.streamdeck.sdPlugin/assets/Screenshot/screenshot.png new file mode 100644 index 0000000..825c347 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Screenshot/screenshot.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Screenshot/screenshot@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/Screenshot/screenshot@2x.png new file mode 100644 index 0000000..7b83da3 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Screenshot/screenshot@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Touch strip bgs/Touch Strip blue.png b/co.meldstudio.streamdeck.sdPlugin/assets/Touch strip bgs/Touch Strip blue.png new file mode 100644 index 0000000..156d8d3 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Touch strip bgs/Touch Strip blue.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Touch strip bgs/Touch Strip purple.png b/co.meldstudio.streamdeck.sdPlugin/assets/Touch strip bgs/Touch Strip purple.png new file mode 100644 index 0000000..81b7bed Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Touch strip bgs/Touch Strip purple.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/Touch strip bgs/Touch Strip teal.png b/co.meldstudio.streamdeck.sdPlugin/assets/Touch strip bgs/Touch Strip teal.png new file mode 100644 index 0000000..70a8ed3 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/Touch strip bgs/Touch Strip teal.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/MeldStudio.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/MeldStudio.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/MeldStudio.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/MeldStudio.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/MeldStudio@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/MeldStudio@2x.svg similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/MeldStudio@2x.svg rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/MeldStudio@2x.svg diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/goLive.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/goLive.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/goLive.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/goLive.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/goLive@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/goLive@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/goLive@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/goLive@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/goOffline.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/goOffline.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/goOffline.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/goOffline.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/goOffline@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/goOffline@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/goOffline@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/goOffline@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideEffect.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideEffect.png new file mode 100644 index 0000000..018eca6 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideEffect.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideEffect@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideEffect@2x.png new file mode 100644 index 0000000..493f018 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideEffect@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideLayer.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideLayer.png new file mode 100644 index 0000000..fa71384 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideLayer.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideLayer@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideLayer@2x.png new file mode 100644 index 0000000..46dec0c Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/hideLayer@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconAudioTrack.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconAudioTrack.svg new file mode 100644 index 0000000..04c67da --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconAudioTrack.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconAudioTrack@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconAudioTrack@2x.svg new file mode 100644 index 0000000..457d111 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconAudioTrack@2x.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconEffectVisibility.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconEffectVisibility.svg new file mode 100644 index 0000000..b05b513 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconEffectVisibility.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconEffectVisibility@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconEffectVisibility@2x.svg new file mode 100644 index 0000000..597f1c4 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconEffectVisibility@2x.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconGoLive.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconGoLive.svg new file mode 100644 index 0000000..4a12732 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconGoLive.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconGoLive@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconGoLive@2x.svg new file mode 100644 index 0000000..de0ca9a --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconGoLive@2x.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconLayerVisibility.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconLayerVisibility.svg new file mode 100644 index 0000000..ce9b065 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconLayerVisibility.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconLayerVisibility@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconLayerVisibility@2x.svg new file mode 100644 index 0000000..a6158aa --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconLayerVisibility@2x.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconRecord.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconRecord.svg new file mode 100644 index 0000000..3c89ac8 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconRecord.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconRecord@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconRecord@2x.svg new file mode 100644 index 0000000..69025c9 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconRecord@2x.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScene.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScene.svg new file mode 100644 index 0000000..3ab0013 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScene.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScene@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScene@2x.svg new file mode 100644 index 0000000..2a4ef26 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScene@2x.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconSceneSwitcher.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconSceneSwitcher.svg new file mode 100644 index 0000000..04c67da --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconSceneSwitcher.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconSceneSwitcher@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconSceneSwitcher@2x.svg new file mode 100644 index 0000000..457d111 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconSceneSwitcher@2x.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScreenshot.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScreenshot.svg new file mode 100644 index 0000000..42bfa5e --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScreenshot.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScreenshot@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScreenshot@2x.svg new file mode 100644 index 0000000..48c3d0a --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconScreenshot@2x.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconSpeaker.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconSpeaker.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconSpeaker.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconSpeaker.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconSpeaker@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconSpeaker@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/iconSpeaker@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/iconSpeaker@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/monitoredTrack.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/monitoredTrack.png new file mode 100644 index 0000000..4831d11 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/monitoredTrack.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/monitoredTrack@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/monitoredTrack@2x.png new file mode 100644 index 0000000..a44006e Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/monitoredTrack@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/mutedTrack.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/mutedTrack.png new file mode 100644 index 0000000..0300edd Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/mutedTrack.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/mutedTrack@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/mutedTrack@2x.png new file mode 100644 index 0000000..640739e Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/mutedTrack@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOff.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOff.png new file mode 100644 index 0000000..12610a9 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOff.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOff@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOff@2x.png new file mode 100644 index 0000000..3028150 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOff@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/sceneOn-gif-preview.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOn-gif-preview.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/sceneOn-gif-preview.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOn-gif-preview.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/sceneOn.gif b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOn.gif similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/sceneOn.gif rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOn.gif diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/sceneOn@2x-gif-preview.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOn@2x-gif-preview.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/sceneOn@2x-gif-preview.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOn@2x-gif-preview.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/sceneOn@2x.gif b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOn@2x.gif similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/sceneOn@2x.gif rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/sceneOn@2x.gif diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/screenshot.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/screenshot.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/screenshot.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/screenshot.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/screenshot@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/screenshot@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/screenshot@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/screenshot@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/showEffect.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/showEffect.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/showEffect.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/showEffect.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/showEffect@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/showEffect@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/showEffect@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/showEffect@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/showLayer.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/showLayer.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/showLayer.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/showLayer.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/showLayer@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/showLayer@2x.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/showLayer@2x.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/showLayer@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/spinner_1.gif b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/spinner_1.gif similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/spinner_1.gif rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/spinner_1.gif diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/startRecord.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/startRecord.png new file mode 100644 index 0000000..10db6c5 Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/startRecord.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/startRecord@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/startRecord@2x.png new file mode 100644 index 0000000..70f2f1c Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/startRecord@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/stopRecord-gif-preview.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/stopRecord-gif-preview.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/stopRecord-gif-preview.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/stopRecord-gif-preview.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/stopRecord.gif b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/stopRecord.gif similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/stopRecord.gif rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/stopRecord.gif diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/stopRecord@2x-gif-preview.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/stopRecord@2x-gif-preview.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/stopRecord@2x-gif-preview.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/stopRecord@2x-gif-preview.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/stopRecord@2x.gif b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/stopRecord@2x.gif similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/stopRecord@2x.gif rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/stopRecord@2x.gif diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmonitoredTrack.gif b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmonitoredTrack.gif new file mode 100644 index 0000000..abd965a Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmonitoredTrack.gif differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmonitoredTrack.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmonitoredTrack.png new file mode 100644 index 0000000..ee264dd Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmonitoredTrack.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmonitoredTrack@2x.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmonitoredTrack@2x.png new file mode 100644 index 0000000..eeaf82e Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmonitoredTrack@2x.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/unmutedTrack-gif-preview.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmutedTrack-gif-preview.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/unmutedTrack-gif-preview.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmutedTrack-gif-preview.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/unmutedTrack.gif b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmutedTrack.gif similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/unmutedTrack.gif rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmutedTrack.gif diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/unmutedTrack@2x-gif-preview.png b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmutedTrack@2x-gif-preview.png similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/unmutedTrack@2x-gif-preview.png rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmutedTrack@2x-gif-preview.png diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/unmutedTrack@2x.gif b/co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmutedTrack@2x.gif similarity index 100% rename from co.meldstudio.streamdeck.sdPlugin/assets/unmutedTrack@2x.gif rename to co.meldstudio.streamdeck.sdPlugin/assets/oldicons/unmutedTrack@2x.gif diff --git a/co.meldstudio.streamdeck.sdPlugin/de.json b/co.meldstudio.streamdeck.sdPlugin/de.json index 95fa798..f769268 100644 --- a/co.meldstudio.streamdeck.sdPlugin/de.json +++ b/co.meldstudio.streamdeck.sdPlugin/de.json @@ -6,6 +6,10 @@ "Name": "Spur stumm", "Tooltip": "Schaltet den Mute-Status einer Spur um." }, + "co.meldstudio.streamdeck.toggle-monitor": { + "Name": "Spur stumm", + "Tooltip": "Schaltet den Cue-Status einer Spur um." + }, "co.meldstudio.streamdeck.toggle-layer": { "Name": "Layer-Sichtbarkeit", "Tooltip": "Schaltet die Sichtbarkeit einer Ebene um." @@ -41,11 +45,33 @@ } } }, + "co.meldstudio.streamdeck.transition-stepper": { + "Name": "Szenenumschalter", + "Tooltip": "Wählen Sie eine Bühnenszene aus und lösen Sie einen Szenenübergang aus.", + "Encoder": { + "TriggerDescription": { + "Rotate": "Szenenumschalter", + "Touch": "Übergang", + "Push": "Übergang" + } + } + }, "Localization": { "Scene": "Szene", "Layer": "Layer", "Track": "Spur", "Effect": "Effekt", - "Connecting": "Verbindungsaufbau zu Meld Studio..." + "Connecting": "Verbindungsaufbau zu Meld Studio...", + "Action": "Aktion", + "Toggle": "Umschalten", + "Cue": "Hören", + "Unmute": "Stummschaltung aufheben", + "Uncue": "Unzuhören", + "Mute": "Spur stumm", + "Monitor": "Hören", + "Meter": "Typ des Volumenmessers", + "Decibels": "Dezibels", + "Percent": "Prozent", + "TransitionStepper": "Für den Szenenumschalter muss die radiale Szenenumschalterfunktion in Meld Studio aktiviert sein. Weitere Informationen finden Sie im Meld Studio Blog." } } \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/en.json b/co.meldstudio.streamdeck.sdPlugin/en.json index f8d7a05..822a4b7 100644 --- a/co.meldstudio.streamdeck.sdPlugin/en.json +++ b/co.meldstudio.streamdeck.sdPlugin/en.json @@ -6,6 +6,10 @@ "Name": "Track Mute", "Tooltip": "Toggles the mute status of a track." }, + "co.meldstudio.streamdeck.toggle-monitor": { + "Name": "Track Monitor", + "Tooltip": "Toggles the cue status of a track." + }, "co.meldstudio.streamdeck.toggle-layer": { "Name": "Layer Visibility", "Tooltip": "Toggles the visibility of a layer." @@ -41,12 +45,33 @@ } } }, + "co.meldstudio.streamdeck.transition-stepper": { + "Name": "Scene Switcher", + "Tooltip": "Select a staging scene and trigger a scene transition", + "Encoder": { + "TriggerDescription": { + "Rotate": "Select Staging Scene", + "Touch": "Transition to Staging Scene", + "Push": "Transition to Staging Scene" + } + } + }, "Localization": { "Scene": "Scene", "Layer": "Layer", "Track": "Track", "Effect": "Effect", "StepSize": "Step Size", - "Connecting": "Connecting to Meld Studio..." + "Connecting": "Connecting to Meld Studio...", + "Action": "Action", + "Toggle": "Toggle", + "Mute": "Mute", + "Cue": "Cue", + "Unmute": "Unmute", + "Uncue": "Uncue", + "Meter": "Meter Type", + "Decibels": "Decibels", + "Percent": "Percent", + "TransitionStepper": "Scene switcher requires that the radial scene switcher feature be enabled in Meld Studio. For more info, visit the Meld Studio Blog." } } \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/libs/js/inspector.js b/co.meldstudio.streamdeck.sdPlugin/libs/js/inspector.js index 0063c17..de8505e 100644 --- a/co.meldstudio.streamdeck.sdPlugin/libs/js/inspector.js +++ b/co.meldstudio.streamdeck.sdPlugin/libs/js/inspector.js @@ -1,153 +1,157 @@ -class MeldStudioPropertyInspector { - settings = {}; - - createOption(opt) { - const item = document.createElement('option'); - - item.innerHTML = opt.text; - item.value = opt.value; - item.selected = opt.selected; - - return item; - } - - // Get all items of a specific type. - getItemsByType(type, currentValue, parent) { - const items = $MS.meld?.session?.items ?? {}; - - let selectedItems = [ - { - text: '[No Selection]', - value: '', - selected: currentValue == '', - }, - ]; - - for (let key in items) { - const item = items[key]; - - if (item.type != type) continue; - if (parent && item.parent != parent) continue; - - selectedItems.push({ - text: item.name, - value: key, - selected: currentValue == key, - }); - } - - return selectedItems; - } - - getValue(key) { - return this.settings[key] ?? ''; - } - - // Iterators over the items in the session and filters down - // each pass to the current type, filtered by the previous value. - updateSelection(elements) { - if (!$MS.meld) { - $MS.on('ready', () => { - this.updateSelection(elements); - }); - $MS.on('sessionChanged', () => { - this.updateSelection(elements); - }); - return; - } - - let last = ''; - for (let elid of elements) { - const value = this.getValue(elid); - const element = document.getElementById(elid); - - let available = this.getItemsByType(elid, value, last); - - element.innerHTML = ''; - element.disabled = false; - - for (let opt of available) element.appendChild(this.createOption(opt)); - - last = value; - } - } - - initializeSelection(action, elements) { - for (let id of elements) { - const el = document.getElementById(id); - console.assert(el.id, 'Select element not found'); - if (!el) continue; - - this.settings[el] = ''; - - el.onchange = () => { - if (!this.settings) return; - this.settings = { ...this.settings, [id]: el.value }; - $PI.setSettings(this.settings); - this.updateSelection(elements); - }; - } - - $PI.onDidReceiveSettings(action, ({ action, payload }) => { - const { settings } = payload; - this.settings = settings; - - const suffix = action.split('.').pop(); - - for (let field of elements) { - const dom_field = document.getElementById(field); - dom_field.value = settings[field]; - if (dom_field.value == 'undefined') dom_field.value = ''; - } - - this.updateSelection(elements); - }); - - $PI.getSettings(); - } - - initializeText(action, elements) { - for (let id of elements) { - const el = document.getElementById(id); - console.assert(el.id, 'Input element not found'); - if (!el) continue; - - this.settings[el] = ''; - - el.onchange = () => { - if (!this.settings) return; - this.settings = { ...this.settings, [id]: el.value }; - $PI.setSettings(this.settings); - }; - } - - $PI.onDidReceiveSettings(action, ({ action, payload }) => { - const { settings } = payload; - this.settings = settings; - - for (let field of elements) { - const dom_field = document.getElementById(field); - if (settings[field] !== undefined) { - dom_field.value = settings[field]; - } else { - // Use the default value specified by the field. - this.settings[field] = dom_field.value; - } - } - }); - } - - watchConnections(id) { - $MS.on('connected', () => { - document.getElementById(id).style = 'display: none;'; - }); - - $MS.on('closed', () => { - document.getElementById(id).style = ''; - }); - - if ($MS.connected) document.getElementById(id).style = 'display: none;'; - } -} - -const $MSPI = new MeldStudioPropertyInspector(); +class MeldStudioPropertyInspector { + settings = {}; + + createOption(opt) { + const item = document.createElement('option'); + + item.innerHTML = opt.text; + item.value = opt.value; + item.selected = opt.selected; + + return item; + } + + // Get all items of a specific type. + getItemsByType(type, currentValue, parent) { + const items = $MS.meld?.session?.items ?? {}; + + let selectedItems = [ + { + text: '[No Selection]', + value: '', + selected: currentValue == '', + }, + ]; + + for (let key in items) { + const item = items[key]; + + if (item.type != type) continue; + if (parent && item.parent != parent) continue; + + selectedItems.push({ + text: item.name, + value: key, + selected: currentValue == key, + }); + } + + return selectedItems; + } + + getValue(key) { + return this.settings[key] ?? ''; + } + + // Iterators over the items in the session and filters down + // each pass to the current type, filtered by the previous value. + updateSelection(elements) { + if (!$MS.meld) { + $MS.on('ready', () => { + this.updateSelection(elements); + }); + $MS.on('sessionChanged', () => { + this.updateSelection(elements); + }); + return; + } + + let last = ''; + for (let elid of elements) { + const value = this.getValue(elid); + const element = document.getElementById(elid); + + let available = this.getItemsByType(elid, value, last); + + element.innerHTML = ''; + element.disabled = false; + + for (let opt of available) element.appendChild(this.createOption(opt)); + + last = value; + } + } + + initializeSelection(action, elements, data_provided = true) { + for (let id of elements) { + const el = document.getElementById(id); + console.assert(el.id, 'Select element not found'); + if (!el) continue; + + if (this.settings[el.id] === undefined) + this.settings[el.id] = ''; + + el.onchange = () => { + if (!this.settings) return; + this.settings = { ...this.settings, [id]: el.value }; + $PI.setSettings(this.settings); + if (data_provided) + this.updateSelection(elements); + }; + } + + $PI.onDidReceiveSettings(action, ({ action, payload }) => { + const { settings } = payload; + this.settings = settings; + + for (let field of elements) { + const dom_field = document.getElementById(field); + + if (settings[field] === undefined) + continue; + + dom_field.value = settings[field]; + } + + if (data_provided) + this.updateSelection(elements); + }); + + $PI.getSettings(); + } + + initializeText(action, elements) { + for (let id of elements) { + const el = document.getElementById(id); + console.assert(el.id, 'Input element not found'); + if (!el) continue; + + this.settings[el.id] = ''; + + el.onchange = () => { + if (!this.settings) return; + this.settings = { ...this.settings, [id]: el.value }; + $PI.setSettings(this.settings); + }; + } + + $PI.onDidReceiveSettings(action, ({ action, payload }) => { + const { settings } = payload; + this.settings = settings; + + for (let field of elements) { + const dom_field = document.getElementById(field); + if (settings[field] !== undefined) { + dom_field.value = settings[field]; + } else { + // Use the default value specified by the field. + this.settings[field] = dom_field.value; + } + } + }); + } + + watchConnections(id) { + $MS.on('connected', () => { + document.getElementById(id).style = 'display: none;'; + }); + + $MS.on('closed', () => { + document.getElementById(id).style = ''; + }); + + if ($MS.connected) document.getElementById(id).style = 'display: none;'; + } +} + +const $MSPI = new MeldStudioPropertyInspector(); diff --git a/co.meldstudio.streamdeck.sdPlugin/libs/js/stream-deck.js b/co.meldstudio.streamdeck.sdPlugin/libs/js/stream-deck.js index bfd8e38..9c74c2b 100644 --- a/co.meldstudio.streamdeck.sdPlugin/libs/js/stream-deck.js +++ b/co.meldstudio.streamdeck.sdPlugin/libs/js/stream-deck.js @@ -75,7 +75,7 @@ class ELGSDStreamDeck extends ELGSDApi { this.send(context, Events.setState, { payload: { - state: 1 - Number(state === 0), + state: state || 0, }, }); } diff --git a/co.meldstudio.streamdeck.sdPlugin/manifest.json b/co.meldstudio.streamdeck.sdPlugin/manifest.json index 0653256..fad2d88 100644 --- a/co.meldstudio.streamdeck.sdPlugin/manifest.json +++ b/co.meldstudio.streamdeck.sdPlugin/manifest.json @@ -1,160 +1,200 @@ -{ - "SDKVersion": 2, - "Category": "Meld Studio", - "CategoryIcon": "assets/MeldStudio", - "Name": "Meld Studio", - "Icon": "plugin", - "Author": "MeldStudio", - "CodePath": "app.html", - "Description": "Meld Studio 💙 Stream Deck. Take your stream to new heights with powerful new capabilities at your fingertips. Trigger transitions, manage audio tracks, toggle filter effects on and off, and much more.", - "URL": "https://meldstudio.co", - "Version": "0.3.1", - "OS": [ - { - "Platform": "mac", - "MinimumVersion": "12.3" - }, - { - "Platform": "windows", - "MinimumVersion": "10" - } - ], - "Software": { - "MinimumVersion": "6.0" - }, - "Actions": [ - { - "Icon": "assets/iconScene", - "Name": "Change Scene", - "States": [ - { - "Image": "assets/sceneOff" - }, - { - "Image": "assets/sceneOn" - } - ], - "SupportedInMultiActions": true, - "Tooltip": "Change scenes!", - "UUID": "co.meldstudio.streamdeck.show-scene", - "PropertyInspectorPath": "actions/show-scene/inspector.html" - }, - { - "Icon": "assets/iconScreenshot", - "Name": "Take Screenshot", - "States": [ - { - "Image": "assets/screenshot" - } - ], - "SupportedInMultiActions": true, - "Tooltip": "Take a screenshot!", - "UUID": "co.meldstudio.streamdeck.screenshot", - "PropertyInspectorPath": "actions/screenshot/inspector.html" - }, - { - "Icon": "assets/iconAudioTrack", - "Name": "Mute Track", - "States": [ - { - "Image": "assets/mutedTrack" - }, - { - "Image": "assets/unmutedTrack" - } - ], - "SupportedInMultiActions": true, - "Tooltip": "Mute an audio track!", - "UUID": "co.meldstudio.streamdeck.toggle-mute", - "PropertyInspectorPath": "actions/toggle-mute/inspector.html" - }, - { - "Icon": "assets/iconAudioTrack", - "Name": "Adjust Volume", - "States": [ - { - "Image": "assets/iconSpeaker", - "TitleColor": "#FFFFFF" - } - ], - "Controllers": [ - "Encoder" - ], - "Encoder": { - "layout": "$B2", - "TriggerDescription": { - "Rotate": "Adjust Volume", - "Touch": "Adjust Volume", - "Push": "Mute Track" - } - }, - "Tooltip": "Adjust the volume of a specified audio track.", - "UUID": "co.meldstudio.streamdeck.volume-stepper", - "PropertyInspectorPath": "actions/volume-stepper/inspector.html" - }, - { - "Icon": "assets/iconLayerVisibility", - "Name": "Layer Visibility", - "States": [ - { - "Image": "assets/hideLayer" - }, - { - "Image": "assets/showLayer" - } - ], - "SupportedInMultiActions": true, - "Tooltip": "Toggle layer visibility!", - "UUID": "co.meldstudio.streamdeck.toggle-layer", - "PropertyInspectorPath": "actions/toggle-layer/inspector.html" - }, - { - "Icon": "assets/iconEffectVisibility", - "Name": "Effect Visibility", - "States": [ - { - "Image": "assets/hideEffect" - }, - { - "Image": "assets/showEffect" - } - ], - "SupportedInMultiActions": true, - "Tooltip": "Toggle effect visibility!", - "UUID": "co.meldstudio.streamdeck.toggle-effect", - "PropertyInspectorPath": "actions/toggle-effect/inspector.html" - }, - { - "Icon": "assets/iconRecord", - "Name": "Record", - "States": [ - { - "Image": "assets/startRecord" - }, - { - "Image": "assets/stopRecord" - } - ], - "SupportedInMultiActions": true, - "Tooltip": "Start or stop recording.", - "UUID": "co.meldstudio.streamdeck.toggle-record", - "PropertyInspectorPath": "actions/toggle-record/inspector.html" - }, - { - "Icon": "assets/iconGoLive", - "Name": "Go Live", - "States": [ - { - "Image": "assets/goLive" - }, - { - "Image": "assets/goOffline" - } - ], - "SupportedInMultiActions": true, - "Tooltip": "Go Live or go offline.", - "UUID": "co.meldstudio.streamdeck.toggle-stream", - "PropertyInspectorPath": "actions/toggle-stream/inspector.html" - } - ] -} \ No newline at end of file +{ + "SDKVersion": 2, + "Category": "Meld Studio", + "CategoryIcon": "assets/Category Icon/Meld Studio", + "Name": "Meld Studio", + "Icon": "assets/AppIcon/meldstudio", + "Author": "MeldStudio", + "CodePath": "app.html", + "Description": "Meld Studio 💙 Stream Deck. Take your stream to new heights with powerful new capabilities at your fingertips. Trigger transitions, manage audio tracks, toggle filter effects on and off, and much more.", + "URL": "https://meldstudio.co", + "Version": "0.4.0", + "OS": [ + { + "Platform": "mac", + "MinimumVersion": "12.3" + }, + { + "Platform": "windows", + "MinimumVersion": "10" + } + ], + "Software": { + "MinimumVersion": "6.0" + }, + "Actions": [ + { + "Icon": "assets/Scenes/Change to Scene/Action Icon/iconScene", + "Name": "Change Scene", + "States": [ + { + "Image": "assets/Scenes/Change to Scene/Key Icon/sceneOff" + }, + { + "Image": "assets/Scenes/Change to Scene/Key Icon/sceneOn" + } + ], + "SupportedInMultiActions": true, + "Tooltip": "Change scenes!", + "UUID": "co.meldstudio.streamdeck.show-scene", + "PropertyInspectorPath": "actions/show-scene/inspector.html" + }, + { + "Icon": "assets/Screenshot/iconScreenshot", + "Name": "Take Screenshot", + "States": [ + { + "Image": "assets/Screenshot/screenshot" + } + ], + "SupportedInMultiActions": true, + "Tooltip": "Take a screenshot!", + "UUID": "co.meldstudio.streamdeck.screenshot", + "PropertyInspectorPath": "actions/screenshot/inspector.html" + }, + { + "Icon": "assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioTrack", + "Name": "Mute Track", + "States": [ + { + "Image": "assets/Audio Track/Mute_Unmute Audio Track/Key Icons/mutedTrack" + }, + { + "Image": "assets/Audio Track/Mute_Unmute Audio Track/Key Icons/audio-unmuted" + } + ], + "SupportedInMultiActions": true, + "Tooltip": "Mute an audio track!", + "UUID": "co.meldstudio.streamdeck.toggle-mute", + "PropertyInspectorPath": "actions/toggle-mute/inspector.html" + }, + { + "Icon": "assets/Cue/action icon/cueAudio", + "Name": "Cue Track", + "States": [ + { + "Image": "assets/Cue/key icon/cueOff" + }, + { + "Image": "assets/Cue/key icon/cueOn" + } + ], + "SupportedInMultiActions": true, + "Tooltip": "Monitor an audio track!", + "UUID": "co.meldstudio.streamdeck.toggle-monitor", + "PropertyInspectorPath": "actions/toggle-monitor/inspector.html" + }, + { + "Icon": "assets/Audio Track/Mute_Unmute Audio Track/Action Icons/audioTrack", + "Name": "Adjust Volume", + "States": [ + { + "Image": "assets/Audio Track/Mute_Unmute Audio Track/Key Icons/unmuteTrack", + "TitleColor": "#FFFFFF" + } + ], + "Controllers": [ + "Encoder" + ], + "Encoder": { + "layout": "$B2", + "TriggerDescription": { + "Rotate": "Adjust Volume", + "Touch": "Adjust Volume", + "Push": "Mute Track" + } + }, + "Tooltip": "Adjust the volume of a specified audio track.", + "UUID": "co.meldstudio.streamdeck.volume-stepper", + "PropertyInspectorPath": "actions/volume-stepper/inspector.html" + }, + { + "Icon": "assets/Scene Transition Control/Action Icon/sceneTransition", + "Name": "Scene Switcher", + "States": [ + { + "Image": "assets/Scene Transition Control/SD Slot/sceneTransitionBlue", + "TitleColor": "#FFFFFF" + } + ], + "Controllers": [ + "Encoder" + ], + "Encoder": { + "layout": "$X1", + "TriggerDescription": { + "Rotate": "Select Staging Scene", + "Touch": "Select Staging Scene", + "Push": "Transition to Staging Scene" + } + }, + "Tooltip": "Select a staging scene and trigger a scene transition", + "UUID": "co.meldstudio.streamdeck.transition-stepper", + "PropertyInspectorPath": "actions/transition-stepper/inspector.html" + }, + { + "Icon": "assets/Layers/Layer Visibility/Action Icon/iconLayerVisibility", + "Name": "Layer Visibility", + "States": [ + { + "Image": "assets/Layers/Layer Visibility/Key Icon/layerHide" + }, + { + "Image": "assets/Layers/Layer Visibility/Key Icon/layerShow" + } + ], + "SupportedInMultiActions": true, + "Tooltip": "Toggle layer visibility!", + "UUID": "co.meldstudio.streamdeck.toggle-layer", + "PropertyInspectorPath": "actions/toggle-layer/inspector.html" + }, + { + "Icon": "assets/Effects/Action Icon/iconEffectVisibility", + "Name": "Effect Visibility", + "States": [ + { + "Image": "assets/Effects/Key Icons/hideEffect" + }, + { + "Image": "assets/Effects/Key Icons/showEffect" + } + ], + "SupportedInMultiActions": true, + "Tooltip": "Toggle effect visibility!", + "UUID": "co.meldstudio.streamdeck.toggle-effect", + "PropertyInspectorPath": "actions/toggle-effect/inspector.html" + }, + { + "Icon": "assets/Record/Start_Stop Record/Action Icon/iconRecord", + "Name": "Record", + "States": [ + { + "Image": "assets/Record/Start_Stop Record/Key Icon/startRecord" + }, + { + "Image": "assets/Record/Start_Stop Record/Key Icon/stopRecord" + } + ], + "SupportedInMultiActions": true, + "Tooltip": "Start or stop recording.", + "UUID": "co.meldstudio.streamdeck.toggle-record", + "PropertyInspectorPath": "actions/toggle-record/inspector.html" + }, + { + "Icon": "assets/Go live/Go live/Action Icons/goLive", + "Name": "Go Live", + "States": [ + { + "Image": "assets/Go live/Go live/Key Icons/goLive" + }, + { + "Image": "assets/Go live/Go live/Key Icons/goOffiline" + } + ], + "SupportedInMultiActions": true, + "Tooltip": "Go Live or go offline.", + "UUID": "co.meldstudio.streamdeck.toggle-stream", + "PropertyInspectorPath": "actions/toggle-stream/inspector.html" + } + ] +} diff --git a/co.meldstudio.streamdeck.sdPlugin/plugin.png b/co.meldstudio.streamdeck.sdPlugin/plugin.png deleted file mode 100644 index 1ff79b7..0000000 Binary files a/co.meldstudio.streamdeck.sdPlugin/plugin.png and /dev/null differ diff --git a/co.meldstudio.streamdeck.sdPlugin/plugin@2x.png b/co.meldstudio.streamdeck.sdPlugin/plugin@2x.png deleted file mode 100644 index 0f13358..0000000 Binary files a/co.meldstudio.streamdeck.sdPlugin/plugin@2x.png and /dev/null differ diff --git a/co.meldstudio.streamdeck.sdPlugin/previews/1-preview.png b/co.meldstudio.streamdeck.sdPlugin/previews/1-preview.png index ca8aac8..612bc0a 100644 Binary files a/co.meldstudio.streamdeck.sdPlugin/previews/1-preview.png and b/co.meldstudio.streamdeck.sdPlugin/previews/1-preview.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/previews/2-preview.png b/co.meldstudio.streamdeck.sdPlugin/previews/2-preview.png index 29ec5fd..711ae5a 100644 Binary files a/co.meldstudio.streamdeck.sdPlugin/previews/2-preview.png and b/co.meldstudio.streamdeck.sdPlugin/previews/2-preview.png differ diff --git a/co.meldstudio.streamdeck.sdPlugin/previews/3-preview.png b/co.meldstudio.streamdeck.sdPlugin/previews/3-preview.png new file mode 100644 index 0000000..d96b28c Binary files /dev/null and b/co.meldstudio.streamdeck.sdPlugin/previews/3-preview.png differ diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..b3a3ddb --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + + +VERSION="$(grep '"Version": "'