@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
@@ -11,7 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  };
12
12
  var _NoteEventCollectionBoxAdapter_instances, _NoteEventCollectionBoxAdapter_terminator, _NoteEventCollectionBoxAdapter_context, _NoteEventCollectionBoxAdapter_box, _NoteEventCollectionBoxAdapter_changeNotifier, _NoteEventCollectionBoxAdapter_adapters, _NoteEventCollectionBoxAdapter_events, _NoteEventCollectionBoxAdapter_minPitch, _NoteEventCollectionBoxAdapter_maxPitch, _NoteEventCollectionBoxAdapter_maxDuration, _NoteEventCollectionBoxAdapter_computedExtremas, _NoteEventCollectionBoxAdapter_onEventsChanged, _NoteEventCollectionBoxAdapter_computeExtremas;
13
13
  import { NoteEventBox, NoteEventCollectionBox } from "@opendaw/studio-boxes";
14
- import { Intervals, Iterables, Notifier, Terminator, UUID } from "@opendaw/lib-std";
14
+ import { Iterables, Notifier, Terminator, UUID } from "@opendaw/lib-std";
15
15
  import { EventCollection, NoteEvent } from "@opendaw/lib-dsp";
16
16
  import { Pointers } from "@opendaw/studio-enums";
17
17
  import { NoteEventBoxAdapter } from "../event/NoteEventBoxAdapter";
@@ -72,7 +72,7 @@ export class NoteEventCollectionBoxAdapter {
72
72
  subscribeChange(observer) { return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_changeNotifier, "f").subscribe(observer); }
