@opendaw/studio-adapters 0.0.70 → 0.0.71

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.
Files changed (67) hide show
  1. package/dist/AutomatableParameterFieldAdapter.d.ts.map +1 -1
  2. package/dist/AutomatableParameterFieldAdapter.js +3 -1
  3. package/dist/BoxAdapters.d.ts.map +1 -1
  4. package/dist/BoxAdapters.js +2 -0
  5. package/dist/BoxAdaptersContext.d.ts +1 -2
  6. package/dist/BoxAdaptersContext.d.ts.map +1 -1
  7. package/dist/ClipSequencing.d.ts +1 -1
  8. package/dist/ClipSequencing.d.ts.map +1 -1
  9. package/dist/EngineStateSchema.d.ts +1 -0
  10. package/dist/EngineStateSchema.d.ts.map +1 -1
  11. package/dist/EngineStateSchema.js +1 -0
  12. package/dist/TempoRange.d.ts +5 -0
  13. package/dist/TempoRange.d.ts.map +1 -0
  14. package/dist/TempoRange.js +1 -0
  15. package/dist/Validator.d.ts +0 -2
  16. package/dist/Validator.d.ts.map +1 -1
  17. package/dist/Validator.js +4 -3
  18. package/dist/VaryingTempoMap.d.ts +18 -0
  19. package/dist/VaryingTempoMap.d.ts.map +1 -0
  20. package/dist/VaryingTempoMap.js +105 -0
  21. package/dist/audio/AudioFileBoxAdapter.js +1 -1
  22. package/dist/index.d.ts +4 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +4 -0
  25. package/dist/project/ProjectSkeleton.d.ts.map +1 -1
  26. package/dist/project/ProjectSkeleton.js +4 -3
  27. package/dist/project/ProjectUtils.d.ts.map +1 -1
  28. package/dist/project/ProjectUtils.js +17 -16
  29. package/dist/selection/FilteredSelection.js +2 -2
  30. package/dist/selection/VertexSelection.d.ts.map +1 -1
  31. package/dist/selection/VertexSelection.js +0 -1
  32. package/dist/timeline/RegionBoxAdapter.d.ts +8 -0
  33. package/dist/timeline/RegionBoxAdapter.d.ts.map +1 -1
  34. package/dist/timeline/RegionEditing.d.ts.map +1 -1
  35. package/dist/timeline/RegionEditing.js +0 -1
  36. package/dist/timeline/SignatureEventBoxAdapter.d.ts +24 -0
  37. package/dist/timeline/SignatureEventBoxAdapter.d.ts.map +1 -0
  38. package/dist/timeline/SignatureEventBoxAdapter.js +42 -0
  39. package/dist/timeline/SignatureTrackAdapter.d.ts +41 -0
  40. package/dist/timeline/SignatureTrackAdapter.d.ts.map +1 -0
  41. package/dist/timeline/SignatureTrackAdapter.js +279 -0
  42. package/dist/timeline/TimelineBoxAdapter.d.ts +7 -2
  43. package/dist/timeline/TimelineBoxAdapter.d.ts.map +1 -1
  44. package/dist/timeline/TimelineBoxAdapter.js +52 -7
  45. package/dist/timeline/TrackBoxAdapter.d.ts +1 -0
  46. package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
  47. package/dist/timeline/TrackBoxAdapter.js +1 -0
  48. package/dist/timeline/clip/AudioClipBoxAdapter.d.ts +1 -2
  49. package/dist/timeline/clip/AudioClipBoxAdapter.d.ts.map +1 -1
  50. package/dist/timeline/clip/AudioClipBoxAdapter.js +3 -4
  51. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.d.ts.map +1 -1
  52. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.js +10 -8
  53. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.d.ts +2 -2
  54. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.d.ts.map +1 -1
  55. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.js +15 -8
  56. package/dist/timeline/event/ValueEventBoxAdapter.d.ts +1 -1
  57. package/dist/timeline/event/ValueEventBoxAdapter.d.ts.map +1 -1
  58. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts +4 -0
  59. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts.map +1 -1
  60. package/dist/timeline/region/AudioRegionBoxAdapter.js +17 -13
  61. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts +5 -1
  62. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts.map +1 -1
  63. package/dist/timeline/region/NoteRegionBoxAdapter.js +4 -0
  64. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts +4 -0
  65. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts.map +1 -1
  66. package/dist/timeline/region/ValueRegionBoxAdapter.js +4 -0
  67. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"AutomatableParameterFieldAdapter.d.ts","sourceRoot":"","sources":["../src/AutomatableParameterFieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,qBAAqB,EAIrB,QAAQ,EACR,MAAM,EAEN,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,OAAO,EAA8B,cAAc,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAQvD,qBAAa,gCAAgC,CAAC,CAAC,SAAS,eAAe,GAAG,GAAG,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;;gBAiBlG,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,EAC7B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS;IA0D9B,mBAAmB,IAAI,UAAU;IAWjC,IAAI,KAAK,IAAI,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAqB;IACxE,IAAI,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAA4B;IAC/D,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAA6B;IAClE,IAAI,IAAI,IAAI,MAAM,CAAoB;IACtC,IAAI,MAAM,IAAI,SAAS,CAAsB;IAC7C,IAAI,IAAI,IAAI,aAAa,CAA0B;IACnD,IAAI,OAAO,IAAI,OAAO,CAA6B;IACnD,IAAI,KAAK,IAAI,MAAM,CAAC,eAAe,CAAC,CAA+B;IAEnE,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC;IAW1B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAEhF,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAK1F,iCAAiC,CAAC,QAAQ,EAAE,qBAAqB,GAAG,YAAY;IAMhF,QAAQ,IAAI,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IACpC,YAAY,IAAI,SAAS;IACzB,kBAAkB,IAAI,CAAC;IACvB,sBAAsB,IAAI,SAAS;IACnC,uBAAuB,IAAI,QAAQ,CAAC,YAAY,CAAC;IACjD,aAAa,IAAI,QAAQ,CAAC,YAAY,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWjC,KAAK,IAAI,IAAI;IAEb,SAAS,IAAI,IAAI;CAKpB"}
