@opendaw/studio-adapters 0.0.74 → 0.0.76

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.
@@ -34,11 +34,11 @@ export class AudioFileBoxAdapter {
34
34
  const loader = this.getOrCreateLoader();
35
35
  const subscription = loader.subscribe(state => {
36
36
  if (state.type === "loaded") {
37
- subscription.terminate();
37
+ queueMicrotask(() => subscription.terminate());
38
38
  resolve(loader.data.unwrap("State mismatch"));
39
39
  }
40
40
  else if (state.type === "error") {
41
- subscription.terminate();
41
+ queueMicrotask(() => subscription.terminate());
42
42
  reject(new Error(state.reason));
43
43
  }
44
44
  });
@@ -4,6 +4,7 @@ export declare const EngineSettingsSchema: z.ZodObject<{
4
4
  enabled: z.ZodBoolean;
5
5
  beatSubDivision: z.ZodUnion<z.ZodLiteral<2 | 1 | 8 | 4>[]>;
6
6
  gain: z.ZodNumber;
7
+ monophonic: z.ZodBoolean;
7
8
  }, z.core.$strip>>;
8
9
  playback: z.ZodDefault<z.ZodObject<{
9
10
  timestampEnabled: z.ZodBoolean;
@@ -12,11 +13,16 @@ export declare const EngineSettingsSchema: z.ZodObject<{
12
13
  }, z.core.$strip>>;
13
14
  recording: z.ZodDefault<z.ZodObject<{
14
15
  countInBars: z.ZodUnion<z.ZodLiteral<2 | 1 | 3 | 8 | 6 | 4 | 5 | 7>[]>;
16
+ allowTakes: z.ZodBoolean;
17
+ olderTakeAction: z.ZodUnion<z.ZodLiteral<"disable-track" | "mute-region">[]>;
18
+ olderTakeScope: z.ZodUnion<z.ZodLiteral<"all" | "previous-only">[]>;
15
19
  }, z.core.$strip>>;
16
20
  }, z.core.$strip>;
17
21
  export type EngineSettings = z.infer<typeof EngineSettingsSchema>;
18
22
  export declare namespace EngineSettings {
19
23
  const BeatSubDivisionOptions: readonly [1, 2, 4, 8];
20
24
  const RecordingCountInBars: readonly [1, 2, 3, 4, 5, 6, 7, 8];
25
+ const OlderTakeActionOptions: readonly ["disable-track", "mute-region"];
26
+ const OlderTakeScopeOptions: readonly ["all", "previous-only"];
21
27
  }
22
28
  //# sourceMappingURL=EnginePreferencesSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnginePreferencesSchema.d.ts","sourceRoot":"","sources":["../../src/engine/EnginePreferencesSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAKrB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;iBAwB/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,yBAAiB,cAAc,CAAC;IACrB,MAAM,sBAAsB,uBAA0B,CAAA;IACtD,MAAM,oBAAoB,mCAAwB,CAAA;CAC5D"}
1
+ {"version":3,"file":"EnginePreferencesSchema.d.ts","sourceRoot":"","sources":["../../src/engine/EnginePreferencesSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAUrB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;iBAgC/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,yBAAiB,cAAc,CAAC;IACrB,MAAM,sBAAsB,uBAA0B,CAAA;IACtD,MAAM,oBAAoB,mCAAwB,CAAA;IAClD,MAAM,sBAAsB,2CAA0B,CAAA;IACtD,MAAM,qBAAqB,mCAAyB,CAAA;CAC9D"}
@@ -1,15 +1,21 @@
1
1
  import { z } from "zod";
2
2
  const _BeatSubDivisionOptions = [1, 2, 4, 8];
3
3
  const _RecordingCountInBars = [1, 2, 3, 4, 5, 6, 7, 8];
4
+ const _OlderTakeActionOptions = ["disable-track", "mute-region"];
5
+ const _OlderTakeScopeOptions = ["all", "previous-only"];
6
+ const isDevOrLocalhost = typeof location !== "undefined" &&
7
+ (location.hostname === "localhost" || location.hostname === "dev.opendaw.studio");
4
8
  export const EngineSettingsSchema = z.object({
5
9
  metronome: z.object({
6
10
  enabled: z.boolean(),
7
11
  beatSubDivision: z.union(_BeatSubDivisionOptions.map(value => z.literal(value))),
8
- gain: z.number().min(Number.NEGATIVE_INFINITY).max(0)
12
+ gain: z.number().min(Number.NEGATIVE_INFINITY).max(0),
13
+ monophonic: z.boolean()
9
14
  }).default({
10
15
  enabled: false,
11
16
  beatSubDivision: 1,
12
- gain: -6.0
17
+ gain: -6.0,
18
+ monophonic: true
13
19
  }),
14
20
  playback: z.object({
15
21
  timestampEnabled: z.boolean(),
@@ -21,13 +27,21 @@ export const EngineSettingsSchema = z.object({
21
27
  truncateNotesAtRegionEnd: false
22
28
  }),
23
29
  recording: z.object({
24
- countInBars: z.union(_RecordingCountInBars.map(value => z.literal(value)))
30
+ countInBars: z.union(_RecordingCountInBars.map(value => z.literal(value))),
31
+ allowTakes: z.boolean(),
32
+ olderTakeAction: z.union(_OlderTakeActionOptions.map(value => z.literal(value))),
33
+ olderTakeScope: z.union(_OlderTakeScopeOptions.map(value => z.literal(value)))
25
34
  }).default({
26
- countInBars: 1
35
+ countInBars: 1,
36
+ allowTakes: isDevOrLocalhost,
37
+ olderTakeAction: "mute-region",
38
+ olderTakeScope: "previous-only"
27
39
  })
28
40
  });
29
41
  export var EngineSettings;
30
42
  (function (EngineSettings) {
31
43
  EngineSettings.BeatSubDivisionOptions = _BeatSubDivisionOptions;
32
44
  EngineSettings.RecordingCountInBars = _RecordingCountInBars;
45
+ EngineSettings.OlderTakeActionOptions = _OlderTakeActionOptions;
46
+ EngineSettings.OlderTakeScopeOptions = _OlderTakeScopeOptions;
33
47
  })(EngineSettings || (EngineSettings = {}));
@@ -16,6 +16,7 @@ export interface EngineCommands extends Terminable {
16
16
  scheduleClipPlay(clipIds: ReadonlyArray<UUID.Bytes>): void;
17
17
  scheduleClipStop(trackIds: ReadonlyArray<UUID.Bytes>): void;
18
18
  setupMIDI(port: MessagePort, buffer: SharedArrayBuffer): void;
19
+ loadClickSound(index: 0 | 1, data: AudioData): void;
19
20
  }
20
21
  export interface EngineToClient {
21
22
  log(message: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,IAAI,IAAI,IAAI,CAAA;IACZ,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,aAAa,IAAI,IAAI,CAAA;IACrB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,KAAK,IAAI,IAAI,CAAA;IAEb,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IAExC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC3D,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAChE;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC/D,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3D,KAAK,IAAI,IAAI,CAAA;CAChB"}
1
+ {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,IAAI,IAAI,IAAI,CAAA;IACZ,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,aAAa,IAAI,IAAI,CAAA;IACrB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,KAAK,IAAI,IAAI,CAAA;IAEb,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IAExC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC3D,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAE7D,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;CACtD;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC/D,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3D,KAAK,IAAI,IAAI,CAAA;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValueEventCollectionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/collection/ValueEventCollectionBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,uBAAuB,EAAC,MAAM,uBAAuB,CAAA;AACxF,OAAO,EAGH,GAAG,EAIH,QAAQ,EACR,MAAM,EAGN,YAAY,EAEZ,SAAS,EACT,IAAI,EACJ,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAM,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,eAAe,EAAE,aAAa,EAAE,IAAI,EAAa,MAAM,kBAAkB,CAAA;AAEjF,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAA;AAGlE,KAAK,iBAAiB,GAAG;IACrB,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,aAAa,CAAA;CAC/B,CAAA;AAED,qBAAa,8BAA+B,YAAW,UAAU;;gBAUjD,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,uBAAuB;IA+BrE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS;IAEvD,IAAI,IAAI,8BAA8B;IAOtC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAE,YAAY,CAAC,MAAM,CAA2B,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAsE/G,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAEvD,WAAW,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAC,EAAE,iBAAiB,GAAG,oBAAoB;IAqB7F,cAAc,IAAI,IAAI;IAKtB,sBAAsB,IAAI,IAAI;IAE9B,SAAS;IAET,IAAI,GAAG,IAAI,uBAAuB,CAAmB;IACrD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,SAAS,IAAI,GAAG,CAAkF;IACtG,IAAI,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAsB;IAEzE,QAAQ,IAAI,MAAM;CAGrB"}
1
+ {"version":3,"file":"ValueEventCollectionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/collection/ValueEventCollectionBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,uBAAuB,EAAC,MAAM,uBAAuB,CAAA;AACxF,OAAO,EAGH,GAAG,EAIH,QAAQ,EACR,MAAM,EAGN,YAAY,EAEZ,SAAS,EACT,IAAI,EACJ,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAM,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,eAAe,EAAE,aAAa,EAAE,IAAI,EAAa,MAAM,kBAAkB,CAAA;AAEjF,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAA;AAGlE,KAAK,iBAAiB,GAAG;IACrB,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,aAAa,CAAA;CAC/B,CAAA;AAED,qBAAa,8BAA+B,YAAW,UAAU;;gBAUjD,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,uBAAuB;IA+BrE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS;IAEvD,IAAI,IAAI,8BAA8B;IAOtC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAE,YAAY,CAAC,MAAM,CAA2B,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAuE/G,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAEvD,WAAW,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAC,EAAE,iBAAiB,GAAG,oBAAoB;IAoB7F,cAAc,IAAI,IAAI;IAKtB,sBAAsB,IAAI,IAAI;IAE9B,SAAS;IAET,IAAI,GAAG,IAAI,uBAAuB,CAAmB;IACrD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,SAAS,IAAI,GAAG,CAAkF;IACtG,IAAI,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAsB;IAEzE,QAAQ,IAAI,MAAM;CAGrB"}
@@ -84,6 +84,9 @@ export class ValueEventCollectionBoxAdapter {
84
84
  if (low.position === position) {
85
85
  return Option.wrap(low);
86
86
  }
87
+ if (high.position === position) {
88
+ return Option.wrap(high);
89
+ }
87
90
  if (low.interpolation.type === "none") {
88
91
  return Option.wrap(this.createEvent({
89
92
  position,
@@ -134,15 +137,14 @@ export class ValueEventCollectionBoxAdapter {
134
137
  }
135
138
  subscribeChange(observer) { return __classPrivateFieldGet(this, _ValueEventCollectionBoxAdapter_changeNotifier, "f").subscribe(observer); }
136
139
  createEvent({ position, index, value, interpolation }) {
137
- const existing = __classPrivateFieldGet(this, _ValueEventCollectionBoxAdapter_adapters, "f").values().find(e => e.position === position && e.index === index);
140
+ // Position is stored as integer in box, so truncate for comparison to prevent duplicates
141
+ const intPosition = Math.trunc(position);
142
+ const existing = __classPrivateFieldGet(this, _ValueEventCollectionBoxAdapter_adapters, "f").values().find(event => event.position === intPosition && event.index === index);
138
143
  if (isDefined(existing)) {
139
- console.warn(`createEvent: DUPLICATE POSITION/INDEX!`, {
140
- existingUUID: UUID.toString(existing.uuid),
141
- position,
142
- index,
143
- collectionUUID: UUID.toString(__classPrivateFieldGet(this, _ValueEventCollectionBoxAdapter_box, "f").address.uuid),
144
- stack: new Error().stack
145
- });
144
+ // Return an existing event instead of creating a duplicate-update its value
145
+ existing.box.value.setValue(value);
146
+ InterpolationFieldAdapter.write(existing.box.interpolation, interpolation);
147
+ return existing;
146
148
  }
147
149
  const eventBox = ValueEventBox.create(__classPrivateFieldGet(this, _ValueEventCollectionBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
148
150
  box.position.setValue(position);
@@ -1 +1 @@
1
- {"version":3,"file":"ValueEventBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/event/ValueEventBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,GAAG,EACH,MAAM,EACN,UAAU,EAGV,SAAS,EACT,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,OAAO,EAAE,KAAK,EAAsB,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAC,8BAA8B,EAAC,MAAM,8CAA8C,CAAA;AAC3F,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAG3D,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;CACvC,CAAA;AAED,qBAAa,oBAAqB,YAAW,UAAU,EAAE,UAAU,EAAE,UAAU;;IAC3E,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAM3D;IAED,QAAQ,CAAC,IAAI,iBAAgB;gBAYjB,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa;IAgD3D,UAAU,IAAI,IAAI;IAIlB,YAAY,IAAI,IAAI;IAKpB,SAAS,IAAI,IAAI;IAKjB,IAAI,GAAG,IAAI,aAAa,CAAmB;IAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,QAAQ,IAAI,GAAG,CAAuC;IAC1D,IAAI,KAAK,IAAI,GAAG,CAAoC;IACpD,IAAI,aAAa,CAAC,KAAK,EAAE,aAAa,EAAmE;IACzG,IAAI,aAAa,IAAI,aAAa,CAAmC;IACrE,IAAI,KAAK,IAAI,MAAM,CAAoC;IACvD,IAAI,UAAU,IAAI,OAAO,CAA0B;IACnD,IAAI,UAAU,IAAI,MAAM,CAAC,8BAA8B,CAAC,CAGvD;IAED,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,oBAAoB;IAepD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAStC,QAAQ,IAAI,MAAM;CACrB"}
1
+ {"version":3,"file":"ValueEventBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/event/ValueEventBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,GAAG,EACH,MAAM,EAEN,UAAU,EAGV,SAAS,EACT,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,OAAO,EAAE,KAAK,EAAsB,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAC,8BAA8B,EAAC,MAAM,8CAA8C,CAAA;AAC3F,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAG3D,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;CACvC,CAAA;AAED,qBAAa,oBAAqB,YAAW,UAAU,EAAE,UAAU,EAAE,UAAU;;IAC3E,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAM3D;IAED,QAAQ,CAAC,IAAI,iBAAgB;gBAYjB,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa;IAgD3D,UAAU,IAAI,IAAI;IAIlB,YAAY,IAAI,IAAI;IAKpB,SAAS,IAAI,IAAI;IAKjB,IAAI,GAAG,IAAI,aAAa,CAAmB;IAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,QAAQ,IAAI,GAAG,CAAuC;IAC1D,IAAI,KAAK,IAAI,GAAG,CAAoC;IACpD,IAAI,aAAa,CAAC,KAAK,EAAE,aAAa,EAAmE;IACzG,IAAI,aAAa,IAAI,aAAa,CAAmC;IACrE,IAAI,KAAK,IAAI,MAAM,CAAoC;IACvD,IAAI,UAAU,IAAI,OAAO,CAA0B;IACnD,IAAI,UAAU,IAAI,MAAM,CAAC,8BAA8B,CAAC,CAGvD;IAED,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,oBAAoB;IAapD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAStC,QAAQ,IAAI,MAAM;CACrB"}
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _ValueEventBoxAdapter_terminator, _ValueEventBoxAdapter_context, _ValueEventBoxAdapter_box, _ValueEventBoxAdapter_interpolation, _ValueEventBoxAdapter_interpolationSubscription, _ValueEventBoxAdapter_isSelected;
13
- import { Arrays, Cache, Terminable, Terminator, UUID } from "@opendaw/lib-std";
13
+ import { Arrays, Cache, panic, Terminable, Terminator, UUID } from "@opendaw/lib-std";
14
14
  import { Propagation } from "@opendaw/lib-box";
15
15
  import { Pointers } from "@opendaw/studio-enums";
16
16
  import { ValueEventBox } from "@opendaw/studio-boxes";
@@ -94,8 +94,6 @@ export class ValueEventBoxAdapter {
94
94
  copyTo(options) {
95
95
  const position = options?.position ?? this.position;
96
96
  const index = options?.index ?? this.index;
97
- // DEBUG: Log copyTo calls
98
- console.debug(`copyTo: position=${position}, index=${index}`, new Error().stack);
99
97
  const eventBox = ValueEventBox.create(__classPrivateFieldGet(this, _ValueEventBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
100
98
  box.position.setValue(position);
101
99
  box.index.setValue(index);
@@ -125,5 +123,5 @@ ValueEventBoxAdapter.Comparator = (a, b) => {
125
123
  if (indexDiff !== 0) {
126
124
  return indexDiff;
127
125
  }
128
- throw new Error(`${a} and ${b} are identical in terms of comparison`);
126
+ return panic(`${a} and ${b} are identical in terms of comparison`);
129
127
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/studio-adapters",
3
- "version": "0.0.74",
3
+ "version": "0.0.76",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,18 +23,18 @@
23
23
  "test": "echo \"No tests to run\""
24
24
  },
25
25
  "dependencies": {
26
- "@opendaw/lib-box": "^0.0.66",
27
- "@opendaw/lib-dsp": "^0.0.64",
28
- "@opendaw/lib-fusion": "^0.0.69",
29
- "@opendaw/lib-runtime": "^0.0.64",
30
- "@opendaw/lib-std": "^0.0.64",
31
- "@opendaw/studio-boxes": "^0.0.67",
32
- "@opendaw/studio-enums": "^0.0.56",
26
+ "@opendaw/lib-box": "^0.0.67",
27
+ "@opendaw/lib-dsp": "^0.0.65",
28
+ "@opendaw/lib-fusion": "^0.0.71",
29
+ "@opendaw/lib-runtime": "^0.0.65",
30
+ "@opendaw/lib-std": "^0.0.65",
31
+ "@opendaw/studio-boxes": "^0.0.68",
32
+ "@opendaw/studio-enums": "^0.0.57",
33
33
  "soundfont2": "^0.5.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@opendaw/eslint-config": "^0.0.27",
37
37
  "@opendaw/typescript-config": "^0.0.28"
38
38
  },
39
- "gitHead": "191f202a971b57e16938aa308d818b0a8b8f3587"
39
+ "gitHead": "63d82cef8935683a8419bd146ba8da05c6034c08"
40
40
  }