@opendaw/studio-scripting 0.0.2

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 (116) hide show
  1. package/README.md +24 -0
  2. package/dist/Api.d.ts +259 -0
  3. package/dist/Api.d.ts.map +1 -0
  4. package/dist/Api.js +4 -0
  5. package/dist/Asserts.d.ts +4 -0
  6. package/dist/Asserts.d.ts.map +1 -0
  7. package/dist/Asserts.js +53 -0
  8. package/dist/AudioEffectFactory.d.ts +7 -0
  9. package/dist/AudioEffectFactory.d.ts.map +1 -0
  10. package/dist/AudioEffectFactory.js +23 -0
  11. package/dist/AudioFileBoxfactory.d.ts +6 -0
  12. package/dist/AudioFileBoxfactory.d.ts.map +1 -0
  13. package/dist/AudioFileBoxfactory.js +10 -0
  14. package/dist/AudioTrackWriter.d.ts +8 -0
  15. package/dist/AudioTrackWriter.d.ts.map +1 -0
  16. package/dist/AudioTrackWriter.js +39 -0
  17. package/dist/AudioUnitBoxFactory.d.ts +6 -0
  18. package/dist/AudioUnitBoxFactory.d.ts.map +1 -0
  19. package/dist/AudioUnitBoxFactory.js +116 -0
  20. package/dist/IndexRef.d.ts +5 -0
  21. package/dist/IndexRef.d.ts.map +1 -0
  22. package/dist/IndexRef.js +1 -0
  23. package/dist/MIDIEffectFactory.d.ts +7 -0
  24. package/dist/MIDIEffectFactory.d.ts.map +1 -0
  25. package/dist/MIDIEffectFactory.js +20 -0
  26. package/dist/NoteTrackWriter.d.ts +9 -0
  27. package/dist/NoteTrackWriter.d.ts.map +1 -0
  28. package/dist/NoteTrackWriter.js +45 -0
  29. package/dist/ProjectConverter.d.ts +6 -0
  30. package/dist/ProjectConverter.d.ts.map +1 -0
  31. package/dist/ProjectConverter.js +39 -0
  32. package/dist/ProjectUnpacker.d.ts +6 -0
  33. package/dist/ProjectUnpacker.d.ts.map +1 -0
  34. package/dist/ProjectUnpacker.js +14 -0
  35. package/dist/ScriptExecutionProtocol.d.ts +7 -0
  36. package/dist/ScriptExecutionProtocol.d.ts.map +1 -0
  37. package/dist/ScriptExecutionProtocol.js +1 -0
  38. package/dist/ScriptHost.d.ts +8 -0
  39. package/dist/ScriptHost.d.ts.map +1 -0
  40. package/dist/ScriptHost.js +23 -0
  41. package/dist/ScriptHostProtocol.d.ts +10 -0
  42. package/dist/ScriptHostProtocol.d.ts.map +1 -0
  43. package/dist/ScriptHostProtocol.js +1 -0
  44. package/dist/ScriptRunner.d.ts +8 -0
  45. package/dist/ScriptRunner.d.ts.map +1 -0
  46. package/dist/ScriptRunner.js +22 -0
  47. package/dist/ScriptWorker.d.ts +2 -0
  48. package/dist/ScriptWorker.d.ts.map +1 -0
  49. package/dist/ScriptWorker.js +21 -0
  50. package/dist/ValueTrackWriter.d.ts +10 -0
  51. package/dist/ValueTrackWriter.d.ts.map +1 -0
  52. package/dist/ValueTrackWriter.js +78 -0
  53. package/dist/impl/ApiImpl.d.ts +12 -0
  54. package/dist/impl/ApiImpl.d.ts.map +1 -0
  55. package/dist/impl/ApiImpl.js +19 -0
  56. package/dist/impl/AudioRegionImpl.d.ts +19 -0
  57. package/dist/impl/AudioRegionImpl.d.ts.map +1 -0
  58. package/dist/impl/AudioRegionImpl.js +27 -0
  59. package/dist/impl/AudioTrackImpl.d.ts +12 -0
  60. package/dist/impl/AudioTrackImpl.d.ts.map +1 -0
  61. package/dist/impl/AudioTrackImpl.js +17 -0
  62. package/dist/impl/AudioUnitImpl.d.ts +25 -0
  63. package/dist/impl/AudioUnitImpl.d.ts.map +1 -0
  64. package/dist/impl/AudioUnitImpl.js +73 -0
  65. package/dist/impl/AuxAudioUnitImpl.d.ts +13 -0
  66. package/dist/impl/AuxAudioUnitImpl.d.ts.map +1 -0
  67. package/dist/impl/AuxAudioUnitImpl.js +19 -0
  68. package/dist/impl/DelayEffectImpl.d.ts +14 -0
  69. package/dist/impl/DelayEffectImpl.d.ts.map +1 -0
  70. package/dist/impl/DelayEffectImpl.js +21 -0
  71. package/dist/impl/GroupAudioUnitImpl.d.ts +13 -0
  72. package/dist/impl/GroupAudioUnitImpl.d.ts.map +1 -0
  73. package/dist/impl/GroupAudioUnitImpl.js +19 -0
  74. package/dist/impl/InstrumentAudioUnitImpl.d.ts +15 -0
  75. package/dist/impl/InstrumentAudioUnitImpl.d.ts.map +1 -0
  76. package/dist/impl/InstrumentAudioUnitImpl.js +24 -0
  77. package/dist/impl/InstrumentImpl.d.ts +9 -0
  78. package/dist/impl/InstrumentImpl.d.ts.map +1 -0
  79. package/dist/impl/InstrumentImpl.js +10 -0
  80. package/dist/impl/NoteEventImpl.d.ts +11 -0
  81. package/dist/impl/NoteEventImpl.d.ts.map +1 -0
  82. package/dist/impl/NoteEventImpl.js +14 -0
  83. package/dist/impl/NoteRegionImpl.d.ts +21 -0
  84. package/dist/impl/NoteRegionImpl.d.ts.map +1 -0
  85. package/dist/impl/NoteRegionImpl.js +36 -0
  86. package/dist/impl/NoteTrackImpl.d.ts +12 -0
  87. package/dist/impl/NoteTrackImpl.d.ts.map +1 -0
  88. package/dist/impl/NoteTrackImpl.js +17 -0
  89. package/dist/impl/OutputAudioUnitImpl.d.ts +7 -0
  90. package/dist/impl/OutputAudioUnitImpl.d.ts.map +1 -0
  91. package/dist/impl/OutputAudioUnitImpl.js +5 -0
  92. package/dist/impl/PitchEffectImpl.d.ts +12 -0
  93. package/dist/impl/PitchEffectImpl.d.ts.map +1 -0
  94. package/dist/impl/PitchEffectImpl.js +15 -0
  95. package/dist/impl/ProjectImpl.d.ts +25 -0
  96. package/dist/impl/ProjectImpl.d.ts.map +1 -0
  97. package/dist/impl/ProjectImpl.js +42 -0
  98. package/dist/impl/SendImpl.d.ts +10 -0
  99. package/dist/impl/SendImpl.d.ts.map +1 -0
  100. package/dist/impl/SendImpl.js +12 -0
  101. package/dist/impl/ValueEventImpl.d.ts +11 -0
  102. package/dist/impl/ValueEventImpl.d.ts.map +1 -0
  103. package/dist/impl/ValueEventImpl.js +12 -0
  104. package/dist/impl/ValueRegionImpl.d.ts +21 -0
  105. package/dist/impl/ValueRegionImpl.d.ts.map +1 -0
  106. package/dist/impl/ValueRegionImpl.js +37 -0
  107. package/dist/impl/ValueTrackImpl.d.ts +14 -0
  108. package/dist/impl/ValueTrackImpl.d.ts.map +1 -0
  109. package/dist/impl/ValueTrackImpl.js +21 -0
  110. package/dist/impl/index.d.ts +18 -0
  111. package/dist/impl/index.d.ts.map +1 -0
  112. package/dist/impl/index.js +17 -0
  113. package/dist/index.d.ts +7 -0
  114. package/dist/index.d.ts.map +1 -0
  115. package/dist/index.js +14 -0
  116. package/package.json +44 -0