1
+ {"version":3,"file":"AutomatableParameterFieldAdapter.d.ts","sourceRoot":"","sources":["../src/AutomatableParameterFieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,qBAAqB,EAIrB,QAAQ,EACR,MAAM,EAEN,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,OAAO,EAA8B,cAAc,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAQvD,qBAAa,gCAAgC,CAAC,CAAC,SAAS,eAAe,GAAG,GAAG,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;;gBAiBlG,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,EAC7B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS;IA0D9B,mBAAmB,IAAI,UAAU;IAWjC,IAAI,KAAK,IAAI,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAqB;IACxE,IAAI,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAA4B;IAC/D,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAA6B;IAClE,IAAI,IAAI,IAAI,MAAM,CAAoB;IACtC,IAAI,MAAM,IAAI,SAAS,CAAsB;IAC7C,IAAI,IAAI,IAAI,aAAa,CAA0B;IACnD,IAAI,OAAO,IAAI,OAAO,CAA6B;IACnD,IAAI,KAAK,IAAI,MAAM,CAAC,eAAe,CAAC,CAA+B;IAEnE,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC;IAW1B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAIhF,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAK1F,iCAAiC,CAAC,QAAQ,EAAE,qBAAqB,GAAG,YAAY;IAMhF,QAAQ,IAAI,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IACpC,YAAY,IAAI,SAAS;IACzB,kBAAkB,IAAI,CAAC;IACvB,sBAAsB,IAAI,SAAS;IACnC,uBAAuB,IAAI,QAAQ,CAAC,YAAY,CAAC;IACjD,aAAa,IAAI,QAAQ,CAAC,YAAY,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWjC,KAAK,IAAI,IAAI;IAEb,SAAS,IAAI,IAAI;CAKpB"}
@@ -119,7 +119,9 @@ export class AutomatableParameterFieldAdapter {
119
119
  }
120
120
  return this.getValue();
121
121
  }
