@opendaw/studio-adapters 0.0.120 → 0.1.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAEL,MAAM,EAIN,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AA6G5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AA2BvC,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;IAkBnG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;CAuE3C"}
1
+ {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAEL,MAAM,EAIN,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AA8G5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AA4BvC,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;IAkBnG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;CAwE3C"}
@@ -72,6 +72,7 @@ import { WaveshaperDeviceBoxAdapter } from "./devices/audio-effects/WaveshaperDe
72
72
  import { WerkstattDeviceBoxAdapter } from "./devices/audio-effects/WerkstattDeviceBoxAdapter";
73
73
  import { NeuralAmpModelBoxAdapter } from "./nam/NeuralAmpModelBoxAdapter";
74
74
  import { AudioPitchStretchBoxAdapter } from "./audio/AudioPitchStretchBoxAdapter";
75
+ import { AudioSignalsmithBoxAdapter } from "./audio/AudioSignalsmithBoxAdapter";
75
76
  import { TransientMarkerBoxAdapter } from "./audio/TransientMarkerBoxAdapter";
76
77
  import { WarpMarkerBoxAdapter } from "./audio/WarpMarkerBoxAdapter";
77
78
  import { AudioTimeStretchBoxAdapter } from "./audio/AudioTimeStretchBoxAdapter";
@@ -130,6 +131,7 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
130
131
  visitAudioFileBox: (box) => new AudioFileBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
131
132
  visitAudioTimeStretchBox: (box) => new AudioTimeStretchBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
132
133
  visitAudioPitchStretchBox: (box) => new AudioPitchStretchBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
134
+ visitAudioSignalsmithBox: (box) => new AudioSignalsmithBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
133
135
  visitTransientMarkerBox: (box) => new TransientMarkerBoxAdapter(box),
134
136
  visitWarpMarkerBox: (box) => new WarpMarkerBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
135
137
  visitApparatDeviceBox: (box) => new ApparatDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
@@ -1,5 +1,6 @@
1
1
  import { int, Option } from "@opendaw/lib-std";
2
- import { ppqn } from "@opendaw/lib-dsp";
2
+ import { AudioData, ppqn } from "@opendaw/lib-dsp";
3
+ import { EngineSettings } from "./engine/EnginePreferencesSchema";
3
4
  export type ProcessorOptions = {};
4
5
  export type EngineProcessorAttachment = {
5
6
  syncStreamBuffer: SharedArrayBuffer;
@@ -21,12 +22,26 @@ export type ExportRange = "full" | {
21
22
  start: ppqn;
22
23
  end: ppqn;
23
24
  };
25
+ export type ExportMetronomeConfiguration = {
26
+ includeInMixdown?: boolean;
27
+ stem?: {
28
+ fileName: string;
29
+ };
30
+ settings?: Partial<Omit<EngineSettings["metronome"], "enabled">>;
31
+ clickSounds?: {
32
+ downbeat?: AudioData;
33
+ beat?: AudioData;
34
+ };
35
+ };
24
36
  export type ExportConfiguration = {
25
37
  stems?: Record<string, ExportStemConfiguration>;
38
+ metronome?: ExportMetronomeConfiguration;
26
39
  range?: ExportRange;
27
40
  };
28
41
  export declare namespace ExportConfiguration {
29
42
  const countStems: (config: Option<ExportConfiguration>) => int;
43
+ const isMetronomeAudible: (config: Option<ExportConfiguration>) => boolean;
44
+ const stemFileNames: (config: ExportConfiguration) => ReadonlyArray<string>;
30
45
  const sanitizeFileName: (name: string) => string;
31
46
  const sanitizeExportNamesInPlace: (configuration: ExportConfiguration) => void;
32
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EngineProcessorAttachment.d.ts","sourceRoot":"","sources":["../src/EngineProcessorAttachment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAa,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAErC,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAGjC,MAAM,MAAM,yBAAyB,GAAG;IACpC,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,aAAa,EAAE,iBAAiB,CAAA;IAChC,OAAO,EAAE,eAAe,CAAA;IACxB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;IACrB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAA;AAE7D,MAAM,MAAM,mBAAmB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;IAC/C,KAAK,CAAC,EAAE,WAAW,CAAA;CACtB,CAAA;AAED,yBAAiB,mBAAmB,CAAC;IAC1B,MAAM,UAAU,GAAI,QAAQ,MAAM,CAAC,mBAAmB,CAAC,KAAG,GAI3D,CAAA;IAEC,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,MAA4D,CAAA;IAErG,MAAM,0BAA0B,GAAI,eAAe,mBAAmB,KAAG,IAmB/E,CAAA;CACJ"}
1
+ {"version":3,"file":"EngineProcessorAttachment.d.ts","sourceRoot":"","sources":["../src/EngineProcessorAttachment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAa,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAA;AAE/D,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAGjC,MAAM,MAAM,yBAAyB,GAAG;IACpC,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,aAAa,EAAE,iBAAiB,CAAA;IAChC,OAAO,EAAE,eAAe,CAAA;IACxB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;IACrB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAA;AAM7D,MAAM,MAAM,4BAA4B,GAAG;IAEvC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAI3B,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;IAOhE,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,CAAA;CAC3D,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;IAC/C,SAAS,CAAC,EAAE,4BAA4B,CAAA;IACxC,KAAK,CAAC,EAAE,WAAW,CAAA;CACtB,CAAA;AAED,yBAAiB,mBAAmB,CAAC;IAG1B,MAAM,UAAU,GAAI,QAAQ,MAAM,CAAC,mBAAmB,CAAC,KAAG,GAM3D,CAAA;IAGC,MAAM,kBAAkB,GAAI,QAAQ,MAAM,CAAC,mBAAmB,CAAC,KAAG,OAMnE,CAAA;IAMC,MAAM,aAAa,GAAI,QAAQ,mBAAmB,KAAG,aAAa,CAAC,MAAM,CAK/E,CAAA;IAEM,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,MAA4D,CAAA;IAErG,MAAM,0BAA0B,GAAI,eAAe,mBAAmB,KAAG,IA0B/E,CAAA;CACJ"}
@@ -1,16 +1,40 @@
1
1
  import { isDefined } from "@opendaw/lib-std";
2
2
  export var ExportConfiguration;
3
3
  (function (ExportConfiguration) {
4
+ // The number of STEREO PAIRS a render writes, which sizes `numberOfChannels` (pairs * 2). Without stems a
5
+ // render is a single mixdown pair and the metronome (if any) mixes INTO it rather than adding a pair.
4
6
  ExportConfiguration.countStems = (config) => config.match({
5
7
  none: () => 1,
6
- some: cfg => isDefined(cfg.stems) ? Object.keys(cfg.stems).length : 1
8
+ some: cfg => isDefined(cfg.stems)
9
+ ? Object.keys(cfg.stems).length + (isDefined(cfg.metronome?.stem) ? 1 : 0)
10
+ : 1
7
11
  });
12
+ // Whether the engine must render the metronome at all for this configuration.
13
+ ExportConfiguration.isMetronomeAudible = (config) => config.match({
14
+ none: () => false,
15
+ some: cfg => isDefined(cfg.stems)
16
+ ? isDefined(cfg.metronome?.stem)
17
+ : cfg.metronome?.includeInMixdown === true
18
+ });
19
+ // The stem file names in CHANNEL ORDER: the unit stems in `stems` key order, then the metronome pair LAST.
20
+ // That is exactly the order the engine stages them in (`set_stem_export` writes the unit records, then
21
+ // `copy_stem_outputs` appends the metronome), and a writer maps channel pair i to name i. Derive the names
22
+ // from HERE rather than re-walking `stems`, which yields one name too few and writes `undefined.wav`.
23
+ ExportConfiguration.stemFileNames = (config) => {
24
+ const names = Object.values(config.stems ?? {}).map(({ fileName }) => fileName);
25
+ const metronomeStem = config.metronome?.stem;
26
+ if (isDefined(metronomeStem)) {
27
+ names.push(metronomeStem.fileName);
28
+ }
29
+ return names;
30
+ };
8
31
  ExportConfiguration.sanitizeFileName = (name) => name.replace(/[<>:"/\\|?*\x00-\x1F]/g, "_").trim();
9
32
  ExportConfiguration.sanitizeExportNamesInPlace = (configuration) => {
10
- if (!isDefined(configuration.stems)) {
33
+ const metronomeStem = configuration.metronome?.stem;
34
+ if (!isDefined(configuration.stems) && !isDefined(metronomeStem)) {
11
35
  return;
12
36
  }
13
- const stems = configuration.stems;
37
+ const stems = configuration.stems ?? {};
14
38
  const sanitizedNames = new Map();
15
39
  const getUniqueName = (baseName) => {
16
40
  let count = sanitizedNames.get(baseName) ?? 0;
@@ -27,5 +51,11 @@ export var ExportConfiguration;
27
51
  const entry = stems[key];
28
52
  entry.fileName = getUniqueName(ExportConfiguration.sanitizeFileName(entry.fileName));
29
53
  });
54
+ // The metronome shares the unit stems' namespace (they all land in one zip, where a duplicate name
55
+ // silently overwrites) and is sanitized LAST, matching its channel order, so a collision renames the
56
+ // click rather than a project stem.
57
+ if (isDefined(metronomeStem)) {
58
+ metronomeStem.fileName = getUniqueName(ExportConfiguration.sanitizeFileName(metronomeStem.fileName));
59
+ }
30
60
  };
31
61
  })(ExportConfiguration || (ExportConfiguration = {}));
@@ -1,7 +1,8 @@
1
1
  import { AudioPitchStretchBoxAdapter } from "./AudioPitchStretchBoxAdapter";
2
2
  import { AudioTimeStretchBoxAdapter } from "./AudioTimeStretchBoxAdapter";
3
+ import { AudioSignalsmithBoxAdapter } from "./AudioSignalsmithBoxAdapter";
3
4
  export declare namespace AudioPlayMode {
4
5
  const isAudioPlayMode: (mode: unknown) => mode is AudioPlayMode;
5
6
  }
6
- export type AudioPlayMode = AudioPitchStretchBoxAdapter | AudioTimeStretchBoxAdapter;
7
+ export type AudioPlayMode = AudioPitchStretchBoxAdapter | AudioTimeStretchBoxAdapter | AudioSignalsmithBoxAdapter;
7
8
  //# sourceMappingURL=AudioPlayMode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioPlayMode.d.ts","sourceRoot":"","sources":["../../src/audio/AudioPlayMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAA;AAEvE,yBAAiB,aAAa,CAAC;IACpB,MAAM,eAAe,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,aACqC,CAAA;CAChG;AAED,MAAM,MAAM,aAAa,GAAG,2BAA2B,GAAG,0BAA0B,CAAA"}
1
+ {"version":3,"file":"AudioPlayMode.d.ts","sourceRoot":"","sources":["../../src/audio/AudioPlayMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAA;AAEvE,yBAAiB,aAAa,CAAC;IACpB,MAAM,eAAe,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,aAGP,CAAA;CACpD;AAED,MAAM,MAAM,aAAa,GAAG,2BAA2B,GAAG,0BAA0B,GAAG,0BAA0B,CAAA"}
@@ -1,6 +1,9 @@
1
1
  import { AudioPitchStretchBoxAdapter } from "./AudioPitchStretchBoxAdapter";
2
2
  import { AudioTimeStretchBoxAdapter } from "./AudioTimeStretchBoxAdapter";
3
+ import { AudioSignalsmithBoxAdapter } from "./AudioSignalsmithBoxAdapter";
3
4
  export var AudioPlayMode;
4
5
  (function (AudioPlayMode) {
5
- AudioPlayMode.isAudioPlayMode = (mode) => mode instanceof AudioPitchStretchBoxAdapter || mode instanceof AudioTimeStretchBoxAdapter;
6
+ AudioPlayMode.isAudioPlayMode = (mode) => mode instanceof AudioPitchStretchBoxAdapter
7
+ || mode instanceof AudioTimeStretchBoxAdapter
8
+ || mode instanceof AudioSignalsmithBoxAdapter;
6
9
  })(AudioPlayMode || (AudioPlayMode = {}));
@@ -0,0 +1,24 @@
1
+ import { Observer, Subscription, UUID } from "@opendaw/lib-std";
2
+ import { Address } from "@opendaw/lib-box";
3
+ import { BoxAdaptersContext } from "../BoxAdaptersContext";
4
+ import { BoxAdapter } from "../BoxAdapter";
5
+ import { EventCollection } from "@opendaw/lib-dsp";
6
+ import { WarpMarkerBoxAdapter } from "./WarpMarkerBoxAdapter";
7
+ import { AudioSignalsmithBox } from "@opendaw/studio-boxes";
8
+ export declare class AudioSignalsmithBoxAdapter implements BoxAdapter {
9
+ #private;
10
+ constructor(context: BoxAdaptersContext, box: AudioSignalsmithBox);
11
+ get box(): AudioSignalsmithBox;
12
+ get uuid(): UUID.Bytes;
13
+ get address(): Address;
14
+ get warpMarkers(): EventCollection<WarpMarkerBoxAdapter>;
15
+ get transpose(): number;
16
+ set transpose(value: number);
17
+ get cents(): number;
18
+ set cents(value: number);
19
+ clone(): AudioSignalsmithBox;
20
+ subscribe(observer: Observer<void>): Subscription;
21
+ onChanged(): void;
22
+ terminate(): void;
23
+ }
24
+ //# sourceMappingURL=AudioSignalsmithBoxAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioSignalsmithBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio/AudioSignalsmithBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAa,YAAY,EAAc,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC9F,OAAO,EAAC,OAAO,EAAe,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAC,mBAAmB,EAAgB,MAAM,uBAAuB,CAAA;AAGxE,qBAAa,0BAA2B,YAAW,UAAU;;gBAU7C,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,mBAAmB;IAwBjE,IAAI,GAAG,IAAI,mBAAmB,CAAmB;IACjD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,WAAW,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAA2B;IAEnF,IAAI,SAAS,IAAI,MAAM,CAAwC;IAC/D,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAAuC;IAGlE,IAAI,KAAK,IAAI,MAAM,CAAgD;IACnE,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAA+C;IAEtE,KAAK,IAAI,mBAAmB;IAW5B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IACjD,SAAS,IAAI,IAAI;IAEjB,SAAS,IAAI,IAAI;CACpB"}
@@ -0,0 +1,68 @@
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 _AudioSignalsmithBoxAdapter_terminator, _AudioSignalsmithBoxAdapter_context, _AudioSignalsmithBoxAdapter_box, _AudioSignalsmithBoxAdapter_notifer, _AudioSignalsmithBoxAdapter_warpMarkerAdapters, _AudioSignalsmithBoxAdapter_warpMarkers;
13
+ import { Notifier, Terminator, UUID } from "@opendaw/lib-std";
14
+ import { EventCollection } from "@opendaw/lib-dsp";
15
+ import { WarpMarkerBoxAdapter } from "./WarpMarkerBoxAdapter";
16
+ import { AudioSignalsmithBox, WarpMarkerBox } from "@opendaw/studio-boxes";
17
+ import { MarkerComparator } from "./MarkerComparator";
18
+ export class AudioSignalsmithBoxAdapter {
19
+ constructor(context, box) {
20
+ _AudioSignalsmithBoxAdapter_terminator.set(this, new Terminator());
21
+ _AudioSignalsmithBoxAdapter_context.set(this, void 0);
22
+ _AudioSignalsmithBoxAdapter_box.set(this, void 0);
23
+ _AudioSignalsmithBoxAdapter_notifer.set(this, void 0);
24
+ _AudioSignalsmithBoxAdapter_warpMarkerAdapters.set(this, void 0);
25
+ _AudioSignalsmithBoxAdapter_warpMarkers.set(this, void 0);
26
+ __classPrivateFieldSet(this, _AudioSignalsmithBoxAdapter_context, context, "f");
27
+ __classPrivateFieldSet(this, _AudioSignalsmithBoxAdapter_box, box, "f");
28
+ __classPrivateFieldSet(this, _AudioSignalsmithBoxAdapter_notifer, new Notifier(), "f");
29
+ __classPrivateFieldSet(this, _AudioSignalsmithBoxAdapter_warpMarkerAdapters, UUID.newSet(({ uuid }) => uuid), "f");
30
+ __classPrivateFieldSet(this, _AudioSignalsmithBoxAdapter_warpMarkers, EventCollection.create(MarkerComparator), "f");
31
+ __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_terminator, "f").ownAll(box.warpMarkers.pointerHub.catchupAndSubscribe({
32
+ onAdded: (pointer) => {
33
+ const marker = __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_context, "f").boxAdapters.adapterFor(pointer.box, WarpMarkerBoxAdapter);
34
+ if (__classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_warpMarkerAdapters, "f").add(marker)) {
35
+ __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_warpMarkers, "f").add(marker);
36
+ __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_notifer, "f").notify();
37
+ }
38
+ },
39
+ onRemoved: ({ box: { address: { uuid } } }) => {
40
+ __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_warpMarkers, "f").remove(__classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_warpMarkerAdapters, "f").removeByKey(uuid));
41
+ __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_notifer, "f").notify();
42
+ }
43
+ }));
44
+ }
45
+ get box() { return __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_box, "f"); }
46
+ get uuid() { return __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_box, "f").address.uuid; }
47
+ get address() { return __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_box, "f").address; }
48
+ get warpMarkers() { return __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_warpMarkers, "f"); }
49
+ get transpose() { return __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_box, "f").transpose.getValue(); }
50
+ set transpose(value) { __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_box, "f").transpose.setValue(value); }
51
+ // The pitch shift expressed in cents (100 cents = 1 semitone), so the editor's cents input can drive it.
52
+ get cents() { return __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_box, "f").transpose.getValue() * 100.0; }
53
+ set cents(value) { __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_box, "f").transpose.setValue(value / 100.0); }
54
+ clone() {
55
+ const signalsmithBox = AudioSignalsmithBox.create(__classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_box, "f").graph, UUID.generate());
56
+ signalsmithBox.transpose.setValue(__classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_box, "f").transpose.getValue());
57
+ this.warpMarkers.asArray().forEach(marker => WarpMarkerBox.create(signalsmithBox.graph, UUID.generate(), box => {
58
+ box.position.setValue(marker.position);
59
+ box.seconds.setValue(marker.seconds);
60
+ box.owner.refer(signalsmithBox.warpMarkers);
61
+ }));
62
+ return signalsmithBox;
63
+ }
64
+ subscribe(observer) { return __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_notifer, "f").subscribe(observer); }
65
+ onChanged() { __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_notifer, "f").notify(); }
66
+ terminate() { __classPrivateFieldGet(this, _AudioSignalsmithBoxAdapter_terminator, "f").terminate(); }
67
+ }
68
+ _AudioSignalsmithBoxAdapter_terminator = new WeakMap(), _AudioSignalsmithBoxAdapter_context = new WeakMap(), _AudioSignalsmithBoxAdapter_box = new WeakMap(), _AudioSignalsmithBoxAdapter_notifer = new WeakMap(), _AudioSignalsmithBoxAdapter_warpMarkerAdapters = new WeakMap(), _AudioSignalsmithBoxAdapter_warpMarkers = new WeakMap();
@@ -1,16 +1,19 @@
1
- import { Observer, Subscription, UUID } from "@opendaw/lib-std";
1
+ import { Observer, Selectable, Subscription, UUID } from "@opendaw/lib-std";
2
2
  import { Address } from "@opendaw/lib-box";
