@opendaw/studio-adapters 0.0.70 → 0.0.72

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 (175) 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 +4 -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/DeviceAdapter.d.ts +2 -0
  10. package/dist/DeviceAdapter.d.ts.map +1 -1
  11. package/dist/DeviceManualUrls.d.ts +25 -0
  12. package/dist/DeviceManualUrls.d.ts.map +1 -0
  13. package/dist/DeviceManualUrls.js +29 -0
  14. package/dist/EngineProcessorAttachment.d.ts +1 -3
  15. package/dist/EngineProcessorAttachment.d.ts.map +1 -1
  16. package/dist/EngineStateSchema.d.ts +1 -0
  17. package/dist/EngineStateSchema.d.ts.map +1 -1
  18. package/dist/EngineStateSchema.js +1 -0
  19. package/dist/TempoRange.d.ts +5 -0
  20. package/dist/TempoRange.d.ts.map +1 -0
  21. package/dist/TempoRange.js +1 -0
  22. package/dist/Validator.d.ts +0 -2
  23. package/dist/Validator.d.ts.map +1 -1
  24. package/dist/Validator.js +4 -3
  25. package/dist/VaryingTempoMap.d.ts +18 -0
  26. package/dist/VaryingTempoMap.d.ts.map +1 -0
  27. package/dist/VaryingTempoMap.js +105 -0
  28. package/dist/audio/AudioFileBoxAdapter.js +2 -2
  29. package/dist/audio-unit/AudioBusBoxAdapter.d.ts +3 -2
  30. package/dist/audio-unit/AudioBusBoxAdapter.d.ts.map +1 -1
  31. package/dist/audio-unit/AudioBusBoxAdapter.js +4 -2
  32. package/dist/audio-unit/AudioUnitBoxAdapter.d.ts +1 -0
  33. package/dist/audio-unit/AudioUnitBoxAdapter.d.ts.map +1 -1
  34. package/dist/audio-unit/AudioUnitBoxAdapter.js +1 -0
  35. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.d.ts +1 -0
  36. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.d.ts.map +1 -1
  37. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.js +2 -0
  38. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.d.ts +1 -0
  39. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.d.ts.map +1 -1
  40. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.js +2 -0
  41. package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.d.ts +1 -0
  42. package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.d.ts.map +1 -1
  43. package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.js +2 -0
  44. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.d.ts +14 -2
  45. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.d.ts.map +1 -1
  46. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.js +22 -9
  47. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.d.ts +1 -0
  48. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.d.ts.map +1 -1
  49. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.js +2 -0
  50. package/dist/devices/audio-effects/MaximizerDeviceBoxAdapter.d.ts +31 -0
  51. package/dist/devices/audio-effects/MaximizerDeviceBoxAdapter.d.ts.map +1 -0
  52. package/dist/devices/audio-effects/MaximizerDeviceBoxAdapter.js +53 -0
  53. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.d.ts +1 -0
  54. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.d.ts.map +1 -1
  55. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.js +2 -0
  56. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.d.ts +1 -0
  57. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.d.ts.map +1 -1
  58. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.js +2 -0
  59. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts +1 -0
  60. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts.map +1 -1
  61. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.js +2 -0
  62. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts +1 -0
  63. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts.map +1 -1
  64. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.js +2 -0
  65. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts +1 -0
  66. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts.map +1 -1
  67. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.js +2 -0
  68. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.d.ts +1 -0
  69. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.d.ts.map +1 -1
  70. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.js +1 -0
  71. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts +1 -0
  72. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts.map +1 -1
  73. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.js +2 -0
  74. package/dist/devices/instruments/NanoDeviceBoxAdapter.d.ts +1 -0
  75. package/dist/devices/instruments/NanoDeviceBoxAdapter.d.ts.map +1 -1
  76. package/dist/devices/instruments/NanoDeviceBoxAdapter.js +2 -0
  77. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts +1 -0
  78. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts.map +1 -1
  79. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.js +1 -0
  80. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts +1 -0
  81. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts.map +1 -1
  82. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.js +2 -0
  83. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.d.ts +1 -0
  84. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.d.ts.map +1 -1
  85. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.js +2 -0
  86. package/dist/devices/instruments/TapeDeviceBoxAdapter.d.ts +1 -0
  87. package/dist/devices/instruments/TapeDeviceBoxAdapter.d.ts.map +1 -1
  88. package/dist/devices/instruments/TapeDeviceBoxAdapter.js +2 -0
  89. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts +1 -0
  90. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts.map +1 -1
  91. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.js +2 -0
  92. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.d.ts +1 -0
  93. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.d.ts.map +1 -1
  94. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.js +2 -0
  95. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.d.ts +1 -0
  96. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.d.ts.map +1 -1
  97. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.js +2 -0
  98. package/dist/devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter.d.ts +1 -0
  99. package/dist/devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter.d.ts.map +1 -1
  100. package/dist/devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter.js +1 -0
  101. package/dist/devices/midi-effects/VelocityDeviceBoxAdapter.d.ts +1 -0
  102. package/dist/devices/midi-effects/VelocityDeviceBoxAdapter.d.ts.map +1 -1
  103. package/dist/devices/midi-effects/VelocityDeviceBoxAdapter.js +2 -0
  104. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.d.ts +1 -0
  105. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.d.ts.map +1 -1
  106. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.js +2 -0
  107. package/dist/engine/EnginePreferences.d.ts +4 -0
  108. package/dist/engine/EnginePreferences.d.ts.map +1 -0
  109. package/dist/engine/EnginePreferences.js +1 -0
  110. package/dist/engine/EnginePreferencesSchema.d.ts +22 -0
  111. package/dist/engine/EnginePreferencesSchema.d.ts.map +1 -0
  112. package/dist/engine/EnginePreferencesSchema.js +33 -0
  113. package/dist/factories/DeviceFactory.d.ts +8 -0
  114. package/dist/factories/DeviceFactory.d.ts.map +1 -0
  115. package/dist/factories/DeviceFactory.js +1 -0
  116. package/dist/factories/InstrumentFactories.d.ts.map +1 -1
  117. package/dist/factories/InstrumentFactories.js +7 -0
  118. package/dist/factories/InstrumentFactory.d.ts +2 -4
  119. package/dist/factories/InstrumentFactory.d.ts.map +1 -1
  120. package/dist/index.d.ts +11 -0
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js +10 -0
  123. package/dist/project/ProjectQueries.d.ts.map +1 -1
  124. package/dist/project/ProjectQueries.js +6 -2
  125. package/dist/project/ProjectSkeleton.d.ts.map +1 -1
  126. package/dist/project/ProjectSkeleton.js +4 -3
  127. package/dist/project/ProjectUtils.d.ts.map +1 -1
  128. package/dist/project/ProjectUtils.js +17 -16
  129. package/dist/protocols.d.ts +0 -3
  130. package/dist/protocols.d.ts.map +1 -1
  131. package/dist/sample/Sample.d.ts +2 -2
  132. package/dist/sample/SampleLoaderManager.d.ts +2 -1
  133. package/dist/sample/SampleLoaderManager.d.ts.map +1 -1
  134. package/dist/sample/SampleMetaData.d.ts +1 -1
  135. package/dist/selection/FilteredSelection.js +2 -2
  136. package/dist/selection/VertexSelection.d.ts.map +1 -1
  137. package/dist/selection/VertexSelection.js +0 -1
  138. package/dist/soundfont/Soundfont.d.ts +1 -1
  139. package/dist/timeline/RegionBoxAdapter.d.ts +8 -0
  140. package/dist/timeline/RegionBoxAdapter.d.ts.map +1 -1
  141. package/dist/timeline/RegionEditing.d.ts.map +1 -1
  142. package/dist/timeline/RegionEditing.js +0 -1
  143. package/dist/timeline/SignatureEventBoxAdapter.d.ts +24 -0
  144. package/dist/timeline/SignatureEventBoxAdapter.d.ts.map +1 -0
  145. package/dist/timeline/SignatureEventBoxAdapter.js +42 -0
  146. package/dist/timeline/SignatureTrackAdapter.d.ts +42 -0
  147. package/dist/timeline/SignatureTrackAdapter.d.ts.map +1 -0
  148. package/dist/timeline/SignatureTrackAdapter.js +280 -0
  149. package/dist/timeline/TimelineBoxAdapter.d.ts +7 -2
  150. package/dist/timeline/TimelineBoxAdapter.d.ts.map +1 -1
  151. package/dist/timeline/TimelineBoxAdapter.js +52 -7
  152. package/dist/timeline/TrackBoxAdapter.d.ts +1 -0
  153. package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
  154. package/dist/timeline/TrackBoxAdapter.js +1 -0
  155. package/dist/timeline/clip/AudioClipBoxAdapter.d.ts +1 -2
  156. package/dist/timeline/clip/AudioClipBoxAdapter.d.ts.map +1 -1
  157. package/dist/timeline/clip/AudioClipBoxAdapter.js +3 -4
  158. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.d.ts.map +1 -1
  159. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.js +10 -8
  160. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.d.ts +2 -2
  161. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.d.ts.map +1 -1
  162. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.js +25 -8
  163. package/dist/timeline/event/ValueEventBoxAdapter.d.ts +1 -1
  164. package/dist/timeline/event/ValueEventBoxAdapter.d.ts.map +1 -1
  165. package/dist/timeline/event/ValueEventBoxAdapter.js +6 -2
  166. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts +4 -0
  167. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts.map +1 -1
  168. package/dist/timeline/region/AudioRegionBoxAdapter.js +17 -13
  169. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts +5 -1
  170. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts.map +1 -1
  171. package/dist/timeline/region/NoteRegionBoxAdapter.js +4 -0
  172. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts +4 -0
  173. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts.map +1 -1
  174. package/dist/timeline/region/ValueRegionBoxAdapter.js +4 -0
  175. package/package.json +10 -9