122
- subscribe(observer) { return __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_valueChangeNotifier, "f").subscribe(observer); }
122
+ subscribe(observer) {
123
+ return __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_valueChangeNotifier, "f").subscribe(observer);
124
+ }
123
125
  catchupAndSubscribe(observer) {
124
126
  observer(this);
125
127
  return this.subscribe(observer);
@@ -1 +1 @@
1
- {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAKL,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AAiG5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAmBvC,qBAAa,WAAY,YAAW,UAAU;;gBAO9B,OAAO,EAAE,kBAAkB;IAkBvC,SAAS,IAAI,IAAI;IAMjB,UAAU,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA6EtG"}
1
+ {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAKL,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AAkG5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAoBvC,qBAAa,WAAY,YAAW,UAAU;;gBAO9B,OAAO,EAAE,kBAAkB;IAkBvC,SAAS,IAAI,IAAI;IAMjB,UAAU,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA8EtG"}
@@ -66,6 +66,7 @@ import { AudioPitchStretchBoxAdapter } from "./audio/AudioPitchStretchBoxAdapter
66
66
  import { TransientMarkerBoxAdapter } from "./audio/TransientMarkerBoxAdapter";
67
67
  import { WarpMarkerBoxAdapter } from "./audio/WarpMarkerBoxAdapter";
68
68
  import { AudioTimeStretchBoxAdapter } from "./audio/AudioTimeStretchBoxAdapter";
69
+ import { SignatureEventBoxAdapter } from "./timeline/SignatureEventBoxAdapter";
69
70
  export class BoxAdapters {
70
71
  constructor(context) {
71
72
  _BoxAdapters_instances.add(this);
@@ -133,6 +134,7 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
133
134
  visitFoldDeviceBox: (box) => new FoldDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
134
135
  visitGrooveShuffleBox: (box) => new GrooveShuffleBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
135
136
  visitMarkerBox: (box) => new MarkerBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
137
+ visitSignatureEventBox: (box) => new SignatureEventBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
136
138
  visitMIDIOutputDeviceBox: (box) => new MIDIOutputDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
137
139
  visitModularAudioInputBox: (box) => new ModularAudioInputAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
138
140
  visitModularAudioOutputBox: (box) => new ModularAudioOutputAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
@@ -8,7 +8,7 @@ import { ParameterFieldAdapters } from "./ParameterFieldAdapters";
8
8
  import { BoxAdapters } from "./BoxAdapters";
9
9
  import { SampleLoaderManager } from "./sample/SampleLoaderManager";
10
10
  import { SoundfontLoaderManager } from "./soundfont/SoundfontLoaderManager";
11
- import { ppqn, TempoMap } from "@opendaw/lib-dsp";
11
+ import { TempoMap } from "@opendaw/lib-dsp";
12
12
  export interface BoxAdaptersContext extends Terminable {
13
13
  get boxGraph(): BoxGraph;
14
14
  get boxAdapters(): BoxAdapters;
@@ -20,7 +20,6 @@ export interface BoxAdaptersContext extends Terminable {
20
20
  get liveStreamBroadcaster(): LiveStreamBroadcaster;
21
21
  get clipSequencing(): ClipSequencing;
22
22
  get parameterFieldAdapters(): ParameterFieldAdapters;
23
- get signatureDuration(): ppqn;
24
23
  get tempoMap(): TempoMap;
25
24
  get isMainThread(): boolean;
26
25
  get isAudioContext(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"BoxAdaptersContext.d.ts","sourceRoot":"","sources":["../src/BoxAdaptersContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,sBAAsB,EAAC,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAE/C,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,WAAW,IAAI,WAAW,CAAA;IAC9B,IAAI,aAAa,IAAI,mBAAmB,CAAA;IACxC,IAAI,gBAAgB,IAAI,sBAAsB,CAAA;IAC9C,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,qBAAqB,IAAI,qBAAqB,CAAA;IAClD,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,sBAAsB,IAAI,sBAAsB,CAAA;IACpD,IAAI,iBAAiB,IAAI,IAAI,CAAA;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,YAAY,IAAI,OAAO,CAAA;IAC3B,IAAI,cAAc,IAAI,OAAO,CAAA;CAChC"}
1
+ {"version":3,"file":"BoxAdaptersContext.d.ts","sourceRoot":"","sources":["../src/BoxAdaptersContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,sBAAsB,EAAC,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAEzC,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,WAAW,IAAI,WAAW,CAAA;IAC9B,IAAI,aAAa,IAAI,mBAAmB,CAAA;IACxC,IAAI,gBAAgB,IAAI,sBAAsB,CAAA;IAC9C,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,qBAAqB,IAAI,qBAAqB,CAAA;IAClD,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,sBAAsB,IAAI,sBAAsB,CAAA;IACpD,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,YAAY,IAAI,OAAO,CAAA;IAC3B,IAAI,cAAc,IAAI,OAAO,CAAA;CAChC"}
@@ -7,6 +7,6 @@ export type Section = {
7
7
  sectionTo: ppqn;
8
8
  };
9
9
  export interface ClipSequencing extends Terminable {
10
- iterate(trackKey: UUID.Bytes, a: ppqn, b: ppqn): Generator<Section>;
10
+ iterate(trackKey: UUID.Bytes, a: ppqn, b: ppqn): IterableIterator<Section>;
11
11
  }
12
12
  //# sourceMappingURL=ClipSequencing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClipSequencing.d.ts","sourceRoot":"","sources":["../src/ClipSequencing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAErD,MAAM,MAAM,OAAO,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAClC,WAAW,EAAE,IAAI,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;CACtE"}
1
+ {"version":3,"file":"ClipSequencing.d.ts","sourceRoot":"","sources":["../src/ClipSequencing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAErD,MAAM,MAAM,OAAO,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAClC,WAAW,EAAE,IAAI,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;CAC7E"}
@@ -1,6 +1,7 @@
1
1
  import { Schema } from "@opendaw/lib-std";
2
2
  export declare const EngineStateSchema: () => Schema.IO<{
3
3
  position: number;
4
+ bpm: number;
4
5
  playbackTimestamp: number;
5
6
  countInBeatsRemaining: number;
6
7
  isPlaying: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"EngineStateSchema.d.ts","sourceRoot":"","sources":["../src/EngineStateSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAEvC,eAAO,MAAM,iBAAiB;;;;;;;EAO5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"EngineStateSchema.d.ts","sourceRoot":"","sources":["../src/EngineStateSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAEvC,eAAO,MAAM,iBAAiB;;;;;;;;EAQ5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { Schema } from "@opendaw/lib-std";
2
2
  export const EngineStateSchema = Schema.createBuilder({
3
3
  position: Schema.float,
4
+ bpm: Schema.float,
4
5
  playbackTimestamp: Schema.float,
5
6
  countInBeatsRemaining: Schema.float,
6
7
  isPlaying: Schema.bool,
@@ -0,0 +1,5 @@
1
+ export declare const TempoRange: {
2
+ readonly min: 30;
3
+ readonly max: 1000;
4
+ };
5
+ //# sourceMappingURL=TempoRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TempoRange.d.ts","sourceRoot":"","sources":["../src/TempoRange.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;CAAgC,CAAA"}
@@ -0,0 +1 @@
1
+ export const TempoRange = { min: 30, max: 1000 };
@@ -2,8 +2,6 @@ import { BoxGraph } from "@opendaw/lib-box";
2
2
  import { Attempt, int } from "@opendaw/lib-std";
3
3
  export declare namespace Validator {
4
4
  const isTimeSignatureValid: (numerator: int, denominator: int) => Attempt<[int, int], string>;
5
- const MIN_BPM = 30;
6
- const MAX_BPM = 1000;
7
5
  const clampBpm: (bpm: number) => number;
8
6
  const hasOverlappingRegions: (boxGraph: BoxGraph) => boolean;
9
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAS,OAAO,EAAmB,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAItE,yBAAiB,SAAS,CAAC;IAChB,MAAM,oBAAoB,GAAI,WAAW,GAAG,EAAE,aAAa,GAAG,KAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAQjG,CAAA;IAEM,MAAM,OAAO,KAAO,CAAA;IACpB,MAAM,OAAO,OAAS,CAAA;IAEtB,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,MAAqE,CAAA;IAErG,MAAM,qBAAqB,GAAI,UAAU,QAAQ,KAAG,OAe3C,CAAA;CACnB"}
1
+ {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAS,OAAO,EAAmB,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAKtE,yBAAiB,SAAS,CAAC;IAChB,MAAM,oBAAoB,GAAI,WAAW,GAAG,EAAE,aAAa,GAAG,KAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAQjG,CAAA;IAEM,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,MAE5B,CAAA;IAEJ,MAAM,qBAAqB,GAAI,UAAU,QAAQ,KAAG,OAe3C,CAAA;CACnB"}
package/dist/Validator.js CHANGED
@@ -2,6 +2,7 @@ import { AudioRegionBox } from "@opendaw/studio-boxes";
2
2
  import { Arrays, Attempts, clamp } from "@opendaw/lib-std";
3
3
  import { UnionBoxTypes } from "./unions";
4
4
  import { TimeBase } from "@opendaw/lib-dsp";
5
+ import { TempoRange } from "./TempoRange";
5
6
  export var Validator;
6
7
  (function (Validator) {
7
8
  Validator.isTimeSignatureValid = (numerator, denominator) => {
@@ -13,9 +14,9 @@ export var Validator;
13
14
  }
14
15
  return Attempts.ok([numerator, denominator]);
15
16
  };
16
- Validator.MIN_BPM = 30.0;
17
- Validator.MAX_BPM = 1000.0;
18
- Validator.clampBpm = (bpm) => Number.isFinite(bpm) ? clamp(bpm, Validator.MIN_BPM, Validator.MAX_BPM) : 120.0;
17
+ Validator.clampBpm = (bpm) => Number.isFinite(bpm)
18
+ ? clamp(bpm, TempoRange.min, TempoRange.max)
19
+ : 120.0;
19
20
  Validator.hasOverlappingRegions = (boxGraph) => boxGraph.boxes()
20
21
  .some(box => box.accept({
21
22
  visitTrackBox: (box) => {
@@ -0,0 +1,18 @@
1
+ import { bpm, ppqn, seconds, TempoMap } from "@opendaw/lib-dsp";
2
+ import { Observer, Subscription } from "@opendaw/lib-std";
3
+ import { TimelineBoxAdapter } from "./timeline/TimelineBoxAdapter";
4
+ /**
5
+ * TempoMap implementation that handles varying tempo (tempo automation).
6
+ * Steps through at TempoChangeGrid intervals to match BlockRenderer behavior.
7
+ */
8
+ export declare class VaryingTempoMap implements TempoMap {
9
+ #private;
10
+ constructor(adapter: TimelineBoxAdapter);
11
+ getTempoAt(position: ppqn): bpm;
12
+ ppqnToSeconds(position: ppqn): seconds;
13
+ secondsToPPQN(time: seconds): ppqn;
14
+ intervalToSeconds(fromPPQN: ppqn, toPPQN: ppqn): seconds;
15
+ intervalToPPQN(fromSeconds: seconds, toSeconds: seconds): ppqn;
16
+ subscribe(observer: Observer<TempoMap>): Subscription;
17
+ }
18
+ //# sourceMappingURL=VaryingTempoMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VaryingTempoMap.d.ts","sourceRoot":"","sources":["../src/VaryingTempoMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAQ,OAAO,EAAmB,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACpF,OAAO,EAAC,QAAQ,EAAgB,YAAY,EAAa,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAEhE;;;GAGG;AACH,qBAAa,eAAgB,YAAW,QAAQ;;gBAGhC,OAAO,EAAE,kBAAkB;IAIvC,UAAU,CAAC,QAAQ,EAAE,IAAI,GAAG,GAAG;IAQ/B,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO;IAItC,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IA+BlC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO;IAwBxD,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAQ9D,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,YAAY;CAQxD"}
@@ -0,0 +1,105 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _VaryingTempoMap_instances, _VaryingTempoMap_adapter, _VaryingTempoMap_absoluteSecondsToPPQN;
13
+ import { PPQN, TempoChangeGrid } from "@opendaw/lib-dsp";
14
+ import { quantizeCeil, Terminator } from "@opendaw/lib-std";
15
+ /**
16
+ * TempoMap implementation that handles varying tempo (tempo automation).
17
+ * Steps through at TempoChangeGrid intervals to match BlockRenderer behavior.
18
+ */
19
+ export class VaryingTempoMap {
20
+ constructor(adapter) {
21
+ _VaryingTempoMap_instances.add(this);
22
+ _VaryingTempoMap_adapter.set(this, void 0);
23
+ __classPrivateFieldSet(this, _VaryingTempoMap_adapter, adapter, "f");
24
+ }
25
+ getTempoAt(position) {
26
+ const storageBpm = __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").box.bpm.getValue();
27
+ return __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").tempoTrackEvents.mapOr(collection => collection.valueAt(position, storageBpm), storageBpm);
28
+ }
29
+ ppqnToSeconds(position) {
30
+ return this.intervalToSeconds(0, position);
31
+ }
32
+ secondsToPPQN(time) {
33
+ return __classPrivateFieldGet(this, _VaryingTempoMap_instances, "m", _VaryingTempoMap_absoluteSecondsToPPQN).call(this, time);
34
+ }
35
+ intervalToSeconds(fromPPQN, toPPQN) {
36
+ if (fromPPQN >= toPPQN) {
37
+ return 0.0;
38
+ }
39
+ const storageBpm = __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").box.bpm.getValue();
40
+ const tempoEvents = __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").tempoTrackEvents;
41
+ if (tempoEvents.isEmpty()) {
42
+ return PPQN.pulsesToSeconds(toPPQN - fromPPQN, storageBpm);
43
+ }
44
+ const collection = tempoEvents.unwrap();
45
+ if (collection.events.isEmpty()) {
46
+ return PPQN.pulsesToSeconds(toPPQN - fromPPQN, storageBpm);
47
+ }
48
+ let totalSeconds = 0.0;
49
+ let currentPPQN = fromPPQN;
50
+ while (currentPPQN < toPPQN) {
51
+ const currentBpm = collection.valueAt(currentPPQN, storageBpm);
52
+ const nextGrid = quantizeCeil(currentPPQN, TempoChangeGrid);
53
+ const segmentEnd = nextGrid <= currentPPQN ? nextGrid + TempoChangeGrid : nextGrid;
54
+ const actualEnd = Math.min(segmentEnd, toPPQN);
55
+ totalSeconds += PPQN.pulsesToSeconds(actualEnd - currentPPQN, currentBpm);
56
+ currentPPQN = actualEnd;
57
+ }
58
+ return totalSeconds;
59
+ }
60
+ intervalToPPQN(fromSeconds, toSeconds) {
61
+ if (fromSeconds >= toSeconds) {
62
+ return 0.0;
63
+ }
64
+ // Find PPQN positions for both absolute times, return the difference
65
+ const fromPPQN = __classPrivateFieldGet(this, _VaryingTempoMap_instances, "m", _VaryingTempoMap_absoluteSecondsToPPQN).call(this, fromSeconds);
66
+ const toPPQN = __classPrivateFieldGet(this, _VaryingTempoMap_instances, "m", _VaryingTempoMap_absoluteSecondsToPPQN).call(this, toSeconds);
67
+ return toPPQN - fromPPQN;
68
+ }
69
+ subscribe(observer) {
70
+ const terminator = new Terminator();
71
+ terminator.ownAll(__classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").box.bpm.subscribe(() => observer(this)), __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").catchupAndSubscribeTempoAutomation(() => observer(this)));
72
+ return terminator;
73
+ }
74
+ }
75
+ _VaryingTempoMap_adapter = new WeakMap(), _VaryingTempoMap_instances = new WeakSet(), _VaryingTempoMap_absoluteSecondsToPPQN = function _VaryingTempoMap_absoluteSecondsToPPQN(targetSeconds) {
76
+ if (targetSeconds <= 0) {
77
+ return 0.0;
78
+ }
79
+ const storageBpm = __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").box.bpm.getValue();
80
+ const tempoEvents = __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").tempoTrackEvents;
81
+ if (tempoEvents.isEmpty()) {
82
+ return PPQN.secondsToPulses(targetSeconds, storageBpm);
83
+ }
84
+ const collection = tempoEvents.unwrap();
85
+ if (collection.events.isEmpty()) {
86
+ return PPQN.secondsToPulses(targetSeconds, storageBpm);
87
+ }
88
+ let accumulatedSeconds = 0.0;
89
+ let accumulatedPPQN = 0.0;
90
+ while (accumulatedSeconds < targetSeconds) {
91
+ const currentBpm = collection.valueAt(accumulatedPPQN, storageBpm);
92
+ const nextGrid = quantizeCeil(accumulatedPPQN, TempoChangeGrid);
93
+ const segmentEnd = nextGrid <= accumulatedPPQN ? nextGrid + TempoChangeGrid : nextGrid;
94
+ const segmentPPQN = segmentEnd - accumulatedPPQN;
95
+ const segmentSeconds = PPQN.pulsesToSeconds(segmentPPQN, currentBpm);
96
+ if (accumulatedSeconds + segmentSeconds >= targetSeconds) {
97
+ const remainingSeconds = targetSeconds - accumulatedSeconds;
98
+ accumulatedPPQN += PPQN.secondsToPulses(remainingSeconds, currentBpm);
99
+ break;
100
+ }
101
+ accumulatedSeconds += segmentSeconds;
102
+ accumulatedPPQN = segmentEnd;
103
+ }
104
+ return accumulatedPPQN;
105
+ };
@@ -39,7 +39,7 @@ export class AudioFileBoxAdapter {
39
39
  }
40
40
  else if (state.type === "error") {
41
41
  subscription.terminate();
42
- reject(state.reason);
42
+ reject(new Error(state.reason));
43
43
  }
44
44
  });
45
45
  return promise;
package/dist/index.d.ts CHANGED
@@ -28,8 +28,10 @@ export * from "./PianoModeAdapter";
28
28
  export * from "./RecordingProcessorOptions";
29
29
  export * from "./RingBuffer";
30
30
  export * from "./RootBoxAdapter";
31
+ export * from "./TempoRange";
31
32
  export * from "./UnionAdapterTypes";
32
33
  export * from "./Validator";
34
+ export * from "./VaryingTempoMap";
33
35
  export * from "./audio-unit/AudioBusBoxAdapter";
34
36
  export * from "./audio-unit/AudioUnitBoxAdapter";
35
37
  export * from "./audio-unit/AudioUnitInput";
@@ -123,6 +125,8 @@ export * from "./timeline/MarkerBoxAdapter";
123
125
  export * from "./timeline/MarkerTrackAdapter";
124
126
  export * from "./timeline/RegionBoxAdapter";
125
127
  export * from "./timeline/RegionEditing";
128
+ export * from "./timeline/SignatureEventBoxAdapter";
129
+ export * from "./timeline/SignatureTrackAdapter";
126
130
  export * from "./timeline/TimelineBoxAdapter";
127
131
  export * from "./timeline/TrackBoxAdapter";
128
132
  export * from "./timeline/TrackClips";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -30,8 +30,10 @@ export * from "./PianoModeAdapter";
30
30
  export * from "./RecordingProcessorOptions";
31
31
  export * from "./RingBuffer";
32
32
  export * from "./RootBoxAdapter";
33
+ export * from "./TempoRange";
33
34
  export * from "./UnionAdapterTypes";
34
35
  export * from "./Validator";
36
+ export * from "./VaryingTempoMap";
35
37
  export * from "./audio-unit/AudioBusBoxAdapter";
36
38
  export * from "./audio-unit/AudioUnitBoxAdapter";
37
39
  export * from "./audio-unit/AudioUnitInput";
@@ -125,6 +127,8 @@ export * from "./timeline/MarkerBoxAdapter";
125
127
  export * from "./timeline/MarkerTrackAdapter";
126
128
  export * from "./timeline/RegionBoxAdapter";
127
129
  export * from "./timeline/RegionEditing";
130
+ export * from "./timeline/SignatureEventBoxAdapter";
131
+ export * from "./timeline/SignatureTrackAdapter";
128
132
  export * from "./timeline/TimelineBoxAdapter";
129
133
  export * from "./timeline/TrackBoxAdapter";
130
134
  export * from "./timeline/TrackClips";
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectSkeleton.d.ts","sourceRoot":"","sources":["../../src/project/ProjectSkeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAGH,KAAK,EAOR,MAAM,uBAAuB,CAAA;AAa9B,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,cAAc,EAAE,qBAAqB,CAAA;CACxC,CAAA;AAED,yBAAiB,eAAe,CAAC;IAItB,MAAM,KAAK,GAAI,SAAS;QAC3B,sBAAsB,EAAE,OAAO,CAAC;QAChC,iBAAiB,EAAE,OAAO,CAAA;KAC7B,KAAG,eAqDH,CAAA;IAEM,MAAM,MAAM,GAAI,UAAU,QAAQ,oBAQxC,CAAA;IAEM,MAAM,MAAM,GAAI,aAAa,eAAe,KAAG,eAYrD,CAAA;IAEM,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,qBAiBvD,CAAA;CACJ"}
1
+ {"version":3,"file":"ProjectSkeleton.d.ts","sourceRoot":"","sources":["../../src/project/ProjectSkeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAGH,KAAK,EAQR,MAAM,uBAAuB,CAAA;AAa9B,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,cAAc,EAAE,qBAAqB,CAAA;CACxC,CAAA;AAED,yBAAiB,eAAe,CAAC;IAItB,MAAM,KAAK,GAAI,SAAS;QAC3B,sBAAsB,EAAE,OAAO,CAAC;QAChC,iBAAiB,EAAE,OAAO,CAAA;KAC7B,KAAG,eAuDH,CAAA;IAEM,MAAM,MAAM,GAAI,UAAU,QAAQ,oBAQxC,CAAA;IAEM,MAAM,MAAM,GAAI,aAAa,eAAe,KAAG,eAYrD,CAAA;IAEM,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,qBAiBvD,CAAA;CACJ"}
@@ -1,7 +1,7 @@
1
1
  import { BoxGraph } from "@opendaw/lib-box";
2
- import { AudioBusBox, AudioUnitBox, BoxIO, CompressorDeviceBox, GrooveShuffleBox, RootBox, TimelineBox, UserInterfaceBox } from "@opendaw/studio-boxes";
2
+ import { AudioBusBox, AudioUnitBox, BoxIO, CompressorDeviceBox, GrooveShuffleBox, RootBox, TimelineBox, UserInterfaceBox, ValueEventCollectionBox } from "@opendaw/studio-boxes";
3
3
  import { asInstanceOf, assert, ByteArrayInput, ByteArrayOutput, isDefined, Option, panic, UUID } from "@opendaw/lib-std";
4
- import { AudioUnitType, IconSymbol } from "@opendaw/studio-enums";
4
+ import { AudioUnitType, Colors, IconSymbol } from "@opendaw/studio-enums";
5
5
  export var ProjectSkeleton;
6
6
  (function (ProjectSkeleton) {
7
7
  const MAGIC_HEADER_OPEN = 0x4F50454E;
@@ -22,7 +22,7 @@ export var ProjectSkeleton;
22
22
  box.collection.refer(rootBox.audioBusses);
23
23
  box.label.setValue("Output");
24
24
  box.icon.setValue(IconSymbol.toName(IconSymbol.SpeakerHeadphone));
25
- box.color.setValue(/*Colors.blue*/ "hsl(189, 100%, 65%)"); // TODO
25
+ box.color.setValue(Colors.blue.toString());
26
26
  });
27
27
  const primaryAudioOutputUnit = AudioUnitBox.create(boxGraph, UUID.generate(), box => {
28
28
  box.type.setValue(AudioUnitType.Output);
@@ -40,6 +40,7 @@ export var ProjectSkeleton;
40
40
  });
41
41
  }
42
42
  const timelineBox = TimelineBox.create(boxGraph, UUID.generate());
43
+ ValueEventCollectionBox.create(boxGraph, UUID.generate(), box => timelineBox.tempoTrack.events.refer(box.owners));
43
44
  rootBox.timeline.refer(timelineBox.root);
44
45
  primaryAudioBus.output.refer(primaryAudioOutputUnit.input);
45
46
  const userInterfaceBoxes = [];
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectUtils.d.ts","sourceRoot":"","sources":["../../src/project/ProjectUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAcrC,OAAO,EAEH,YAAY,EASf,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAgB,MAAM,WAAW,CAAA;AAGrD,yBAAiB,YAAY,CAAC;IASnB,MAAM,iBAAiB,GAAI,gBAAgB,aAAa,CAAC,YAAY,CAAC,EAC3C,4DAAwD,eAAe,EACvE,UAAS;QACL,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;KACxB,KAClC,aAAa,CAAC,YAAY,CAyB/B,CAAA;IAEM,MAAM,cAAc,GAAI,aAAa,aAAa,CAAC,YAAY,CAAC,EACxC,4DAAwD,eAAe,EACvE,iBAAgB,IAAU,KAAG,IA8C3D,CAAA;CAyGJ"}
1
+ {"version":3,"file":"ProjectUtils.d.ts","sourceRoot":"","sources":["../../src/project/ProjectUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAcrC,OAAO,EAEH,YAAY,EASf,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAgB,MAAM,WAAW,CAAA;AAGrD,yBAAiB,YAAY,CAAC;IASnB,MAAM,iBAAiB,GAAI,gBAAgB,aAAa,CAAC,YAAY,CAAC,EAC3C,4DAAwD,eAAe,EACvE,UAAS;QACL,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;KACxB,KAClC,aAAa,CAAC,YAAY,CA6B/B,CAAA;IAEM,MAAM,cAAc,GAAI,aAAa,aAAa,CAAC,YAAY,CAAC,EACxC,4DAAwD,eAAe,EACvE,iBAAgB,IAAU,KAAG,IA8C3D,CAAA;CAoGJ"}
@@ -15,18 +15,24 @@ export var ProjectUtils;
15
15
  // TODO Implement include options.
16
16
  assert(!options.includeAux && !options.includeBus, "Options are not yet implemented");
17
17
  const excludeBox = options?.excludeTimeline === true ? excludeTimelinePredicate : Predicates.alwaysFalse;
18
- // First pass: collect UUIDs of actual source dependencies (without following mandatory incoming pointers)
19
- const sourceUUIDs = UUID.newSet(uuid => uuid);
20
- audioUnitBoxes.forEach(box => sourceUUIDs.add(box.address.uuid));
21
- audioUnitBoxes
22
- .flatMap(box => Array.from(box.graph.dependenciesOf(box, { alwaysFollowMandatory: false, excludeBox }).boxes))
23
- .forEach(box => sourceUUIDs.add(box.address.uuid));
24
- // Second pass: get full dependencies with mandatory following, but filter to only source UUIDs
25
- // This excludes boxes from previous copies that reference shared AudioFileBox
26
- const dependencies = audioUnitBoxes
27
- .flatMap(box => Array.from(box.graph.dependenciesOf(box, { alwaysFollowMandatory: true, excludeBox }).boxes))
18
+ // Get dependencies using outgoing pointers only (no mandatory incoming following)
19
+ // This avoids pulling in boxes from previous copies that point to shared AudioFileBox
20
+ const baseDeps = audioUnitBoxes
21
+ .flatMap(box => Array.from(box.graph.dependenciesOf(box, { alwaysFollowMandatory: false, excludeBox }).boxes));
22
+ // Explicitly add instruments (they have mandatory incoming pointer to AudioUnitBox.input)
23
+ const instruments = audioUnitBoxes
24
+ .flatMap(audioUnitBox => audioUnitBox.input.pointerHub.incoming().map(({ box }) => box));
25
+ // Deduplicate by UUID
26
+ const seen = UUID.newSet(uuid => uuid);
27
+ const dependencies = [...baseDeps, ...instruments]
28
28
  .filter(box => box.name !== SelectionBox.ClassName && box.name !== AuxSendBox.ClassName)
29
- .filter(box => sourceUUIDs.opt(box.address.uuid).nonEmpty());
29
+ .filter(box => {
30
+ if (seen.opt(box.address.uuid).nonEmpty()) {
31
+ return false;
32
+ }
33
+ seen.add(box.address.uuid);
34
+ return true;
35
+ });
30
36
  const uuidMap = generateTransferMap(audioUnitBoxes, dependencies, rootBox.audioUnits.address.uuid, primaryAudioBus.address.uuid);
31
37
  copy(uuidMap, boxGraph, audioUnitBoxes, dependencies);
32
38
  reorderAudioUnits(uuidMap, audioUnitBoxes, rootBox);
@@ -113,12 +119,10 @@ export var ProjectUtils;
113
119
  dependencies.forEach((source) => {
114
120
  if (source instanceof AudioFileBox || source instanceof SoundfontFileBox) {
115
121
  if (boxGraph.findBox(source.address.uuid).nonEmpty()) {
116
- console.debug(`Skipping existing file box: ${source.name} ${UUID.toString(source.address.uuid)}`);
117
122
  existingFileBoxUUIDs.add(source.address.uuid);
118
123
  }
119
124
  }
120
125
  });
121
- console.debug(`Dependencies to copy: ${dependencies.length}, existing file boxes: ${existingFileBoxUUIDs.size}`);
122
126
  PointerField.decodeWith({
123
127
  map: (_pointer, newAddress) => newAddress.map(address => uuidMap.opt(address.uuid).match({
124
128
  none: () => address,
@@ -137,7 +141,6 @@ export var ProjectUtils;
137
141
  if (source instanceof AudioFileBox || source instanceof SoundfontFileBox) {
138
142
  // Those boxes keep their UUID. So if they are already in the graph, skip them.
139
143
  if (existingFileBoxUUIDs.opt(source.address.uuid).nonEmpty()) {
140
- console.debug(` Skipping file box: ${source.name}`);
141
144
  return;
142
145
  }
143
146
  }
@@ -145,14 +148,12 @@ export var ProjectUtils;
145
148
  if (source instanceof TransientMarkerBox) {
146
149
  const ownerUUID = source.owner.targetAddress.unwrap().uuid;
147
150
  if (existingFileBoxUUIDs.opt(ownerUUID).nonEmpty()) {
148
- console.debug(` Skipping TransientMarkerBox (owner exists)`);
149
151
  return;
150
152
  }
151
153
  }
152
154
  const input = new ByteArrayInput(source.toArrayBuffer());
153
155
  const key = source.name;
154
156
  const uuid = uuidMap.get(source.address.uuid).target;
155
- console.debug(` Creating: ${key} ${UUID.toString(uuid)}`);
156
157
  boxGraph.createBox(key, uuid, box => box.read(input));
157
158
  });
158
159
  });
@@ -23,7 +23,7 @@ export class FilteredSelection {
23
23
  __classPrivateFieldSet(this, _FilteredSelection_selection, selection, "f");
24
24
  __classPrivateFieldSet(this, _FilteredSelection_filter, filter, "f");
25
25
  __classPrivateFieldSet(this, _FilteredSelection_mapping, mapping, "f");
26
- __classPrivateFieldSet(this, _FilteredSelection_set, Address.newSet(addressable => addressable.address), "f");
26
+ __classPrivateFieldSet(this, _FilteredSelection_set, Address.newSet(({ address }) => address), "f");
27
27
  __classPrivateFieldSet(this, _FilteredSelection_listeners, new Listeners(), "f");
28
28
  __classPrivateFieldGet(this, _FilteredSelection_selection, "f").selected()
29
29
  .filter(element => __classPrivateFieldGet(this, _FilteredSelection_filter, "f").call(this, element))
@@ -37,7 +37,7 @@ export class FilteredSelection {
37
37
  }
38
38
  },
39
39
  onDeselected: (element) => {
40
- if (__classPrivateFieldGet(this, _FilteredSelection_filter, "f").call(this, element)) {
40
+ if (__classPrivateFieldGet(this, _FilteredSelection_set, "f").hasKey(element.address)) {
41
41
  __classPrivateFieldGet(this, _FilteredSelection_listeners, "f").proxy.onDeselected(__classPrivateFieldGet(this, _FilteredSelection_set, "f").removeByKey(element.address));
42
42
  }
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VertexSelection.d.ts","sourceRoot":"","sources":["../../src/selection/VertexSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EACT,GAAG,EAGH,SAAS,EACT,SAAS,EACT,iBAAiB,EAEjB,YAAY,EAGf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAU,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAe,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAErD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,SAAS,CAAC,gBAAgB,CAAC;;IAQnD,QAAQ,CAAC,OAAO,EAAE,UAAU;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ;gBAAhD,OAAO,EAAE,UAAU,EAAW,QAAQ,EAAE,QAAQ;IAOrE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI;IAQ/C,OAAO,IAAI,IAAI;IAUf,uBAAuB,CAAC,CAAC,SAAS,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACtC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAIzG,MAAM,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAmB7D,QAAQ,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAU/D,WAAW,IAAI,IAAI;IAInB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAQhF,OAAO,IAAI,OAAO;IAClB,QAAQ,IAAI,OAAO;IAEnB,KAAK,IAAI,GAAG;IAEZ,UAAU,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO;IAEjD,QAAQ,IAAI,aAAa,CAAC,gBAAgB,CAAC;IAE3C,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,YAAY;IAEtE,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,YAAY;CA4BnF"}
1
+ {"version":3,"file":"VertexSelection.d.ts","sourceRoot":"","sources":["../../src/selection/VertexSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EACT,GAAG,EAGH,SAAS,EACT,SAAS,EACT,iBAAiB,EAEjB,YAAY,EAGf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAU,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAe,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAErD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,SAAS,CAAC,gBAAgB,CAAC;;IAQnD,QAAQ,CAAC,OAAO,EAAE,UAAU;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ;gBAAhD,OAAO,EAAE,UAAU,EAAW,QAAQ,EAAE,QAAQ;IAOrE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI;IAQ/C,OAAO,IAAI,IAAI;IASf,uBAAuB,CAAC,CAAC,SAAS,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACtC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAIzG,MAAM,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAmB7D,QAAQ,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAU/D,WAAW,IAAI,IAAI;IAInB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAQhF,OAAO,IAAI,OAAO;IAClB,QAAQ,IAAI,OAAO;IAEnB,KAAK,IAAI,GAAG;IAEZ,UAAU,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO;IAEjD,QAAQ,IAAI,aAAa,CAAC,gBAAgB,CAAC;IAE3C,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,YAAY;IAEtE,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,YAAY;CA4BnF"}
@@ -51,7 +51,6 @@ export class VertexSelection {
51
51
  __classPrivateFieldGet(this, _VertexSelection_selectableMap, "f").clear();
52
52
  __classPrivateFieldGet(this, _VertexSelection_entityMap, "f").clear();
53
53
  }
54
- // TODO Make selection local
55
54
  createFilteredSelection(affiliate, map) {
56
55
  return new FilteredSelection(this, affiliate, map);
57
56
  }
@@ -27,6 +27,10 @@ export interface RegionBoxAdapter<CONTENT> extends BoxAdapter, Region, Selectabl
27
27
  get trackBoxAdapter(): Option<TrackBoxAdapter>;
28
28
  get hasCollection(): boolean;
29
29
  get optCollection(): Option<CONTENT>;
30
+ /** Resolve duration at a given position (for preview during drag operations) */
31
+ resolveDuration(position: ppqn): ppqn;
32
+ /** Resolve complete (position + duration) at a given position (for preview during drag operations) */
33
+ resolveComplete(position: ppqn): ppqn;
30
34
  subscribeChange(observer: Observer<void>): Subscription;
31
35
  copyTo(target?: {
32
36
  track?: Field<Pointers.RegionCollection>;
@@ -41,6 +45,10 @@ export interface LoopableRegionBoxAdapter<CONTENT> extends RegionBoxAdapter<CONT
41
45
  get offset(): ppqn;
42
46
  get loopOffset(): ppqn;
43
47
  get loopDuration(): ppqn;
48
+ /** Resolve loopOffset at a given position (for preview during drag operations) */
49
+ resolveLoopOffset(position: ppqn): ppqn;
50
+ /** Resolve loopDuration at a given position (for preview during drag operations) */
51
+ resolveLoopDuration(position: ppqn): ppqn;
44
52
  }
45
53
  export declare const RegionComparator: Comparator<AnyRegionBoxAdapter>;
46
54
  export declare const RegionAdapters: {
@@ -1 +1 @@
1
- {"version":3,"file":"RegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/RegionBoxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/RegionBoxAdapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RegionEditing.d.ts","sourceRoot":"","sources":["../../src/timeline/RegionEditing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAErC,OAAO,EAAC,mBAAmB,EAAoB,MAAM,sBAAsB,CAAA;AAE3E,yBAAiB,aAAa,CAAC;IACpB,MAAM,GAAG,GAAI,QAAQ,mBAAmB,EAAE,KAAK,IAAI,EAAE,aAAa,OAAO,KAAG,IAelF,CAAA;IAEM,MAAM,IAAI,GAAI,QAAQ,mBAAmB,EAAE,OAAO,IAAI,EAAE,KAAK,IAAI,KAAG,IAa1E,CAAA;CACJ"}
1
+ {"version":3,"file":"RegionEditing.d.ts","sourceRoot":"","sources":["../../src/timeline/RegionEditing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAErC,OAAO,EAAC,mBAAmB,EAAoB,MAAM,sBAAsB,CAAA;AAE3E,yBAAiB,aAAa,CAAC;IACpB,MAAM,GAAG,GAAI,QAAQ,mBAAmB,EAAE,KAAK,IAAI,EAAE,aAAa,OAAO,KAAG,IAclF,CAAA;IAEM,MAAM,IAAI,GAAI,QAAQ,mBAAmB,EAAE,OAAO,IAAI,EAAE,KAAK,IAAI,KAAG,IAa1E,CAAA;CACJ"}
@@ -3,7 +3,6 @@ import { UnionAdapterTypes } from "../UnionAdapterTypes";
3
3
  export var RegionEditing;
4
4
  (function (RegionEditing) {
5
5
  RegionEditing.cut = (region, cut, consolidate) => {
6
- console.debug("cut", region.position, region.complete, cut);
7
6
  if (region.position >= cut || cut >= region.complete) {
8
7
  return;
9
8
  }
@@ -0,0 +1,24 @@
1
+ import { Comparator, int, Option, UUID } from "@opendaw/lib-std";
2
+ import { Address, Int32Field } from "@opendaw/lib-box";
3
+ import { SignatureEventBox } from "@opendaw/studio-boxes";
4
+ import { BoxAdaptersContext } from "../BoxAdaptersContext";
5
+ import { SignatureTrackAdapter } from "./SignatureTrackAdapter";
6
+ import { IndexedBoxAdapter } from "../IndexedBoxAdapterCollection";
7
+ export declare class SignatureEventBoxAdapter implements IndexedBoxAdapter {
8
+ #private;
9
+ static readonly Comparator: Comparator<SignatureEventBoxAdapter>;
10
+ readonly type = "signature-event";
11
+ constructor(context: BoxAdaptersContext, box: SignatureEventBox);
12
+ get box(): SignatureEventBox;
13
+ get uuid(): UUID.Bytes;
14
+ get address(): Address;
15
+ get index(): int;
16
+ get indexField(): Int32Field;
17
+ get relativePosition(): int;
18
+ get nominator(): int;
19
+ get denominator(): int;
20
+ get trackAdapter(): Option<SignatureTrackAdapter>;
21
+ terminate(): void;
22
+ toString(): string;
23
+ }
24
+ //# sourceMappingURL=SignatureEventBoxAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignatureEventBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/SignatureEventBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAc,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,OAAO,EAAE,UAAU,EAAsB,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAA;AAEhE,qBAAa,wBAAyB,YAAW,iBAAiB;;IAC9D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAA8B;IAE9F,QAAQ,CAAC,IAAI,qBAAoB;gBAOrB,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,iBAAiB;IAQ/D,IAAI,GAAG,IAAI,iBAAiB,CAAmB;IAC/C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,KAAK,IAAI,GAAG,CAAoC;IACpD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,gBAAgB,IAAI,GAAG,CAA+C;IAC1E,IAAI,SAAS,IAAI,GAAG,CAAwC;IAC5D,IAAI,WAAW,IAAI,GAAG,CAA0C;IAChE,IAAI,YAAY,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAGhD;IAED,SAAS;IACT,QAAQ,IAAI,MAAM;CACrB"}