@opendaw/studio-adapters 0.0.117 → 0.0.118

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.
@@ -18,6 +18,7 @@ export declare namespace DeviceBoxUtils {
18
18
  const isDeviceBox: (box: Box) => box is DeviceBox;
19
19
  const isInstrumentDeviceBox: (box: Box) => box is InstrumentDeviceBox;
20
20
  const isEffectDeviceBox: (box: Box) => box is EffectDeviceBox;
21
+ const isChainEffectOf: (box: Box, host: Box) => box is EffectDeviceBox;
21
22
  const lookupHostField: (box: Maybe<Box>) => PointerField;
22
23
  const lookupLabelField: (box: Maybe<Box>) => StringField;
23
24
  const lookupEnabledField: (box: Maybe<Box>) => BooleanField;
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceBox.d.ts","sourceRoot":"","sources":["../src/DeviceBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACzF,OAAO,EAA0B,KAAK,EAAQ,MAAM,kBAAkB,CAAA;AAEtE,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,YAAY,CAAA;IACrB,SAAS,EAAE,YAAY,CAAA;CAC1B,GAAG,GAAG,CAAA;AAEP,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;CAC9C,GAAG,SAAS,CAAA;AAEb,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAA;IACtE,KAAK,EAAE,UAAU,CAAA;CACpB,GAAG,SAAS,CAAA;AAEb,yBAAiB,cAAc,CAAC;IACrB,MAAM,WAAW,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,SAAuC,CAAA;IAC9E,MAAM,qBAAqB,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,mBACI,CAAA;IACrD,MAAM,iBAAiB,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,eACqD,CAAA;IAClG,MAAM,eAAe,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,YAEyB,CAAA;IACpE,MAAM,gBAAgB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,WAE0B,CAAA;IACtE,MAAM,kBAAkB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,YAE4B,CAAA;IAC1E,MAAM,oBAAoB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,YAE8B,CAAA;IAC9E,MAAM,gBAAgB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,UAE0B,CAAA;CAChF"}
1
+ {"version":3,"file":"DeviceBox.d.ts","sourceRoot":"","sources":["../src/DeviceBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACzF,OAAO,EAA0B,KAAK,EAAQ,MAAM,kBAAkB,CAAA;AAEtE,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,YAAY,CAAA;IACrB,SAAS,EAAE,YAAY,CAAA;CAC1B,GAAG,GAAG,CAAA;AAEP,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;CAC9C,GAAG,SAAS,CAAA;AAEb,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAA;IACtE,KAAK,EAAE,UAAU,CAAA;CACpB,GAAG,SAAS,CAAA;AAEb,yBAAiB,cAAc,CAAC;IACrB,MAAM,WAAW,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,SAAuC,CAAA;IAC9E,MAAM,qBAAqB,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,mBACI,CAAA;IACrD,MAAM,iBAAiB,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,eACqD,CAAA;IAClG,MAAM,eAAe,GAAI,KAAK,GAAG,EAAE,MAAM,GAAG,KAAG,GAAG,IAAI,eACkC,CAAA;IACxF,MAAM,eAAe,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,YAEyB,CAAA;IACpE,MAAM,gBAAgB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,WAE0B,CAAA;IACtE,MAAM,kBAAkB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,YAE4B,CAAA;IAC1E,MAAM,oBAAoB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,YAE8B,CAAA;IAC9E,MAAM,gBAAgB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,UAE0B,CAAA;CAChF"}
package/dist/DeviceBox.js CHANGED
@@ -5,6 +5,7 @@ export var DeviceBoxUtils;
5
5
  DeviceBoxUtils.isDeviceBox = (box) => box.tags.type === "device";
6
6
  DeviceBoxUtils.isInstrumentDeviceBox = (box) => DeviceBoxUtils.isDeviceBox(box) && box.tags.deviceType === "instrument";
7
7
  DeviceBoxUtils.isEffectDeviceBox = (box) => DeviceBoxUtils.isDeviceBox(box) && (box.tags.deviceType === "audio-effect" || box.tags.deviceType === "midi-effect");
8
+ DeviceBoxUtils.isChainEffectOf = (box, host) => DeviceBoxUtils.isEffectDeviceBox(box) && box.host.targetVertex.mapOr(vertex => vertex.box === host, false);
8
9
  DeviceBoxUtils.lookupHostField = (box) => isDefined(box) && "host" in box && isInstanceOf(box.host, PointerField)
9
10
  ? box.host : panic(`Could not find 'host' field in '${box?.name}'`);
10
11
  DeviceBoxUtils.lookupLabelField = (box) => isDefined(box) && "label" in box && isInstanceOf(box.label, StringField)
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptDeclaration.d.ts","sourceRoot":"","sources":["../src/ScriptDeclaration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScriptDeclaration.d.ts","sourceRoot":"","sources":["../src/ScriptDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAC5J,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAEzE,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,MAAM,eAAe,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAA;CAAE,GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;CAAE,CAAA;AAE1E,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAC1C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;CACjD;AA4FD,yBAAiB,iBAAiB,CAAC;IAC/B,MAAM,CAAC,MAAM,OAAO,MAJU,gBAAgB,KAAK,gBAAgB,KAAG,OAI1B,CAAA;IAE5C,MAAM,CAAC,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAMtD,CAAA;IAED,MAAM,CAAC,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,gBAAgB,CAQxE,CAAA;IAED,MAAM,CAAC,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,iBAAiB,CAkB1E,CAAA;IAED,MAAM,CAAC,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAYtE,CAAA;IAED,MAAM,CAAC,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,kBAAkB,CAiC1E,CAAA;IAED,MAAM,CAAC,MAAM,mBAAmB,GAAI,aAAa,gBAAgB,KAAG,YAAY,CAAC,MAAM,CAatF,CAAA;IAED,MAAM,CAAC,MAAM,oBAAoB,GAAI,aAAa,gBAAgB,KAAG,aAAa,CAAC,MAAM,CAaxF,CAAA;IAED,KAAK,YAAY,GAAG;QAChB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QAClC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KACvC,CAAA;IAED,MAAM,CAAC,MAAM,oBAAoB,GAAI,aAAa,gBAAgB,KAAG,YAGnE,CAAA;IAEF,MAAM,MAAM,mBAAmB,GAAG;QAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;QAC/B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;KACzC,CAAA;IAED,MAAM,CAAC,MAAM,qBAAqB,GAAI,YAAY,mBAAmB,EAC/B,WAAW,WAAW,EACtB,iBAAiB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAG,mBA0ClF,CAAA;;CACJ"}
@@ -1,4 +1,4 @@
1
- import { asInstanceOf, isDefined, Notifier, Option, StringMapping, Terminable, ValueMapping } from "@opendaw/lib-std";
1
+ import { asInstanceOf, isDefined, isValidIdentifier, Notifier, Option, StringMapping, Terminable, ValueMapping } from "@opendaw/lib-std";
2
2
  import { WerkstattParameterBox } from "@opendaw/studio-boxes";
3
3
  const LABEL_LINE = /^\/\/ @label .+$/m;
4
4
  const PARAM_LINE = /^\/\/ @param .+$/gm;
@@ -23,6 +23,9 @@ const parseSingleParam = (line) => {
23
23
  throw new Error(`Malformed @param: '${line}'`);
24
24
  }
25
25
  const label = tokens[0];
26
+ if (!isValidIdentifier(label)) {
27
+ throw new Error(`Malformed @param: '${line}' — '${label}' is not a valid identifier`);
28
+ }
26
29
  if (tokens.length === 1) {
27
30
  return { label, defaultValue: 0, min: 0, max: 1, mapping: "unipolar", unit: "" };
28
31
  }
@@ -115,6 +118,9 @@ export var ScriptDeclaration;
115
118
  if (tokens.length > 1) {
116
119
  throw new Error(`Malformed @sample: '${match[0]}' — expected: // @sample <name>`);
117
120
  }
121
+ if (!isValidIdentifier(tokens[0])) {
122
+ throw new Error(`Malformed @sample: '${match[0]}' — '${tokens[0]}' is not a valid identifier`);
123
+ }
118
124
  samples.push({ label: tokens[0] });
119
125
  }
120
126
  return samples;
@@ -157,6 +163,9 @@ export var ScriptDeclaration;
157
163
  if (tokens.length === 0 || tokens[0].length === 0) {
158
164
  throw new Error(`Malformed @sample: '${line}' — expected: // @sample <name>`);
159
165
  }
166
+ if (!isValidIdentifier(tokens[0])) {
167
+ throw new Error(`Malformed @sample: '${line}' — '${tokens[0]}' is not a valid identifier`);
168
+ }
160
169
  currentItems.push({ type: "sample", declaration: { label: tokens[0] } });
161
170
  }
162
171
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/studio-adapters",
3
- "version": "0.0.117",
3
+ "version": "0.0.118",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -36,5 +36,5 @@
36
36
  "@opendaw/eslint-config": "^0.0.28",
37
37
  "@opendaw/typescript-config": "^0.0.32"
38
38
  },
39
- "gitHead": "ca740027dffcf87e27e7cc30930cf14c474574a5"
39
+ "gitHead": "c9276338f3101de6e42cd0f52c91c2d9c53c8125"
40
40
  }