3
3
  import { Event } from "@opendaw/lib-dsp";
4
4
  import { TransientMarkerBox } from "@opendaw/studio-boxes";
5
5
  import { BoxAdapter } from "../BoxAdapter";
6
- export declare class TransientMarkerBoxAdapter implements BoxAdapter, Event {
6
+ export declare class TransientMarkerBoxAdapter implements BoxAdapter, Event, Selectable {
7
7
  #private;
8
8
  readonly type = "transient-marker";
9
9
  constructor(box: TransientMarkerBox);
10
+ onSelected(): void;
11
+ onDeselected(): void;
10
12
  get box(): TransientMarkerBox;
11
13
  get uuid(): UUID.Bytes;
12
14
  get address(): Address;
13
15
  get position(): number;
16
+ get isSelected(): boolean;
14
17
  subscribe(observer: Observer<void>): Subscription;
15
18
  terminate(): void;
16
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TransientMarkerBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio/TransientMarkerBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,YAAY,EAAc,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACnF,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAExC,qBAAa,yBAA0B,YAAW,UAAU,EAAE,KAAK;;IAC/D,QAAQ,CAAC,IAAI,sBAAqB;gBAMtB,GAAG,EAAE,kBAAkB;IAMnC,IAAI,GAAG,IAAI,kBAAkB,CAAmB;IAChD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,QAAQ,IAAI,MAAM,CAAuC;IAE7D,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAEjD,SAAS,IAAI,IAAI;CACpB"}
1
+ {"version":3,"file":"TransientMarkerBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio/TransientMarkerBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAc,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC/F,OAAO,EAAC,OAAO,EAAc,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAExC,qBAAa,yBAA0B,YAAW,UAAU,EAAE,KAAK,EAAE,UAAU;;IAC3E,QAAQ,CAAC,IAAI,sBAAqB;gBAQtB,GAAG,EAAE,kBAAkB;IAOnC,UAAU,IAAI,IAAI;IAKlB,YAAY,IAAI,IAAI;IAKpB,IAAI,GAAG,IAAI,kBAAkB,CAAmB;IAChD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,QAAQ,IAAI,MAAM,CAAuC;IAC7D,IAAI,UAAU,IAAI,OAAO,CAA0B;IAEnD,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAIjD,SAAS,IAAI,IAAI;CACpB"}
@@ -9,22 +9,35 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
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
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _TransientMarkerBoxAdapter_terminator, _TransientMarkerBoxAdapter_box, _TransientMarkerBoxAdapter_notifer;
12
+ var _TransientMarkerBoxAdapter_instances, _TransientMarkerBoxAdapter_terminator, _TransientMarkerBoxAdapter_box, _TransientMarkerBoxAdapter_notifer, _TransientMarkerBoxAdapter_isSelected, _TransientMarkerBoxAdapter_onChanged;
13
13
  import { Notifier, Terminator } from "@opendaw/lib-std";
14
+ import { Propagation } from "@opendaw/lib-box";
14
15
  export class TransientMarkerBoxAdapter {
15
16
  constructor(box) {
17
+ _TransientMarkerBoxAdapter_instances.add(this);
16
18
  this.type = "transient-marker";
17
19
  _TransientMarkerBoxAdapter_terminator.set(this, new Terminator());
18
20
  _TransientMarkerBoxAdapter_box.set(this, void 0);
19
21
  _TransientMarkerBoxAdapter_notifer.set(this, void 0);
22
+ _TransientMarkerBoxAdapter_isSelected.set(this, false);
20
23
  __classPrivateFieldSet(this, _TransientMarkerBoxAdapter_box, box, "f");
21
24
  __classPrivateFieldSet(this, _TransientMarkerBoxAdapter_notifer, new Notifier(), "f");
25
+ __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_terminator, "f").own(box.subscribe(Propagation.Children, () => __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_instances, "m", _TransientMarkerBoxAdapter_onChanged).call(this)));
26
+ }
27
+ onSelected() {
28
+ __classPrivateFieldSet(this, _TransientMarkerBoxAdapter_isSelected, true, "f");
29
+ __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_instances, "m", _TransientMarkerBoxAdapter_onChanged).call(this);
30
+ }
31
+ onDeselected() {
32
+ __classPrivateFieldSet(this, _TransientMarkerBoxAdapter_isSelected, false, "f");
33
+ __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_instances, "m", _TransientMarkerBoxAdapter_onChanged).call(this);
22
34
  }