73
73
  selectable() { return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").asArray(); }
74
74
  selectableAt(coordinates) {
75
- for (const element of __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").asArray()) { // TODO Use optimized data structures
75
+ for (const element of __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").asArray()) {
76
76
  if (element.position <= coordinates.u && coordinates.u < element.complete && element.pitch === coordinates.v) {
77
77
  return Iterables.one(element);
78
78
  }
@@ -80,14 +80,16 @@ export class NoteEventCollectionBoxAdapter {
80
80
  return Iterables.empty();
81
81
  }
82
82
  selectablesBetween(begin, end) {
83
- const events = [];
84
- for (const element of __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").asArray()) { // TODO Use optimized data structures
85
- if (Intervals.intersect1D(element.position, element.complete, begin.u, end.u)
86
- && Intervals.intersect1D(element.pitch, element.pitch, begin.v, end.v)) {
87
- events.push(element);
83
+ const result = [];
84
+ const array = __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").asArray();
85
+ const endIndex = __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").ceilFirstIndex(end.u);
86
+ for (let i = 0; i < endIndex; i++) {
87
+ const element = array[i];
88
+ if (element.complete > begin.u && element.pitch >= begin.v && element.pitch <= end.v) {
89
+ result.push(element);
88
90
  }
89
91
  }
90
- return events;
92
+ return result;
91
93
  }
92
94
  requestSorting() {
93
95
  __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").onIndexingChanged();
@@ -1,5 +1,5 @@
1
1
  import { ValueEventCollectionBox } from "@opendaw/studio-boxes";
2
- import { int, Observer, Option, Subscription, unitValue, UUID } from "@opendaw/lib-std";
2
+ import { int, Observer, Option, Subscription, unitValue, UUID, ValueMapping } from "@opendaw/lib-std";
3
3
  import { Address } from "@opendaw/lib-box";
4
4
  import { EventCollection, Interpolation, ppqn } from "@opendaw/lib-dsp";
5
5
  import { BoxAdapter } from "../../BoxAdapter";
@@ -16,7 +16,7 @@ export declare class ValueEventCollectionBoxAdapter implements BoxAdapter {
16
16
  constructor(context: BoxAdaptersContext, box: ValueEventCollectionBox);
17
17
  valueAt(position: ppqn, fallback: unitValue): unitValue;
18
18
  copy(): ValueEventCollectionBoxAdapter;
19
- cut(position: ppqn): Option<ValueEventBoxAdapter>;
19
+ cut(position: ppqn, eventMapping?: ValueMapping<number>): Option<ValueEventBoxAdapter>;
20
20
  subscribeChange(observer: Observer<this>): Subscription;
21
21
  createEvent({ position, index, value, interpolation }: CreateEventParams): ValueEventBoxAdapter;
22
22
  requestSorting(): void;
@@ -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,EAGH,QAAQ,EACR,MAAM,EAGN,YAAY,EAEZ,SAAS,EACT,IAAI,EACP,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,GAAG,MAAM,CAAC,oBAAoB,CAAC;IA+DjD,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;IAW7F,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,EAGH,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;IAW7F,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"}
@@ -11,7 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  };
12
12
  var _ValueEventCollectionBoxAdapter_instances, _ValueEventCollectionBoxAdapter_terminator, _ValueEventCollectionBoxAdapter_context, _ValueEventCollectionBoxAdapter_box, _ValueEventCollectionBoxAdapter_changeNotifier, _ValueEventCollectionBoxAdapter_adapters, _ValueEventCollectionBoxAdapter_events, _ValueEventCollectionBoxAdapter_onEventsChanged;
13
13
  import { ValueEventBox, ValueEventCollectionBox } from "@opendaw/studio-boxes";
14
- import { asDefined, Curve, linear, Notifier, Option, panic, Terminator, UUID } from "@opendaw/lib-std";
14
+ import { asDefined, Curve, linear, Notifier, Option, panic, Terminator, UUID, ValueMapping } from "@opendaw/lib-std";
15
15
  import { EventCollection, Interpolation, ValueEvent } from "@opendaw/lib-dsp";
16
16
  import { Pointers } from "@opendaw/studio-enums";
17
17
  import { ValueEventBoxAdapter } from "../event/ValueEventBoxAdapter";
@@ -59,7 +59,7 @@ export class ValueEventCollectionBoxAdapter {
59
59
  __classPrivateFieldGet(this, _ValueEventCollectionBoxAdapter_events, "f").asArray().forEach(source => source.copyTo({ events: boxCopy.events }));
60
60
  return __classPrivateFieldGet(this, _ValueEventCollectionBoxAdapter_context, "f").boxAdapters.adapterFor(boxCopy, ValueEventCollectionBoxAdapter);
61
61
  }
62
- cut(position) {
62
+ cut(position, eventMapping = ValueMapping.unipolar()) {
63
63
  const low = this.events.lowerEqual(position);
64
64
  const high = this.events.greaterEqual(position);
65
65
  if (null === high) {
@@ -93,18 +93,25 @@ export class ValueEventCollectionBoxAdapter {
93
93
  }));
94
94
  }
95
95
  if (low.interpolation.type === "linear") {
96
- const { position: p0, value: v0 } = low;
97
- const { position: p1, value: v1 } = high;
96
+ const { position: p0 } = low;
97
+ const { position: p1 } = high;
98
+ // Convert to normalized space for interpolation
99
+ const n0 = eventMapping.x(low.value);
100
+ const n1 = eventMapping.x(high.value);
101
+ const normalizedValue = linear(n0, n1, (position - p0) / (p1 - p0));
98
102
  return Option.wrap(this.createEvent({
99
103
  position,
100
- value: linear(v0, v1, (position - p0) / (p1 - p0)),
104
+ value: eventMapping.y(normalizedValue),
101
105
  index: 0,
102
106
  interpolation: low.interpolation
103
107
  }));
104
108
  }
105
109
  if (low.interpolation.type === "curve") {
106
- const { position: p0, value: y0 } = low;
107
- const { position: p1, value: y1 } = high;
110
+ const { position: p0 } = low;
111
+ const { position: p1 } = high;
112
+ // Convert to normalized space for curve calculation
113
+ const y0 = eventMapping.x(low.value);
114
+ const y1 = eventMapping.x(high.value);
108
115
  const steps = p1 - p0;
109
116
  const cutOffset = position - p0;
110
117
  const curve = Curve.byHalf(steps, y0, Curve.valueAt({
@@ -118,7 +125,7 @@ export class ValueEventCollectionBoxAdapter {
118
125
  InterpolationFieldAdapter.write(low.box.interpolation, Interpolation.Curve(lowSlope));
119
126
  return Option.wrap(this.createEvent({
120
127
  position,
121
- value: cutValue,
128
+ value: eventMapping.y(cutValue),
122
129
  index: 0,
123
130
  interpolation: Interpolation.Curve(Curve.slopeByHalf(cutValue, Curve.valueAt(curve, (cutOffset + steps) * 0.5), y1))
124
131
  }));
@@ -28,7 +28,7 @@ export declare class ValueEventBoxAdapter implements ValueEvent, BoxAdapter, Sel
28
28
  get index(): int;
29
29
  set interpolation(value: Interpolation);
30
30
  get interpolation(): Interpolation;
31
- get value(): int;
31
+ get value(): number;
32
32
  get isSelected(): boolean;
33
33
  get collection(): Option<ValueEventCollectionBoxAdapter>;
34
34
  copyTo(options?: CopyToParams): ValueEventBoxAdapter;
@@ -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,GAAG,CAAoC;IACpD,IAAI,UAAU,IAAI,OAAO,CAA0B;IACnD,IAAI,UAAU,IAAI,MAAM,CAAC,8BAA8B,CAAC,CAGvD;IAED,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,oBAAoB;IAWpD,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,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;IAWpD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAStC,QAAQ,IAAI,MAAM;CACrB"}
@@ -39,6 +39,10 @@ export declare class AudioRegionBoxAdapter implements AudioContentBoxAdapter, Lo
39
39
  get complete(): ppqn;
40
40
  get loopOffset(): ppqn;
41
41
  get loopDuration(): ppqn;
42
+ resolveDuration(position: ppqn): ppqn;
43
+ resolveComplete(position: ppqn): ppqn;
44
+ resolveLoopOffset(position: ppqn): ppqn;
45
+ resolveLoopDuration(position: ppqn): ppqn;
42
46
  get offset(): ppqn;
43
47
  get mute(): boolean;
44
48
  get hue(): int;
@@ -1 +1 @@
1
- {"version":3,"file":"AudioRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/AudioRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AudioRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/AudioRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
@@ -42,10 +42,10 @@ export class AudioRegionBoxAdapter {
42
42
  __classPrivateFieldSet(this, _AudioRegionBoxAdapter_context, context, "f");
43
43
  __classPrivateFieldSet(this, _AudioRegionBoxAdapter_box, box, "f");
44
44
  __classPrivateFieldSet(this, _AudioRegionBoxAdapter_terminator, new Terminator(), "f");
45
- const { timeBase, position, duration, loopOffset, loopDuration } = box;
46
- __classPrivateFieldSet(this, _AudioRegionBoxAdapter_durationConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, position, duration), "f");
47
- __classPrivateFieldSet(this, _AudioRegionBoxAdapter_loopOffsetConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, position, loopOffset), "f");
48
- __classPrivateFieldSet(this, _AudioRegionBoxAdapter_loopDurationConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, position, loopDuration), "f");
45
+ const { timeBase, duration, loopOffset, loopDuration } = box;
46
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_durationConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, duration), "f");
47
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_loopOffsetConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, loopOffset), "f");
48
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_loopDurationConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, loopDuration), "f");
49
49
  __classPrivateFieldSet(this, _AudioRegionBoxAdapter_playMode, new MutableObservableOption(), "f");
50
50
  __classPrivateFieldSet(this, _AudioRegionBoxAdapter_changeNotifier, new Notifier(), "f");
51
51
  __classPrivateFieldSet(this, _AudioRegionBoxAdapter_isSelected, false, "f");
@@ -115,10 +115,14 @@ export class AudioRegionBoxAdapter {
115
115
  get uuid() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").address.uuid; }
116
116
  get address() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").address; }
117
117
  get position() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").position.getValue(); }
118
- get duration() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").toPPQN(); }
118
+ get duration() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").toPPQN(this.position); }
119
119
  get complete() { return this.position + this.duration; }
120
- get loopOffset() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").toPPQN(); }
121
- get loopDuration() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").toPPQN(); }
120
+ get loopOffset() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").toPPQN(this.position); }
121
+ get loopDuration() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").toPPQN(this.position); }
122
+ resolveDuration(position) { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").toPPQN(position); }
123
+ resolveComplete(position) { return position + this.resolveDuration(position); }
124
+ resolveLoopOffset(position) { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").toPPQN(position); }
125
+ resolveLoopDuration(position) { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").toPPQN(position); }
122
126
  get offset() { return this.position - this.loopOffset; }
123
127
  get mute() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").mute.getValue(); }
124
128
  get hue() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").hue.getValue(); }
@@ -163,9 +167,9 @@ export class AudioRegionBoxAdapter {
163
167
  .map(vertex => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, ValueEventCollectionBoxAdapter));
164
168
  }
165
169
  set position(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").position.setValue(value); }
166
- set duration(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").fromPPQN(value); }
167
- set loopOffset(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").fromPPQN(value); }
168
- set loopDuration(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").fromPPQN(value); }
170
+ set duration(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").fromPPQN(value, this.position); }
171
+ set loopOffset(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").fromPPQN(value, this.position); }
172
+ set loopDuration(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").fromPPQN(value, this.position); }
169
173
  copyTo(params) {
170
174
  const eventCollection = this.optCollection.unwrap("Cannot make copy without event-collection");
171
175
  const eventTarget = params?.consolidate === true
@@ -185,9 +189,9 @@ export class AudioRegionBoxAdapter {
185
189
  box.waveformOffset.setValue(this.waveformOffset.getValue());
186
190
  clonedPlayMode.ifSome(mode => box.playMode.refer(mode));
187
191
  }), AudioRegionBoxAdapter);
188
- adapter.duration = params?.duration ?? this.duration;
189
- adapter.loopOffset = params?.loopOffset ?? this.loopOffset;
190
- adapter.loopDuration = params?.loopDuration ?? this.loopDuration;
192
+ adapter.duration = params?.duration ?? this.resolveDuration(adapter.position);
193
+ adapter.loopOffset = params?.loopOffset ?? this.resolveLoopOffset(adapter.position);
194
+ adapter.loopDuration = params?.loopDuration ?? this.resolveLoopDuration(adapter.position);
191
195
  return adapter;
192
196
  }
193
197
  consolidate() {
@@ -29,7 +29,7 @@ export declare class NoteRegionBoxAdapter implements LoopableRegionBoxAdapter<No
29
29
  onSelected(): void;
30
30
  onDeselected(): void;
31
31
  get isSelected(): boolean;
32
- iterateActiveNotesAt(position: ppqn): Generator<NoteEvent>;
32
+ iterateActiveNotesAt(position: ppqn): IterableIterator<NoteEvent>;
33
33
  terminate(): void;
34
34
  get box(): NoteRegionBox;
35
35
  get uuid(): UUID.Bytes;
@@ -40,6 +40,10 @@ export declare class NoteRegionBoxAdapter implements LoopableRegionBoxAdapter<No
40
40
  get loopDuration(): ppqn;
41
41
  get offset(): ppqn;
42
42
  get complete(): ppqn;
43
+ resolveDuration(_position: ppqn): ppqn;
44
+ resolveComplete(position: ppqn): ppqn;
45
+ resolveLoopOffset(_position: ppqn): ppqn;
46
+ resolveLoopDuration(_position: ppqn): ppqn;
43
47
  get mute(): boolean;
44
48
  get hue(): int;
45
49
  get hasCollection(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"NoteRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/NoteRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NoteRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/NoteRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,10 @@ export class NoteRegionBoxAdapter {
105
105
  get loopDuration() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").loopDuration.getValue(); }
106
106
  get offset() { return this.position - this.loopOffset; }
107
107
  get complete() { return this.position + this.duration; }
108
+ resolveDuration(_position) { return this.duration; }
109
+ resolveComplete(position) { return position + this.duration; }
110
+ resolveLoopOffset(_position) { return this.loopOffset; }
111
+ resolveLoopDuration(_position) { return this.loopDuration; }
108
112
  get mute() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").mute.getValue(); }
109
113
  get hue() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").hue.getValue(); }
110
114
  get hasCollection() { return this.optCollection.nonEmpty(); }
@@ -41,6 +41,10 @@ export declare class ValueRegionBoxAdapter implements LoopableRegionBoxAdapter<V
41
41
  get loopDuration(): ppqn;
42
42
  get offset(): ppqn;
43
43
  get complete(): ppqn;
44
+ resolveDuration(_position: ppqn): ppqn;
45
+ resolveComplete(position: ppqn): ppqn;
46
+ resolveLoopOffset(_position: ppqn): ppqn;
47
+ resolveLoopDuration(_position: ppqn): ppqn;
44
48
  get mute(): boolean;
45
49
  get hue(): int;
46
50
  get hasCollection(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ValueRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/ValueRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValueRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/ValueRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,10 @@ export class ValueRegionBoxAdapter {
107
107
  get loopDuration() { return __classPrivateFieldGet(this, _ValueRegionBoxAdapter_box, "f").loopDuration.getValue(); }
108
108
  get offset() { return this.position - this.loopOffset; }
109
109
  get complete() { return this.position + this.duration; }
110
+ resolveDuration(_position) { return this.duration; }
111
+ resolveComplete(position) { return position + this.duration; }
112
+ resolveLoopOffset(_position) { return this.loopOffset; }
113
+ resolveLoopDuration(_position) { return this.loopDuration; }
110
114
  get mute() { return __classPrivateFieldGet(this, _ValueRegionBoxAdapter_box, "f").mute.getValue(); }
111
115
  get hue() { return __classPrivateFieldGet(this, _ValueRegionBoxAdapter_box, "f").hue.getValue(); }
112
116
  get hasCollection() { return !this.optCollection.isEmpty(); }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/studio-adapters",
3
- "version": "0.0.70",
3
+ "version": "0.0.71",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,17 +23,17 @@
23
23
  "test": "echo \"No tests to run\""
24
24
  },
25
25
  "dependencies": {
26
- "@opendaw/lib-box": "^0.0.62",
27
- "@opendaw/lib-dsp": "^0.0.61",
28
- "@opendaw/lib-runtime": "^0.0.61",
29
- "@opendaw/lib-std": "^0.0.61",
30
- "@opendaw/studio-boxes": "^0.0.63",
31
- "@opendaw/studio-enums": "^0.0.53",
26
+ "@opendaw/lib-box": "^0.0.63",
27
+ "@opendaw/lib-dsp": "^0.0.62",
28
+ "@opendaw/lib-runtime": "^0.0.62",
29
+ "@opendaw/lib-std": "^0.0.62",
30
+ "@opendaw/studio-boxes": "^0.0.64",
31
+ "@opendaw/studio-enums": "^0.0.54",
32
32
  "soundfont2": "^0.5.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@opendaw/eslint-config": "^0.0.27",
36
- "@opendaw/typescript-config": "^0.0.27"
36
+ "@opendaw/typescript-config": "^0.0.28"
37
37
  },
38
- "gitHead": "b33275f0f9dbfc525fe517560b484514bdae3dad"
38
+ "gitHead": "100e759378d7150e6eb7165232d8c4a1fbb77bbc"
39
39
  }