@vessel-dsp/control-ui 0.6.4 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ControlSurface.d.ts +2 -2
- package/dist/ControlSurface.d.ts.map +1 -1
- package/dist/ControlSurface.js +62 -31
- package/dist/ControlSurface.js.map +1 -1
- package/dist/appearance.d.ts +1 -1
- package/dist/appearance.d.ts.map +1 -1
- package/dist/appearance.js +20 -14
- package/dist/appearance.js.map +1 -1
- package/dist/components/ConcentricKnob.d.ts +22 -0
- package/dist/components/ConcentricKnob.d.ts.map +1 -0
- package/dist/components/ConcentricKnob.js +15 -0
- package/dist/components/ConcentricKnob.js.map +1 -0
- package/dist/components/ControlFrame.d.ts +3 -3
- package/dist/components/ControlFrame.d.ts.map +1 -1
- package/dist/components/ControlFrame.js +3 -3
- package/dist/components/ControlFrame.js.map +1 -1
- package/dist/components/DetentedRotarySelect.d.ts +2 -2
- package/dist/components/DetentedRotarySelect.d.ts.map +1 -1
- package/dist/components/DetentedRotarySelect.js +6 -6
- package/dist/components/DetentedRotarySelect.js.map +1 -1
- package/dist/components/FootswitchButton.d.ts +2 -2
- package/dist/components/FootswitchButton.d.ts.map +1 -1
- package/dist/components/FootswitchButton.js +7 -7
- package/dist/components/FootswitchButton.js.map +1 -1
- package/dist/components/JackIndicator.d.ts +15 -0
- package/dist/components/JackIndicator.d.ts.map +1 -0
- package/dist/components/JackIndicator.js +11 -0
- package/dist/components/JackIndicator.js.map +1 -0
- package/dist/components/KnobControl.d.ts +2 -2
- package/dist/components/KnobControl.d.ts.map +1 -1
- package/dist/components/KnobControl.js +42 -31
- package/dist/components/KnobControl.js.map +1 -1
- package/dist/components/LedIndicator.d.ts +2 -2
- package/dist/components/LedIndicator.d.ts.map +1 -1
- package/dist/components/LedIndicator.js +4 -4
- package/dist/components/LedIndicator.js.map +1 -1
- package/dist/components/SwitchSelectControl.d.ts +2 -2
- package/dist/components/SwitchSelectControl.d.ts.map +1 -1
- package/dist/components/SwitchSelectControl.js +3 -3
- package/dist/components/SwitchSelectControl.js.map +1 -1
- package/dist/components/ToggleSwitchControl.d.ts +2 -2
- package/dist/components/ToggleSwitchControl.d.ts.map +1 -1
- package/dist/components/ToggleSwitchControl.js +3 -3
- package/dist/components/ToggleSwitchControl.js.map +1 -1
- package/dist/controls.d.ts +2 -2
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +55 -37
- package/dist/controls.js.map +1 -1
- package/dist/index.d.ts +32 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -15
- package/dist/index.js.map +1 -1
- package/dist/render-plan.d.ts +2 -2
- package/dist/render-plan.d.ts.map +1 -1
- package/dist/render-plan.js +67 -10
- package/dist/render-plan.js.map +1 -1
- package/dist/state.d.ts +1 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +7 -4
- package/dist/state.js.map +1 -1
- package/dist/styles.css +250 -203
- package/dist/theme.d.ts +3 -3
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +21 -11
- package/dist/theme.js.map +1 -1
- package/dist/types.d.ts +15 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/useControlState.d.ts +1 -1
- package/dist/useControlState.d.ts.map +1 -1
- package/dist/useControlState.js +2 -2
- package/dist/useControlState.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +3 -1
- package/dist/utils.js.map +1 -1
- package/package.json +70 -70
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,aAAa,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACpB,MAAM,SAAS,CAAC;AACjB,YAAY,EACX,wBAAwB,EACxB,+BAA+B,GAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACX,sBAAsB,EACtB,qBAAqB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
export { resolveControlAppearance } from
|
|
2
|
-
export { clampControlPosition, controlValueForId, findPanelControl, formatControlValue, normalizeSwitchPosition, snapControlPosition, valueForControl, valuePosition, } from
|
|
3
|
-
export { applyControlUiMessage, controlMessageForValue, createControlUiState, } from
|
|
4
|
-
export { createControlSurfaceRenderPlan } from
|
|
5
|
-
export { ControlUiThemeProvider, themeToCssVariables, useControlUiTheme } from
|
|
6
|
-
export { ControlFrame } from
|
|
7
|
-
export { KnobControl } from
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
1
|
+
export { resolveControlAppearance } from "./appearance.js";
|
|
2
|
+
export { clampControlPosition, controlValueForId, findPanelControl, formatControlValue, normalizeSwitchPosition, snapControlPosition, valueForControl, valuePosition, } from "./controls.js";
|
|
3
|
+
export { applyControlUiMessage, controlMessageForValue, createControlUiState, } from "./state.js";
|
|
4
|
+
export { createControlSurfaceRenderPlan } from "./render-plan.js";
|
|
5
|
+
export { ControlUiThemeProvider, themeToCssVariables, useControlUiTheme, } from "./theme.js";
|
|
6
|
+
export { ControlFrame } from "./components/ControlFrame.js";
|
|
7
|
+
export { KnobControl } from "./components/KnobControl.js";
|
|
8
|
+
export { ConcentricKnob } from "./components/ConcentricKnob.js";
|
|
9
|
+
export { JackIndicator } from "./components/JackIndicator.js";
|
|
10
|
+
export { FootswitchButton } from "./components/FootswitchButton.js";
|
|
11
|
+
export { ToggleSwitchControl } from "./components/ToggleSwitchControl.js";
|
|
12
|
+
export { GraphicEqSlider } from "./components/GraphicEqSlider.js";
|
|
13
|
+
export { DetentedRotarySelect } from "./components/DetentedRotarySelect.js";
|
|
14
|
+
export { LedIndicator } from "./components/LedIndicator.js";
|
|
15
|
+
export { SwitchSelectControl } from "./components/SwitchSelectControl.js";
|
|
16
|
+
export { ControlSurface } from "./ControlSurface.js";
|
|
17
|
+
export { useControlState } from "./useControlState.js";
|
|
16
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,aAAa,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACpB,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/render-plan.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Panel, PanelElementPlacement } from
|
|
2
|
-
import type { ControlAppearance, ControlAppearanceMap, ControlUiControlRef } from
|
|
1
|
+
import type { Panel, PanelElementPlacement } from "@vessel-dsp/core";
|
|
2
|
+
import type { ControlAppearance, ControlAppearanceMap, ControlUiControlRef } from "./types";
|
|
3
3
|
export type ControlSurfaceRenderItem = Readonly<{
|
|
4
4
|
id: string;
|
|
5
5
|
controlId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-plan.d.ts","sourceRoot":"","sources":["../src/render-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"render-plan.d.ts","sourceRoot":"","sources":["../src/render-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,OAAO,KAAK,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,iBAAiB,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CAAC;IACtD,UAAU,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC9C,CAAC,CAAC;AAEH,wBAAgB,8BAA8B,CAC7C,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,+BAAoC,GAC3C,SAAS,wBAAwB,EAAE,CA4CrC"}
|
package/dist/render-plan.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import { findPanelControl } from
|
|
2
|
-
import { resolveControlAppearance } from
|
|
1
|
+
import { findPanelControl } from "./controls.js";
|
|
2
|
+
import { resolveControlAppearance } from "./appearance.js";
|
|
3
3
|
export function createControlSurfaceRenderPlan(panel, options = {}) {
|
|
4
4
|
const items = [];
|
|
5
5
|
const seen = new Set();
|
|
6
|
+
const mounts = mountGroupsByControlId(panel);
|
|
6
7
|
for (const face of panel.placement?.faces ?? []) {
|
|
7
8
|
for (const element of face.elements) {
|
|
8
9
|
const controlId = element.bind.controlId;
|
|
9
10
|
if (controlId === undefined || seen.has(controlId)) {
|
|
10
11
|
continue;
|
|
11
12
|
}
|
|
12
|
-
const control = findPanelControl(panel, controlId);
|
|
13
|
+
const control = mounts.get(controlId) ?? findPanelControl(panel, controlId);
|
|
13
14
|
if (control === undefined) {
|
|
14
15
|
continue;
|
|
15
16
|
}
|
|
16
17
|
const item = renderItemForControl(control, options.appearance?.[controlId], element, face.id);
|
|
17
18
|
if (item !== undefined) {
|
|
18
19
|
items.push(item);
|
|
19
|
-
seen
|
|
20
|
+
markSeen(seen, control);
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
}
|
|
@@ -27,14 +28,66 @@ export function createControlSurfaceRenderPlan(panel, options = {}) {
|
|
|
27
28
|
const item = renderItemForControl(control, options.appearance?.[control.control.id]);
|
|
28
29
|
if (item !== undefined) {
|
|
29
30
|
items.push(item);
|
|
30
|
-
seen
|
|
31
|
+
markSeen(seen, control);
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
return items;
|
|
34
35
|
}
|
|
36
|
+
function markSeen(seen, control) {
|
|
37
|
+
seen.add(control.control.id);
|
|
38
|
+
if (control.kind === "concentric-knob") {
|
|
39
|
+
for (const tier of control.tiers) {
|
|
40
|
+
seen.add(tier.id);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Resolves each concentric mount declared in the placement (peer elements
|
|
46
|
+
* sharing `physical.mountId`) to a single `concentric-knob` ref keyed by every
|
|
47
|
+
* member control id, so any tier's placement element renders the whole stack
|
|
48
|
+
* once. Dials are ordered by element declaration order within the mount.
|
|
49
|
+
*/
|
|
50
|
+
function mountGroupsByControlId(panel) {
|
|
51
|
+
const orderedIds = new Map();
|
|
52
|
+
for (const face of panel.placement?.faces ?? []) {
|
|
53
|
+
for (const element of face.elements) {
|
|
54
|
+
const mountId = element.physical?.mountId;
|
|
55
|
+
const controlId = element.bind.controlId;
|
|
56
|
+
if (mountId === undefined || controlId === undefined) {
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
const ids = orderedIds.get(mountId) ?? [];
|
|
60
|
+
ids.push(controlId);
|
|
61
|
+
orderedIds.set(mountId, ids);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const byControlId = new Map();
|
|
65
|
+
for (const ids of orderedIds.values()) {
|
|
66
|
+
const tiers = [];
|
|
67
|
+
for (const id of ids) {
|
|
68
|
+
const control = findPanelControl(panel, id);
|
|
69
|
+
if (control?.kind === "knob") {
|
|
70
|
+
tiers.push(control.control);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const base = tiers[0];
|
|
74
|
+
if (tiers.length < 2 || base === undefined) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
const ref = {
|
|
78
|
+
kind: "concentric-knob",
|
|
79
|
+
control: base,
|
|
80
|
+
tiers,
|
|
81
|
+
};
|
|
82
|
+
for (const tier of tiers) {
|
|
83
|
+
byControlId.set(tier.id, ref);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return byControlId;
|
|
87
|
+
}
|
|
35
88
|
function renderItemForControl(control, override, element, faceId) {
|
|
36
89
|
const appearance = resolveControlAppearance(control, override);
|
|
37
|
-
if (appearance ===
|
|
90
|
+
if (appearance === "hidden") {
|
|
38
91
|
return undefined;
|
|
39
92
|
}
|
|
40
93
|
return {
|
|
@@ -49,10 +102,14 @@ function renderItemForControl(control, override, element, faceId) {
|
|
|
49
102
|
}
|
|
50
103
|
function fallbackControls(panel) {
|
|
51
104
|
return [
|
|
52
|
-
...panel.knobs.map((control) => ({ kind:
|
|
53
|
-
...(panel.sliders ?? []).map((control) => ({
|
|
54
|
-
|
|
55
|
-
|
|
105
|
+
...panel.knobs.map((control) => ({ kind: "knob", control })),
|
|
106
|
+
...(panel.sliders ?? []).map((control) => ({
|
|
107
|
+
kind: "slider",
|
|
108
|
+
control,
|
|
109
|
+
})),
|
|
110
|
+
...panel.switches.map((control) => ({ kind: "switch", control })),
|
|
111
|
+
...panel.leds.map((control) => ({ kind: "led", control })),
|
|
112
|
+
...panel.jacks.map((control) => ({ kind: "jack", control })),
|
|
56
113
|
];
|
|
57
114
|
}
|
|
58
115
|
//# sourceMappingURL=render-plan.js.map
|
package/dist/render-plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-plan.js","sourceRoot":"","sources":["../src/render-plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"render-plan.js","sourceRoot":"","sources":["../src/render-plan.ts"],"names":[],"mappings":"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"}
|
package/dist/state.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControlState, ControlValue, Panel, PanelMessage } from
|
|
1
|
+
import type { ControlState, ControlValue, Panel, PanelMessage } from "@vessel-dsp/core";
|
|
2
2
|
export declare function createControlUiState(panel: Panel): ControlState;
|
|
3
3
|
export declare function applyControlUiMessage(panel: Panel, state: ControlState, message: PanelMessage): ControlState;
|
|
4
4
|
export declare function controlMessageForValue(panel: Panel, controlId: string, value: ControlValue | number | boolean, requestId?: string): PanelMessage;
|
package/dist/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,MAAM,kBAAkB,CAAC;AAQ1B,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAE/D;AAED,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,YAAY,GACnB,YAAY,CAMd;AAED,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,EACtC,SAAS,CAAC,EAAE,MAAM,GAChB,YAAY,CAuBd"}
|
package/dist/state.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { applyControlMessage, defaultControlState, validateMessage } from
|
|
2
|
-
import { findPanelControl, valueForControl } from
|
|
1
|
+
import { applyControlMessage, defaultControlState, validateMessage, } from "@vessel-dsp/core";
|
|
2
|
+
import { findPanelControl, valueForControl } from "./controls.js";
|
|
3
3
|
export function createControlUiState(panel) {
|
|
4
4
|
return defaultControlState(panel);
|
|
5
5
|
}
|
|
@@ -15,11 +15,14 @@ export function controlMessageForValue(panel, controlId, value, requestId) {
|
|
|
15
15
|
if (control === undefined) {
|
|
16
16
|
throw new Error(`unknown control id "${controlId}"`);
|
|
17
17
|
}
|
|
18
|
-
if (control.kind ===
|
|
18
|
+
if (control.kind === "led") {
|
|
19
19
|
throw new Error(`LED control "${controlId}" is read-only in control-ui`);
|
|
20
20
|
}
|
|
21
|
+
if (control.kind === "jack") {
|
|
22
|
+
throw new Error(`Jack "${controlId}" is read-only in control-ui`);
|
|
23
|
+
}
|
|
21
24
|
const message = {
|
|
22
|
-
type:
|
|
25
|
+
type: "control/set",
|
|
23
26
|
controlId,
|
|
24
27
|
value: valueForControl(control, value),
|
|
25
28
|
...(requestId === undefined ? {} : { requestId }),
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,UAAU,oBAAoB,CAAC,KAAY;IAChD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACpC,KAAY,EACZ,KAAmB,EACnB,OAAqB;IAErB,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,KAAY,EACZ,SAAiB,EACjB,KAAsC,EACtC,SAAkB;IAElB,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,gBAAgB,SAAS,8BAA8B,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,8BAA8B,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAiB;QAC7B,IAAI,EAAE,aAAa;QACnB,SAAS;QACT,KAAK,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;QACtC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;KACjD,CAAC;IACF,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
|