@@ -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, isDefined, 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
  }));
@@ -127,6 +134,16 @@ export class ValueEventCollectionBoxAdapter {
127
134
  }
128
135
  subscribeChange(observer) { return __classPrivateFieldGet(this, _ValueEventCollectionBoxAdapter_changeNotifier, "f").subscribe(observer); }
129
136
  createEvent({ position, index, value, interpolation }) {
137
+ const existing = __classPrivateFieldGet(this, _ValueEventCollectionBoxAdapter_adapters, "f").values().find(e => e.position === position && e.index === index);
138
+ 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
+ });
146
+ }
130
147
  const eventBox = ValueEventBox.create(__classPrivateFieldGet(this, _ValueEventCollectionBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
131
148
  box.position.setValue(position);
132
149
  box.index.setValue(index);
@@ -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;IAepD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAStC,QAAQ,IAAI,MAAM;CACrB"}
@@ -92,9 +92,13 @@ export class ValueEventBoxAdapter {
92
92
  .map(vertex => __classPrivateFieldGet(this, _ValueEventBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, ValueEventCollectionBoxAdapter));
93
93
  }
94
94
  copyTo(options) {
95
+ const position = options?.position ?? this.position;
96
+ const index = options?.index ?? this.index;
97
+ // DEBUG: Log copyTo calls
98
+ console.debug(`copyTo: position=${position}, index=${index}`, new Error().stack);
95
99
  const eventBox = ValueEventBox.create(__classPrivateFieldGet(this, _ValueEventBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
96
- box.position.setValue(options?.position ?? this.position);
97
- box.index.setValue(options?.index ?? this.index);
100
+ box.position.setValue(position);
101
+ box.index.setValue(index);
98
102
  box.events.refer(options?.events ?? this.collection.unwrap().box.events);
99
103
  box.value.setValue(options?.value ?? this.value);
100
104
  });
@@ -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":"AAAA,OAAO,EAAiB,SAAS,EAAE,IAAI,EAAyB,MAAM,kBAAkB,CAAA;AACxF,OAAO,EAEH,GAAG,EACH,KAAK,EAEL,QAAQ,EACR,MAAM,EAEN,YAAY,EAGZ,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAsB,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAyB,aAAa,EAAC,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,EAAC,MAAM,qBAAqB,CAAA;AACvG,OAAO,EAAC,6BAA6B,EAAC,MAAM,6CAA6C,CAAA;AACzF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE7C,KAAK,YAAY,GAAG;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,qBAAa,oBACT,YAAW,wBAAwB,CAAC,6BAA6B,CAAC,EAAE,aAAa;;IACjF,QAAQ,CAAC,IAAI,iBAAgB;gBAajB,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa;IAsC3D,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAsC;IAC9D,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAsC;IAC9D,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,EAAwC;IAClE,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,EAA0C;IAEtE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IACvD,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAExD,UAAU,IAAI,IAAI;IAKlB,YAAY,IAAI,IAAI;IAKpB,IAAI,UAAU,IAAI,OAAO,CAA0B;IAEjD,oBAAoB,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;IAa5D,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,IAAI,CAAuC;IAC3D,IAAI,QAAQ,IAAI,IAAI,CAAuC;IAC3D,IAAI,UAAU,IAAI,IAAI,CAAyC;IAC/D,IAAI,YAAY,IAAI,IAAI,CAA2C;IACnE,IAAI,MAAM,IAAI,IAAI,CAAyC;IAC3D,IAAI,QAAQ,IAAI,IAAI,CAAuC;IAC3D,IAAI,IAAI,IAAI,OAAO,CAAmC;IACtD,IAAI,GAAG,IAAI,GAAG,CAAkC;IAChD,IAAI,aAAa,YAAyC;IAC1D,IAAI,aAAa,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAGzD;IACD,IAAI,KAAK,IAAI,MAAM,CAAoC;IACvD,IAAI,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAI7C;IACD,IAAI,UAAU,IAAI,OAAO,CAA2E;IACpG,IAAI,SAAS,IAAI,OAAO,CAAc;IACtC,IAAI,SAAS,IAAI,OAAO,CAAc;IAEtC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,oBAAoB;IAkBnD,WAAW,IAAI,IAAI;IAUnB,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO;IAKtE,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;IA6CjF,QAAQ,IAAI,MAAM;CAMrB"}
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":"AAAA,OAAO,EAAC,eAAe,EAAkB,IAAI,EAAyB,MAAM,kBAAkB,CAAA;AAC9F,OAAO,EAEH,GAAG,EACH,KAAK,EAEL,QAAQ,EACR,MAAM,EAEN,YAAY,EAGZ,SAAS,EACT,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAsB,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,EAAC,MAAM,qBAAqB,CAAA;AACvG,OAAO,EAAC,8BAA8B,EAAC,MAAM,8CAA8C,CAAA;AAC3F,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAA0B,cAAc,EAAC,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE7C,KAAK,YAAY,GAAG;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,qBAAa,qBACT,YAAW,wBAAwB,CAAC,8BAA8B,CAAC,EAAE,aAAa;;IAClF,QAAQ,CAAC,IAAI,kBAAiB;gBAalB,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,cAAc;IAuC5D,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS;IAKvD,aAAa,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS;IAE7C,aAAa,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS;IAU7C,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAEvD,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAIxD,UAAU,IAAI,IAAI;IAKlB,YAAY,IAAI,IAAI;IAKpB,IAAI,UAAU,IAAI,OAAO,CAA0B;IAEnD,uBAAuB,IAAI,IAAI;IAC/B,sBAAsB,IAAI,IAAI;IAE9B,SAAS,IAAI,IAAI;IAKjB,IAAI,GAAG,IAAI,cAAc,CAAmB;IAC5C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,QAAQ,IAAI,IAAI,CAAuC;IAC3D,IAAI,QAAQ,IAAI,IAAI,CAAuC;IAC3D,IAAI,UAAU,IAAI,IAAI,CAAyC;IAC/D,IAAI,YAAY,IAAI,IAAI,CAA2C;IACnE,IAAI,MAAM,IAAI,IAAI,CAAyC;IAC3D,IAAI,QAAQ,IAAI,IAAI,CAAuC;IAC3D,IAAI,IAAI,IAAI,OAAO,CAAmC;IACtD,IAAI,GAAG,IAAI,GAAG,CAAkC;IAChD,IAAI,aAAa,YAAyC;IAC1D,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,CAE1D;IACD,IAAI,aAAa,IAAI,MAAM,CAAC,8BAA8B,CAAC,CAG1D;IACD,IAAI,KAAK,IAAI,MAAM,CAAoC;IACvD,IAAI,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAI7C;IACD,IAAI,UAAU,IAAI,OAAO,CAA2E;IACpG,IAAI,SAAS,IAAI,OAAO,CAAc;IACtC,IAAI,SAAS,IAAI,OAAO,CAAc;IAEtC,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAsC;IAC9D,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAsC;IAC9D,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,EAAwC;IAClE,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,EAA0C;IAEtE,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,qBAAqB;IAkBpD,WAAW,IAAI,IAAI;IAUnB,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO;IAMvE,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;IA0ClF,QAAQ,IAAI,MAAM;CAMrB"}
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.72",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,17 +23,18 @@
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.64",
27
+ "@opendaw/lib-dsp": "^0.0.63",
28
+ "@opendaw/lib-fusion": "^0.0.67",
29
+ "@opendaw/lib-runtime": "^0.0.63",
30
+ "@opendaw/lib-std": "^0.0.63",
31
+ "@opendaw/studio-boxes": "^0.0.65",
32
+ "@opendaw/studio-enums": "^0.0.55",
32
33
  "soundfont2": "^0.5.0"
33
34
  },
34
35
  "devDependencies": {
35
36
  "@opendaw/eslint-config": "^0.0.27",
36
- "@opendaw/typescript-config": "^0.0.27"
37
+ "@opendaw/typescript-config": "^0.0.28"
37
38
  },
38
- "gitHead": "b33275f0f9dbfc525fe517560b484514bdae3dad"
39
+ "gitHead": "db2b1bd172607177fef63077c2eed9b7cbec167f"
39
40
  }