@@ -0,0 +1,19 @@
1
+ import { AudioUnitImpl } from "./AudioUnitImpl";
2
+ import { SendImpl } from "./SendImpl";
3
+ import { Arrays } from "@opendaw/lib-std";
4
+ export class AuxAudioUnitImpl extends AudioUnitImpl {
5
+ kind = "auxiliary";
6
+ #sends = [];
7
+ label;
8
+ constructor(props) {
9
+ super(props);
10
+ this.label = props?.label ?? "Fx Track";
11
+ }
12
+ addSend(target, props) {
13
+ const send = new SendImpl(target, props);
14
+ this.#sends.push(send);
15
+ return send;
16
+ }
17
+ removeSend(send) { Arrays.remove(this.#sends, send); }
18
+ get sends() { return this.#sends; }
19
+ }
@@ -0,0 +1,14 @@
1
+ import { DelayEffect } from "../Api";
2
+ export declare class DelayEffectImpl implements DelayEffect {
3
+ readonly key: "delay";
4
+ label: string;
5
+ enabled: boolean;
6
+ delay: number;
7
+ feedback: number;
8
+ cross: number;
9
+ filter: number;
10
+ wet: number;
11
+ dry: number;
12
+ constructor(props?: Partial<DelayEffect>);
13
+ }
14
+ //# sourceMappingURL=DelayEffectImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DelayEffectImpl.d.ts","sourceRoot":"","sources":["../../src/impl/DelayEffectImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,QAAQ,CAAA;AAElC,qBAAa,eAAgB,YAAW,WAAW;IAC/C,QAAQ,CAAC,GAAG,EAAG,OAAO,CAAS;IAE/B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;gBAEC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;CAU3C"}
@@ -0,0 +1,21 @@
1
+ export class DelayEffectImpl {
2
+ key = "delay";
3
+ label;
4
+ enabled;
5
+ delay;
6
+ feedback;
7
+ cross;
8
+ filter;
9
+ wet;
10
+ dry;
11
+ constructor(props) {
12
+ this.label = props?.label ?? "Delay";
13
+ this.enabled = props?.enabled ?? true;
14
+ this.delay = props?.delay ?? 4;
15
+ this.feedback = props?.feedback ?? 0.5;
16
+ this.cross = props?.cross ?? 0;
17
+ this.filter = props?.filter ?? 0;
18
+ this.wet = props?.wet ?? -6.0;
19
+ this.dry = props?.dry ?? 0.0;
20
+ }
21
+ }
@@ -0,0 +1,13 @@
1
+ import { AuxAudioUnit, GroupAudioUnit, Send } from "../Api";
2
+ import { AudioUnitImpl } from "./AudioUnitImpl";
3
+ import { SendImpl } from "./SendImpl";
4
+ export declare class GroupAudioUnitImpl extends AudioUnitImpl implements GroupAudioUnit {
5
+ #private;
6
+ readonly kind: "group";
7
+ label: string;
8
+ constructor(props?: Partial<GroupAudioUnit>);
9
+ addSend(target: AuxAudioUnit | GroupAudioUnit, props?: Partial<Send>): Send;
10
+ removeSend(send: Send): void;
11
+ get sends(): ReadonlyArray<SendImpl>;
12
+ }
13
+ //# sourceMappingURL=GroupAudioUnitImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupAudioUnitImpl.d.ts","sourceRoot":"","sources":["../../src/impl/GroupAudioUnitImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,cAAc,EAAE,IAAI,EAAC,MAAM,QAAQ,CAAA;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAA;AAGnC,qBAAa,kBAAmB,SAAQ,aAAc,YAAW,cAAc;;IAC3E,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAS;IAGhC,KAAK,EAAE,MAAM,CAAA;gBAED,KAAK,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAM3C,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAM3E,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAE5B,IAAI,KAAK,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAqB;CAC5D"}
@@ -0,0 +1,19 @@
1
+ import { AudioUnitImpl } from "./AudioUnitImpl";
2
+ import { SendImpl } from "./SendImpl";
3
+ import { Arrays } from "@opendaw/lib-std";
4
+ export class GroupAudioUnitImpl extends AudioUnitImpl {
5
+ kind = "group";
6
+ #sends = [];
7
+ label;
8
+ constructor(props) {
9
+ super(props);
10
+ this.label = props?.label ?? "Subgroup";
11
+ }
12
+ addSend(target, props) {
13
+ const send = new SendImpl(target, props);
14
+ this.#sends.push(send);
15
+ return send;
16
+ }
17
+ removeSend(send) { Arrays.remove(this.#sends, send); }
18
+ get sends() { return this.#sends; }
19
+ }
@@ -0,0 +1,15 @@
1
+ import { AuxAudioUnit, GroupAudioUnit, Instrument, InstrumentAudioUnit, Instruments, Send } from "../Api";
2
+ import { AudioUnitImpl } from "./AudioUnitImpl";
3
+ import { SendImpl } from "./SendImpl";
4
+ import { InstrumentImpl } from "./InstrumentImpl";
5
+ export declare class InstrumentAudioUnitImpl extends AudioUnitImpl implements InstrumentAudioUnit {
6
+ #private;
7
+ readonly kind: "instrument";
8
+ instrument: InstrumentImpl;
9
+ constructor(instrumentName: keyof Instruments, props?: Partial<Instruments[keyof Instruments]>);
10
+ setInstrument(instrumentName: keyof Instruments, props?: Partial<Instruments[keyof Instruments]>): Instrument;
11
+ addSend(target: AuxAudioUnit | GroupAudioUnit, props?: Partial<Send>): Send;
12
+ removeSend(send: Send): void;
13
+ get sends(): ReadonlyArray<SendImpl>;
14
+ }
15
+ //# sourceMappingURL=InstrumentAudioUnitImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstrumentAudioUnitImpl.d.ts","sourceRoot":"","sources":["../../src/impl/InstrumentAudioUnitImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAC,MAAM,QAAQ,CAAA;AACvG,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAA;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAG/C,qBAAa,uBAAwB,SAAQ,aAAc,YAAW,mBAAmB;;IACrF,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAS;IAGrC,UAAU,EAAE,cAAc,CAAA;gBAEd,cAAc,EAAE,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC;IAK9F,aAAa,CAAC,cAAc,EAAE,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC,GAAG,UAAU;IAK7G,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAM3E,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAE5B,IAAI,KAAK,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAqB;CAC5D"}
@@ -0,0 +1,24 @@
1
+ import { AudioUnitImpl } from "./AudioUnitImpl";
2
+ import { SendImpl } from "./SendImpl";
3
+ import { InstrumentImpl } from "./InstrumentImpl";
4
+ import { Arrays } from "@opendaw/lib-std";
5
+ export class InstrumentAudioUnitImpl extends AudioUnitImpl {
6
+ kind = "instrument";
7
+ #sends = [];
8
+ instrument;
9
+ constructor(instrumentName, props) {
10
+ super();
11
+ this.instrument = new InstrumentImpl(this, instrumentName, props);
12
+ }
13
+ setInstrument(instrumentName, props) {
14
+ this.instrument = new InstrumentImpl(this, instrumentName, props);
15
+ return this.instrument;
16
+ }
17
+ addSend(target, props) {
18
+ const send = new SendImpl(target, props);
19
+ this.#sends.push(send);
20
+ return send;
21
+ }
22
+ removeSend(send) { Arrays.remove(this.#sends, send); }
23
+ get sends() { return this.#sends; }
24
+ }
@@ -0,0 +1,9 @@
1
+ import { Instrument, InstrumentAudioUnit, Instruments } from "../Api";
2
+ import { InstrumentFactories } from "@opendaw/studio-adapters";
3
+ export declare class InstrumentImpl implements Instrument {
4
+ readonly audioUnit: InstrumentAudioUnit;
5
+ readonly name: InstrumentFactories.Keys;
6
+ readonly props?: Partial<Instruments[keyof Instruments]>;
7
+ constructor(audioUnit: InstrumentAudioUnit, name: keyof Instruments, props?: Partial<Instruments[keyof Instruments]>);
8
+ }
9
+ //# sourceMappingURL=InstrumentImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstrumentImpl.d.ts","sourceRoot":"","sources":["../../src/impl/InstrumentImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAC,MAAM,QAAQ,CAAA;AACnE,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAA;AAE5D,qBAAa,cAAe,YAAW,UAAU;IAC7C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAA;IAEvC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC,CAAA;gBAE5C,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC;CAKvH"}
@@ -0,0 +1,10 @@
1
+ export class InstrumentImpl {
2
+ audioUnit;
3
+ name;
4
+ props;
5
+ constructor(audioUnit, name, props) {
6
+ this.audioUnit = audioUnit;
7
+ this.name = name;
8
+ this.props = props;
9
+ }
10
+ }
@@ -0,0 +1,11 @@
1
+ import { NoteEvent } from "../Api";
2
+ import { ppqn } from "@opendaw/lib-dsp";
3
+ export declare class NoteEventImpl implements NoteEvent {
4
+ position: ppqn;
5
+ duration: ppqn;
6
+ pitch: number;
7
+ cents: number;
8
+ velocity: number;
9
+ constructor(props?: Partial<NoteEvent>);
10
+ }
11
+ //# sourceMappingURL=NoteEventImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoteEventImpl.d.ts","sourceRoot":"","sources":["../../src/impl/NoteEventImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAErC,qBAAa,aAAc,YAAW,SAAS;IAC3C,QAAQ,EAAE,IAAI,CAAA;IACd,QAAQ,EAAE,IAAI,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;gBAEJ,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;CAOzC"}
@@ -0,0 +1,14 @@
1
+ export class NoteEventImpl {
2
+ position;
3
+ duration;
4
+ pitch;
5
+ cents;
6
+ velocity;
7
+ constructor(props) {
8
+ this.position = props?.position ?? 0.0;
9
+ this.duration = props?.duration ?? PPQN.SemiQuaver;
10
+ this.pitch = props?.pitch ?? 60;
11
+ this.cents = props?.cents ?? 0;
12
+ this.velocity = props?.velocity ?? 1.0;
13
+ }
14
+ }
@@ -0,0 +1,21 @@
1
+ import { NoteEvent, NoteRegion, NoteRegionProps, NoteTrack } from "../Api";
2
+ import { ppqn } from "@opendaw/lib-dsp";
3
+ import { int } from "@opendaw/lib-std";
4
+ import { NoteEventImpl } from "./NoteEventImpl";
5
+ export declare class NoteRegionImpl implements NoteRegion {
6
+ #private;
7
+ readonly track: NoteTrack;
8
+ readonly mirror?: NoteRegion;
9
+ position: ppqn;
10
+ duration: ppqn;
11
+ mute: boolean;
12
+ label: string;
13
+ hue: int;
14
+ loopDuration: ppqn;
15
+ loopOffset: ppqn;
16
+ constructor(track: NoteTrack, props?: NoteRegionProps);
17
+ addEvent(props?: Partial<NoteEvent>): NoteEvent;
18
+ addEvents(events: Array<Partial<NoteEvent>>): void;
19
+ get events(): ReadonlyArray<NoteEventImpl>;
20
+ }
21
+ //# sourceMappingURL=NoteRegionImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoteRegionImpl.d.ts","sourceRoot":"","sources":["../../src/impl/NoteRegionImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAC,MAAM,QAAQ,CAAA;AACxE,OAAO,EAAO,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAG7C,qBAAa,cAAe,YAAW,UAAU;;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IAEzB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAE5B,QAAQ,EAAE,IAAI,CAAA;IACd,QAAQ,EAAE,IAAI,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,GAAG,CAAA;IACR,YAAY,EAAE,IAAI,CAAA;IAClB,UAAU,EAAE,IAAI,CAAA;gBAEJ,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,eAAe;IAarD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS;IAM/C,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI;IAIlD,IAAI,MAAM,IAAI,aAAa,CAAC,aAAa,CAAC,CAAsB;CACnE"}
@@ -0,0 +1,36 @@
1
+ import { PPQN } from "@opendaw/lib-dsp";
2
+ import { NoteEventImpl } from "./NoteEventImpl";
3
+ import { ColorCodes, TrackType } from "@opendaw/studio-adapters";
4
+ export class NoteRegionImpl {
5
+ track;
6
+ #events;
7
+ mirror;
8
+ position;
9
+ duration;
10
+ mute;
11
+ label;
12
+ hue;
13
+ loopDuration;
14
+ loopOffset;
15
+ constructor(track, props) {
16
+ this.track = track;
17
+ this.position = props?.position ?? 0.0;
18
+ this.duration = props?.duration ?? PPQN.Bar;
19
+ this.loopDuration = props?.loopDuration ?? this.duration;
20
+ this.loopOffset = props?.loopOffset ?? 0.0;
21
+ this.mute = props?.mute ?? false;
22
+ this.label = props?.label ?? "";
23
+ this.hue = props?.hue ?? ColorCodes.forTrackType(TrackType.Notes);
24
+ this.mirror = props?.mirror;
25
+ this.#events = [];
26
+ }
27
+ addEvent(props) {
28
+ const event = new NoteEventImpl(props);
29
+ this.#events.push(event);
30
+ return event;
31
+ }
32
+ addEvents(events) {
33
+ events.forEach(event => this.addEvent(event));
34
+ }
35
+ get events() { return this.#events; }
36
+ }
@@ -0,0 +1,12 @@
1
+ import { AudioUnit, NoteRegion, NoteRegionProps, NoteTrack } from "../Api";
2
+ import { NoteRegionImpl } from "./NoteRegionImpl";
3
+ import { AudioUnitImpl } from "./AudioUnitImpl";
4
+ export declare class NoteTrackImpl implements NoteTrack {
5
+ #private;
6
+ readonly audioUnit: AudioUnit;
7
+ enabled: boolean;
8
+ constructor(audioUnit: AudioUnitImpl, props?: Partial<NoteTrack>);
9
+ addRegion(props?: NoteRegionProps): NoteRegion;
10
+ get regions(): ReadonlyArray<NoteRegionImpl>;
11
+ }
12
+ //# sourceMappingURL=NoteTrackImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoteTrackImpl.d.ts","sourceRoot":"","sources":["../../src/impl/NoteTrackImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAC,MAAM,QAAQ,CAAA;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE7C,qBAAa,aAAc,YAAW,SAAS;;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAG7B,OAAO,EAAE,OAAO,CAAA;gBAEJ,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAOhE,SAAS,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,UAAU;IAM9C,IAAI,OAAO,IAAI,aAAa,CAAC,cAAc,CAAC,CAAuB;CACtE"}
@@ -0,0 +1,17 @@
1
+ import { NoteRegionImpl } from "./NoteRegionImpl";
2
+ export class NoteTrackImpl {
3
+ audioUnit;
4
+ #regions;
5
+ enabled;
6
+ constructor(audioUnit, props) {
7
+ this.audioUnit = audioUnit;
8
+ this.#regions = [];
9
+ this.enabled = props?.enabled ?? true;
10
+ }
11
+ addRegion(props) {
12
+ const region = new NoteRegionImpl(this, props);
13
+ this.#regions.push(region);
14
+ return region;
15
+ }
16
+ get regions() { return this.#regions; }
17
+ }
@@ -0,0 +1,7 @@
1
+ import { OutputAudioUnit } from "../Api";
2
+ import { AudioUnitImpl } from "./AudioUnitImpl";
3
+ export declare class OutputAudioUnitImpl extends AudioUnitImpl implements OutputAudioUnit {
4
+ readonly kind: "output";
5
+ constructor();
6
+ }
7
+ //# sourceMappingURL=OutputAudioUnitImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputAudioUnitImpl.d.ts","sourceRoot":"","sources":["../../src/impl/OutputAudioUnitImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE7C,qBAAa,mBAAoB,SAAQ,aAAc,YAAW,eAAe;IAC7E,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAS;;CAGpC"}
@@ -0,0 +1,5 @@
1
+ import { AudioUnitImpl } from "./AudioUnitImpl";
2
+ export class OutputAudioUnitImpl extends AudioUnitImpl {
3
+ kind = "output";
4
+ constructor() { super(); }
5
+ }
@@ -0,0 +1,12 @@
1
+ import { PitchEffect } from "../Api";
2
+ import { float, int } from "@opendaw/lib-std";
3
+ export declare class PitchEffectImpl implements PitchEffect {
4
+ readonly key: "pitch";
5
+ label: string;
6
+ octaves: int;
7
+ semiTones: int;
8
+ cents: float;
9
+ enabled: boolean;
10
+ constructor(props?: Partial<PitchEffect>);
11
+ }
12
+ //# sourceMappingURL=PitchEffectImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PitchEffectImpl.d.ts","sourceRoot":"","sources":["../../src/impl/PitchEffectImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAE3C,qBAAa,eAAgB,YAAW,WAAW;IAC/C,QAAQ,CAAC,GAAG,EAAG,OAAO,CAAS;IAE/B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,GAAG,CAAA;IACZ,SAAS,EAAE,GAAG,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;gBAEJ,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;CAO3C"}
@@ -0,0 +1,15 @@
1
+ export class PitchEffectImpl {
2
+ key = "pitch";
3
+ label;
4
+ octaves;
5
+ semiTones;
6
+ cents;
7
+ enabled;
8
+ constructor(props) {
9
+ this.label = props?.label ?? "Pitch";
10
+ this.octaves = props?.octaves ?? 0 | 0;
11
+ this.semiTones = props?.semiTones ?? 0 | 0;
12
+ this.cents = props?.cents ?? 0.0;
13
+ this.enabled = props?.enabled ?? true;
14
+ }
15
+ }
@@ -0,0 +1,25 @@
1
+ import { int } from "@opendaw/lib-std";
2
+ import { AuxAudioUnit, GroupAudioUnit, InstrumentAudioUnit, Instruments, OutputAudioUnit, Project } from "../Api";
3
+ import { ApiImpl } from "./ApiImpl";
4
+ import { InstrumentAudioUnitImpl } from "./InstrumentAudioUnitImpl";
5
+ import { AuxAudioUnitImpl } from "./AuxAudioUnitImpl";
6
+ import { GroupAudioUnitImpl } from "./GroupAudioUnitImpl";
7
+ export declare class ProjectImpl implements Project {
8
+ #private;
9
+ readonly output: OutputAudioUnit;
10
+ name: string;
11
+ bpm: number;
12
+ timeSignature: {
13
+ numerator: int;
14
+ denominator: int;
15
+ };
16
+ constructor(api: ApiImpl, name: string);
17
+ openInStudio(): void;
18
+ addInstrumentUnit<KEY extends keyof Instruments>(name: KEY, props?: Partial<Instruments[KEY]>): InstrumentAudioUnit;
19
+ addAuxUnit(props?: Partial<GroupAudioUnit>): AuxAudioUnit;
20
+ addGroupUnit(props?: Partial<GroupAudioUnit>): GroupAudioUnit;
21
+ get instrumentUnits(): ReadonlyArray<InstrumentAudioUnitImpl>;
22
+ get auxUnits(): ReadonlyArray<AuxAudioUnitImpl>;
23
+ get groupUnits(): ReadonlyArray<GroupAudioUnitImpl>;
24
+ }
25
+ //# sourceMappingURL=ProjectImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectImpl.d.ts","sourceRoot":"","sources":["../../src/impl/ProjectImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AACpC,OAAO,EAAC,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAC,MAAM,QAAQ,CAAA;AAC/G,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAGvD,qBAAa,WAAY,YAAW,OAAO;;IAEvC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAEhC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE;QAAE,SAAS,EAAE,GAAG,CAAC;QAAC,WAAW,EAAE,GAAG,CAAA;KAAE,CAAiC;gBAMxE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM;IAOtC,YAAY,IAAI,IAAI;IAIpB,iBAAiB,CAAC,GAAG,SAAS,MAAM,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,mBAAmB;IAMnH,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,YAAY;IAMzD,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAM7D,IAAI,eAAe,IAAI,aAAa,CAAC,uBAAuB,CAAC,CAA2B;IACxF,IAAI,QAAQ,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAAwB;IACvE,IAAI,UAAU,IAAI,aAAa,CAAC,kBAAkB,CAAC,CAA0B;CAChF"}
@@ -0,0 +1,42 @@
1
+ import { OutputAudioUnitImpl } from "./OutputAudioUnitImpl";
2
+ import { InstrumentAudioUnitImpl } from "./InstrumentAudioUnitImpl";
3
+ import { AuxAudioUnitImpl } from "./AuxAudioUnitImpl";
4
+ import { GroupAudioUnitImpl } from "./GroupAudioUnitImpl";
5
+ import { ProjectConverter } from "../ProjectConverter";
6
+ export class ProjectImpl {
7
+ #api;
8
+ output;
9
+ name;
10
+ bpm;
11
+ timeSignature = { numerator: 4, denominator: 4 };
12
+ #instruments = [];
13
+ #auxUnits = [];
14
+ #groupUnits = [];
15
+ constructor(api, name) {
16
+ this.#api = api;
17
+ this.name = name;
18
+ this.bpm = 120;
19
+ this.output = new OutputAudioUnitImpl();
20
+ }
21
+ openInStudio() {
22
+ this.#api.openProject(ProjectConverter.toSkeleton(this).boxGraph.toArrayBuffer(), this.name);
23
+ }
24
+ addInstrumentUnit(name, props) {
25
+ const unit = new InstrumentAudioUnitImpl(name, props);
26
+ this.#instruments.push(unit);
27
+ return unit;
28
+ }
29
+ addAuxUnit(props) {
30
+ const unit = new AuxAudioUnitImpl(props);
31
+ this.#auxUnits.push(unit);
32
+ return unit;
33
+ }
34
+ addGroupUnit(props) {
35
+ const unit = new GroupAudioUnitImpl(props);
36
+ this.#groupUnits.push(unit);
37
+ return unit;
38
+ }
39
+ get instrumentUnits() { return this.#instruments; }
40
+ get auxUnits() { return this.#auxUnits; }
41
+ get groupUnits() { return this.#groupUnits; }
42
+ }
@@ -0,0 +1,10 @@
1
+ import { bipolar } from "@opendaw/lib-std";
2
+ import { AuxAudioUnit, GroupAudioUnit, Send } from "../Api";
3
+ export declare class SendImpl implements Send {
4
+ readonly target: AuxAudioUnit | GroupAudioUnit;
5
+ amount: number;
6
+ pan: bipolar;
7
+ mode: "pre" | "post";
8
+ constructor(target: AuxAudioUnit | GroupAudioUnit, props?: Partial<Send>);
9
+ }
10
+ //# sourceMappingURL=SendImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SendImpl.d.ts","sourceRoot":"","sources":["../../src/impl/SendImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,YAAY,EAAE,cAAc,EAAE,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEzD,qBAAa,QAAS,YAAW,IAAI;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAA;IAE9C,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;gBAER,MAAM,EAAE,YAAY,GAAG,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;CAM3E"}
@@ -0,0 +1,12 @@
1
+ export class SendImpl {
2
+ target;
3
+ amount;
4
+ pan;
5
+ mode;
6
+ constructor(target, props) {
7
+ this.target = target;
8
+ this.amount = props?.amount ?? 0.0;
9
+ this.pan = props?.pan ?? 0.0;
10
+ this.mode = props?.mode ?? "post";
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ import { ValueEvent } from "../Api";
2
+ import { Interpolation, ppqn } from "@opendaw/lib-dsp";
3
+ import { unitValue } from "@opendaw/lib-std";
4
+ export declare class ValueEventImpl implements ValueEvent {
5
+ position: ppqn;
6
+ value: unitValue;
7
+ interpolation: Interpolation;
8
+ index: int;
9
+ constructor(props?: Partial<ValueEvent>);
10
+ }
11
+ //# sourceMappingURL=ValueEventImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueEventImpl.d.ts","sourceRoot":"","sources":["../../src/impl/ValueEventImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAC,aAAa,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAE1C,qBAAa,cAAe,YAAW,UAAU;IAC7C,QAAQ,EAAE,IAAI,CAAA;IACd,KAAK,EAAE,SAAS,CAAA;IAChB,aAAa,EAAE,aAAa,CAAA;IAE5B,KAAK,EAAE,GAAG,CAAI;gBAEF,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;CAK1C"}
@@ -0,0 +1,12 @@
1
+ import { Interpolation } from "@opendaw/lib-dsp";
2
+ export class ValueEventImpl {
3
+ position;
4
+ value;
5
+ interpolation;
6
+ index = 0;
7
+ constructor(props) {
8
+ this.position = props?.position ?? 0.0;
9
+ this.value = props?.value ?? 0.0;
10
+ this.interpolation = props?.interpolation ?? Interpolation.Linear;
11
+ }
12
+ }
@@ -0,0 +1,21 @@
1
+ import { ValueEvent, ValueRegion, ValueRegionProps, ValueTrack } from "../Api";
2
+ import { ppqn } from "@opendaw/lib-dsp";
3
+ import { int } from "@opendaw/lib-std";
4
+ import { ValueEventImpl } from "./ValueEventImpl";
5
+ export declare class ValueRegionImpl implements ValueRegion {
6
+ #private;
7
+ readonly track: ValueTrack;
8
+ readonly mirror?: ValueRegion;
9
+ position: ppqn;
10
+ duration: ppqn;
11
+ loopDuration: ppqn;
12
+ loopOffset: ppqn;
13
+ mute: boolean;
14
+ label: string;
15
+ hue: int;
16
+ constructor(track: ValueTrack, props?: ValueRegionProps);
17
+ addEvent(props?: Partial<ValueEvent>): ValueEvent;
18
+ addEvents(events: Array<Partial<ValueEvent>>): void;
19
+ get events(): ReadonlyArray<ValueEventImpl>;
20
+ }
21
+ //# sourceMappingURL=ValueRegionImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueRegionImpl.d.ts","sourceRoot":"","sources":["../../src/impl/ValueRegionImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAC,MAAM,QAAQ,CAAA;AAC5E,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AACpC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAI/C,qBAAa,eAAgB,YAAW,WAAW;;IAC/C,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAG1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAE7B,QAAQ,EAAE,IAAI,CAAA;IACd,QAAQ,EAAE,IAAI,CAAA;IACd,YAAY,EAAE,IAAI,CAAA;IAClB,UAAU,EAAE,IAAI,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,GAAG,CAAA;gBAEI,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,gBAAgB;IAavD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU;IAMjD,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI;IAInD,IAAI,MAAM,IAAI,aAAa,CAAC,cAAc,CAAC,CAE1C;CACJ"}
@@ -0,0 +1,37 @@
1
+ import { ValueEventImpl } from "./ValueEventImpl";
2
+ import { ColorCodes, TrackType } from "@opendaw/studio-adapters";
3
+ export class ValueRegionImpl {
4
+ track;
5
+ #events;
6
+ mirror;
7
+ position;
8
+ duration;
9
+ loopDuration;
10
+ loopOffset;
11
+ mute;
12
+ label;
13
+ hue;
14
+ constructor(track, props) {
15
+ this.track = track;
16
+ this.mirror = props?.mirror;
17
+ this.position = props?.position ?? 0.0;
18
+ this.duration = props?.duration ?? 0.0;
19
+ this.mute = props?.mute ?? false;
20
+ this.label = props?.label ?? "";
21
+ this.hue = props?.hue ?? ColorCodes.forTrackType(TrackType.Value);
22
+ this.loopDuration = props?.loopDuration ?? this.duration;
23
+ this.loopOffset = props?.loopOffset ?? 0.0;
24
+ this.#events = [];
25
+ }
26
+ addEvent(props) {
27
+ const event = new ValueEventImpl(props);
28
+ this.#events.push(event);
29
+ return event;
30
+ }
31
+ addEvents(events) {
32
+ events.forEach(event => this.addEvent(event));
33
+ }
34
+ get events() {
35
+ return this.#events;
36
+ }
37
+ }
@@ -0,0 +1,14 @@
1
+ import { AnyDevice, AudioUnit, ValueRegion, ValueRegionProps, ValueTrack } from "../Api";
2
+ import { ValueRegionImpl } from "./ValueRegionImpl";
3
+ import { AudioUnitImpl } from "./AudioUnitImpl";
4
+ export declare class ValueTrackImpl<DEVICE extends AnyDevice = AnyDevice, PARAMETER extends keyof DEVICE = keyof DEVICE> implements ValueTrack {
5
+ #private;
6
+ readonly audioUnit: AudioUnit;
7
+ readonly device: DEVICE;
8
+ readonly parameter: PARAMETER;
9
+ enabled: boolean;
10
+ constructor(audioUnit: AudioUnitImpl, device: DEVICE, parameter: PARAMETER, props?: Partial<ValueTrack>);
11
+ addRegion(props?: ValueRegionProps): ValueRegion;
12
+ get regions(): ReadonlyArray<ValueRegionImpl>;
13
+ }
14
+ //# sourceMappingURL=ValueTrackImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueTrackImpl.d.ts","sourceRoot":"","sources":["../../src/impl/ValueTrackImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAC,MAAM,QAAQ,CAAA;AACtF,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE7C,qBAAa,cAAc,CACvB,MAAM,SAAS,SAAS,GAAG,SAAS,EAAE,SAAS,SAAS,MAAM,MAAM,GAAG,MAAM,MAAM,CAAE,YAAW,UAAU;;IAC1G,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAG7B,OAAO,EAAE,OAAO,CAAA;gBAEJ,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;IAQvG,SAAS,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,WAAW;IAMhD,IAAI,OAAO,IAAI,aAAa,CAAC,eAAe,CAAC,CAAuB;CACvE"}
@@ -0,0 +1,21 @@
1
+ import { ValueRegionImpl } from "./ValueRegionImpl";
2
+ export class ValueTrackImpl {
3
+ audioUnit;
4
+ device;
5
+ parameter;
6
+ #regions;
7
+ enabled;
8
+ constructor(audioUnit, device, parameter, props) {
9
+ this.audioUnit = audioUnit;
10
+ this.device = device;
11
+ this.parameter = parameter;
12
+ this.enabled = props?.enabled ?? true;
13
+ this.#regions = [];
14
+ }
15
+ addRegion(props) {
16
+ const region = new ValueRegionImpl(this, props);
17
+ this.#regions.push(region);
18
+ return region;
19
+ }
20
+ get regions() { return this.#regions; }
21
+ }
@@ -0,0 +1,18 @@
1
+ export { ApiImpl } from "./ApiImpl";
2
+ export { ProjectImpl } from "./ProjectImpl";
3
+ export { AudioUnitImpl } from "./AudioUnitImpl";
4
+ export { InstrumentAudioUnitImpl } from "./InstrumentAudioUnitImpl";
5
+ export { AuxAudioUnitImpl } from "./AuxAudioUnitImpl";
6
+ export { GroupAudioUnitImpl } from "./GroupAudioUnitImpl";
7
+ export { OutputAudioUnitImpl } from "./OutputAudioUnitImpl";
8
+ export { SendImpl } from "./SendImpl";
9
+ export { DelayEffectImpl } from "./DelayEffectImpl";
10
+ export { PitchEffectImpl } from "./PitchEffectImpl";
11
+ export { NoteTrackImpl } from "./NoteTrackImpl";
12
+ export { ValueTrackImpl } from "./ValueTrackImpl";
13
+ export { NoteRegionImpl } from "./NoteRegionImpl";
14
+ export { ValueRegionImpl } from "./ValueRegionImpl";
15
+ export { NoteEventImpl } from "./NoteEventImpl";
16
+ export { ValueEventImpl } from "./ValueEventImpl";
17
+ export { InstrumentImpl } from "./InstrumentImpl";
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/impl/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAA;AACnC,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA"}