23
35
  get box() { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_box, "f"); }
24
36
  get uuid() { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_box, "f").address.uuid; }
25
37
  get address() { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_box, "f").address; }
26
38
  get position() { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_box, "f").position.getValue(); }
39
+ get isSelected() { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_isSelected, "f"); }
27
40
  subscribe(observer) { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_notifer, "f").subscribe(observer); }
28
41
  terminate() { __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_terminator, "f").terminate(); }
29
42
  }
30
- _TransientMarkerBoxAdapter_terminator = new WeakMap(), _TransientMarkerBoxAdapter_box = new WeakMap(), _TransientMarkerBoxAdapter_notifer = new WeakMap();
43
+ _TransientMarkerBoxAdapter_terminator = new WeakMap(), _TransientMarkerBoxAdapter_box = new WeakMap(), _TransientMarkerBoxAdapter_notifer = new WeakMap(), _TransientMarkerBoxAdapter_isSelected = new WeakMap(), _TransientMarkerBoxAdapter_instances = new WeakSet(), _TransientMarkerBoxAdapter_onChanged = function _TransientMarkerBoxAdapter_onChanged() { __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_notifer, "f").notify(); };
package/dist/index.d.ts CHANGED
@@ -46,6 +46,7 @@ export * from "./audio-unit/AuxSendBoxAdapter";
46
46
  export * from "./audio/AudioFileBoxAdapter";
47
47
  export * from "./audio/AudioPitchStretchBoxAdapter";
48
48
  export * from "./audio/AudioPlayMode";
49
+ export * from "./audio/AudioSignalsmithBoxAdapter";
49
50
  export * from "./audio/AudioTimeStretchBoxAdapter";
50
51
  export * from "./audio/MarkerComparator";
51
52
  export * from "./audio/TransientMarkerBoxAdapter";
@@ -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
@@ -48,6 +48,7 @@ export * from "./audio-unit/AuxSendBoxAdapter";
48
48
  export * from "./audio/AudioFileBoxAdapter";
49
49
  export * from "./audio/AudioPitchStretchBoxAdapter";
50
50
  export * from "./audio/AudioPlayMode";
51
+ export * from "./audio/AudioSignalsmithBoxAdapter";
51
52
  export * from "./audio/AudioTimeStretchBoxAdapter";
52
53
  export * from "./audio/MarkerComparator";
53
54
  export * from "./audio/TransientMarkerBoxAdapter";
@@ -1 +1 @@
1
- {"version":3,"file":"PresetDecoder.d.ts","sourceRoot":"","sources":["../../src/preset/PresetDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,OAAO,EAGP,GAAG,EAQN,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAEH,YAAY,EAOf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAG3C,yBAAiB,aAAa,CAAC;IACpB,MAAM,MAAM,GAAI,OAAO,eAAe,EAAE,QAAQ,eAAe,KAAG,aAAa,CAAC,YAAY,CAqElG,CAAA;IAEM,MAAM,eAAe,GAAI,aAAa,WAAW,KAAG,OAY1D,CAAA;IAEM,MAAM,gBAAgB,GAAI,aAAa,WAAW,EAAE,oBAAoB,YAAY,EAAE,UAAU;QACnG,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAA;KACzB,KAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAsHvB,CAAA;IAEM,MAAM,iBAAiB,GAC1B,OAAO,eAAe,EACtB,iBAAiB,YAAY,EAC7B,aAAa,GAAG,EAChB,MAAM,YAAY,CAAC,SAAS,KAC7B,OAAO,CAAC,IAAI,EAAE,MAAM,CA+FtB,CAAA;CACJ"}
1
+ {"version":3,"file":"PresetDecoder.d.ts","sourceRoot":"","sources":["../../src/preset/PresetDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,OAAO,EAGP,GAAG,EAQN,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAEH,YAAY,EAOf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAG3C,yBAAiB,aAAa,CAAC;IACpB,MAAM,MAAM,GAAI,OAAO,eAAe,EAAE,QAAQ,eAAe,KAAG,aAAa,CAAC,YAAY,CAqElG,CAAA;IAEM,MAAM,eAAe,GAAI,aAAa,WAAW,KAAG,OAY1D,CAAA;IAEM,MAAM,gBAAgB,GAAI,aAAa,WAAW,EAAE,oBAAoB,YAAY,EAAE,UAAU;QACnG,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAA;KACzB,KAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAsHvB,CAAA;IAEM,MAAM,iBAAiB,GAC1B,OAAO,eAAe,EACtB,iBAAiB,YAAY,EAC7B,aAAa,GAAG,EAChB,MAAM,YAAY,CAAC,SAAS,KAC7B,OAAO,CAAC,IAAI,EAAE,MAAM,CAgGtB,CAAA;CACJ"}
@@ -221,6 +221,9 @@ export var PresetDecoder;
221
221
  return Attempts.Ok;
222
222
  };
223
223
  PresetDecoder.insertEffectChain = (bytes, targetAudioUnit, insertIndex, kind) => {
224
+ if (bytes.byteLength < 8) {
225
+ return Attempts.err("Invalid preset header");
226
+ }
224
227
  const headerInput = new ByteArrayInput(bytes.slice(0, 8));
225
228
  if (headerInput.readInt() !== PresetHeader.MAGIC_HEADER_OPEN) {
226
229
  return Attempts.err("Invalid preset header");
@@ -5,6 +5,7 @@ import { AudioPlayMode } from "../audio/AudioPlayMode";
5
5
  import { AudioFileBoxAdapter } from "../audio/AudioFileBoxAdapter";
6
6
  import { AudioTimeStretchBoxAdapter } from "../audio/AudioTimeStretchBoxAdapter";
7
7
  import { AudioPitchStretchBoxAdapter } from "../audio/AudioPitchStretchBoxAdapter";
8
+ import { AudioSignalsmithBoxAdapter } from "../audio/AudioSignalsmithBoxAdapter";
8
9
  import { WarpMarkerBoxAdapter } from "../audio/WarpMarkerBoxAdapter";
9
10
  import { AudioClipBox, AudioRegionBox } from "@opendaw/studio-boxes";
10
11
  export interface AudioContentBoxAdapter extends BoxAdapter {
@@ -17,6 +18,7 @@ export interface AudioContentBoxAdapter extends BoxAdapter {
17
18
  get isPlayModeNoStretch(): boolean;
18
19
  get asPlayModePitchStretch(): Option<AudioPitchStretchBoxAdapter>;
19
20
  get asPlayModeTimeStretch(): Option<AudioTimeStretchBoxAdapter>;
21
+ get asPlayModeSignalsmith(): Option<AudioSignalsmithBoxAdapter>;
20
22
  get optWarpMarkers(): Option<EventCollection<WarpMarkerBoxAdapter>>;
21
23
  get canResize(): boolean;
22
24
  get gain(): MutableObservableValue<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"AudioContentBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/AudioContentBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAC,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,qCAAqC,CAAA;AAC9E,OAAO,EAAC,2BAA2B,EAAC,MAAM,sCAAsC,CAAA;AAChF,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAA;AAElE,MAAM,WAAW,sBAAuB,SAAQ,UAAU;IACtD,IAAI,IAAI,IAAI,mBAAmB,CAAA;IAC/B,IAAI,OAAO,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAC1C,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,QAAQ,IAAI,IAAI,CAAA;IACpB,IAAI,qBAAqB,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC5D,IAAI,cAAc,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACpD,IAAI,mBAAmB,IAAI,OAAO,CAAA;IAClC,IAAI,sBAAsB,IAAI,MAAM,CAAC,2BAA2B,CAAC,CAAA;IACjE,IAAI,qBAAqB,IAAI,MAAM,CAAC,0BAA0B,CAAC,CAAA;IAC/D,IAAI,cAAc,IAAI,MAAM,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,CAAA;IACnE,IAAI,SAAS,IAAI,OAAO,CAAA;IACxB,IAAI,IAAI,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC1C,IAAI,GAAG,IAAI,YAAY,GAAG,cAAc,CAAA;CAC3C"}
1
+ {"version":3,"file":"AudioContentBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/AudioContentBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAC,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,qCAAqC,CAAA;AAC9E,OAAO,EAAC,2BAA2B,EAAC,MAAM,sCAAsC,CAAA;AAChF,OAAO,EAAC,0BAA0B,EAAC,MAAM,qCAAqC,CAAA;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAA;AAElE,MAAM,WAAW,sBAAuB,SAAQ,UAAU;IACtD,IAAI,IAAI,IAAI,mBAAmB,CAAA;IAC/B,IAAI,OAAO,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAC1C,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,QAAQ,IAAI,IAAI,CAAA;IACpB,IAAI,qBAAqB,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC5D,IAAI,cAAc,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACpD,IAAI,mBAAmB,IAAI,OAAO,CAAA;IAClC,IAAI,sBAAsB,IAAI,MAAM,CAAC,2BAA2B,CAAC,CAAA;IACjE,IAAI,qBAAqB,IAAI,MAAM,CAAC,0BAA0B,CAAC,CAAA;IAC/D,IAAI,qBAAqB,IAAI,MAAM,CAAC,0BAA0B,CAAC,CAAA;IAC/D,IAAI,cAAc,IAAI,MAAM,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,CAAA;IACnE,IAAI,SAAS,IAAI,OAAO,CAAA;IACxB,IAAI,IAAI,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC1C,IAAI,GAAG,IAAI,YAAY,GAAG,cAAc,CAAA;CAC3C"}
@@ -10,6 +10,7 @@ import { AudioContentBoxAdapter } from "../AudioContentBoxAdapter";
10
10
  import { AudioPlayMode } from "../../audio/AudioPlayMode";
11
11
  import { AudioPitchStretchBoxAdapter } from "../../audio/AudioPitchStretchBoxAdapter";
12
12
  import { AudioTimeStretchBoxAdapter } from "../../audio/AudioTimeStretchBoxAdapter";
13
+ import { AudioSignalsmithBoxAdapter } from "../../audio/AudioSignalsmithBoxAdapter";
13
14
  import { WarpMarkerBoxAdapter } from "../../audio/WarpMarkerBoxAdapter";
14
15
  export declare class AudioClipBoxAdapter implements AudioContentBoxAdapter, ClipBoxAdapter<never> {
15
16
  #private;
@@ -42,6 +43,7 @@ export declare class AudioClipBoxAdapter implements AudioContentBoxAdapter, Clip
42
43
  get isPlayModeNoStretch(): boolean;
43
44
  get asPlayModePitchStretch(): Option<AudioPitchStretchBoxAdapter>;
44
45
  get asPlayModeTimeStretch(): Option<AudioTimeStretchBoxAdapter>;
46
+ get asPlayModeSignalsmith(): Option<AudioSignalsmithBoxAdapter>;
45
47
  get optWarpMarkers(): Option<EventCollection<WarpMarkerBoxAdapter>>;
46
48
  get label(): string;
47
49
  get trackBoxAdapter(): Option<TrackBoxAdapter>;
@@ -1 +1 @@
1
- {"version":3,"file":"AudioClipBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/clip/AudioClipBoxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AudioClipBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/clip/AudioClipBoxAdapter.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { AudioFileBoxAdapter } from "../../audio/AudioFileBoxAdapter";
19
19
  import { AudioPlayMode } from "../../audio/AudioPlayMode";
20
20
  import { AudioPitchStretchBoxAdapter } from "../../audio/AudioPitchStretchBoxAdapter";
21
21
  import { AudioTimeStretchBoxAdapter } from "../../audio/AudioTimeStretchBoxAdapter";
22
+ import { AudioSignalsmithBoxAdapter } from "../../audio/AudioSignalsmithBoxAdapter";
22
23
  export class AudioClipBoxAdapter {
23
24
  constructor(context, box) {
24
25
  _AudioClipBoxAdapter_instances.add(this);
@@ -110,6 +111,9 @@ export class AudioClipBoxAdapter {
110
111
  get asPlayModeTimeStretch() {
111
112
  return this.observableOptPlayMode.map(mode => isInstanceOf(mode, AudioTimeStretchBoxAdapter) ? mode : null);
112
113
  }
114
+ get asPlayModeSignalsmith() {
115
+ return this.observableOptPlayMode.map(mode => isInstanceOf(mode, AudioSignalsmithBoxAdapter) ? mode : null);
116
+ }
113
117
  get optWarpMarkers() {
114
118
  return this.observableOptPlayMode.map(mode => AudioPlayMode.isAudioPlayMode(mode) ? mode.warpMarkers : null);
115
119
  }
@@ -13,6 +13,7 @@ import { AudioContentBoxAdapter } from "../AudioContentBoxAdapter";
13
13
  import { AudioPlayMode } from "../../audio/AudioPlayMode";
14
14
  import { AudioPitchStretchBoxAdapter } from "../../audio/AudioPitchStretchBoxAdapter";
15
15
  import { AudioTimeStretchBoxAdapter } from "../../audio/AudioTimeStretchBoxAdapter";
16
+ import { AudioSignalsmithBoxAdapter } from "../../audio/AudioSignalsmithBoxAdapter";
16
17
  import { WarpMarkerBoxAdapter } from "../../audio/WarpMarkerBoxAdapter";
17
18
  import { FadingAdapter } from "./FadingAdapter";
18
19
  import { NoteRegionBoxAdapter } from "./NoteRegionBoxAdapter";
@@ -61,6 +62,7 @@ export declare class AudioRegionBoxAdapter implements AudioContentBoxAdapter, Lo
61
62
  get isPlayModeNoStretch(): boolean;
62
63
  get asPlayModePitchStretch(): Option<AudioPitchStretchBoxAdapter>;
63
64
  get asPlayModeTimeStretch(): Option<AudioTimeStretchBoxAdapter>;
65
+ get asPlayModeSignalsmith(): Option<AudioSignalsmithBoxAdapter>;
64
66
  get optWarpMarkers(): Option<EventCollection<WarpMarkerBoxAdapter>>;
65
67
  get label(): string;
66
68
  get isMirrowed(): boolean;
@@ -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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"}
@@ -20,6 +20,7 @@ import { ValueEventCollectionBoxAdapter } from "../collection/ValueEventCollecti
20
20
  import { AudioPlayMode } from "../../audio/AudioPlayMode";
21
21
  import { AudioPitchStretchBoxAdapter } from "../../audio/AudioPitchStretchBoxAdapter";
22
22
  import { AudioTimeStretchBoxAdapter } from "../../audio/AudioTimeStretchBoxAdapter";
23
+ import { AudioSignalsmithBoxAdapter } from "../../audio/AudioSignalsmithBoxAdapter";
23
24
  import { FadingAdapter } from "./FadingAdapter";
24
25
  export class AudioRegionBoxAdapter {
25
26
  constructor(context, box) {
@@ -155,6 +156,9 @@ export class AudioRegionBoxAdapter {
155
156
  get asPlayModeTimeStretch() {
156
157
  return this.observableOptPlayMode.map(mode => isInstanceOf(mode, AudioTimeStretchBoxAdapter) ? mode : null);
157
158
  }
159
+ get asPlayModeSignalsmith() {
160
+ return this.observableOptPlayMode.map(mode => isInstanceOf(mode, AudioSignalsmithBoxAdapter) ? mode : null);
161
+ }
158
162
  get optWarpMarkers() {
159
163
  return this.observableOptPlayMode.map(mode => AudioPlayMode.isAudioPlayMode(mode) ? mode.warpMarkers : null);
160
164
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/studio-adapters",
3
- "version": "0.0.120",
3
+ "version": "0.1.1",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -25,19 +25,19 @@
25
25
  "pregenerate-all-boxes": "npm run build -w @opendaw/studio-forge-boxes && npm run build -w @opendaw/studio-boxes"
26
26
  },
27
27
  "dependencies": {
28
- "@opendaw/lib-box": "^0.0.89",
29
- "@opendaw/lib-dsp": "^0.0.87",
30
- "@opendaw/lib-fusion": "^0.0.97",
31
- "@opendaw/lib-midi": "^0.0.69",
32
- "@opendaw/lib-runtime": "^0.0.82",
33
- "@opendaw/lib-std": "^0.0.81",
34
- "@opendaw/studio-boxes": "^0.0.97",
35
- "@opendaw/studio-enums": "^0.0.80",
28
+ "@opendaw/lib-box": "^0.0.90",
29
+ "@opendaw/lib-dsp": "^0.0.88",
30
+ "@opendaw/lib-fusion": "^0.0.99",
31
+ "@opendaw/lib-midi": "^0.0.70",
32
+ "@opendaw/lib-runtime": "^0.0.83",
33
+ "@opendaw/lib-std": "^0.0.82",
34
+ "@opendaw/studio-boxes": "^0.0.99",
35
+ "@opendaw/studio-enums": "^0.0.82",
36
36
  "soundfont2": "^0.5.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@opendaw/eslint-config": "^0.0.28",
40
40
  "@opendaw/typescript-config": "^0.0.32"
41
41
  },
42
- "gitHead": "8b806c880c2642b10f277e8b74c31aeafe7e6bfc"
42
+ "gitHead": "7c1920cfb1d90ae20f6c04e4ce61d3d0bf0678ae"
43
43
  }