@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.
- package/README.md +24 -0
- package/dist/Api.d.ts +259 -0
- package/dist/Api.d.ts.map +1 -0
- package/dist/Api.js +4 -0
- package/dist/Asserts.d.ts +4 -0
- package/dist/Asserts.d.ts.map +1 -0
- package/dist/Asserts.js +53 -0
- package/dist/AudioEffectFactory.d.ts +7 -0
- package/dist/AudioEffectFactory.d.ts.map +1 -0
- package/dist/AudioEffectFactory.js +23 -0
- package/dist/AudioFileBoxfactory.d.ts +6 -0
- package/dist/AudioFileBoxfactory.d.ts.map +1 -0
- package/dist/AudioFileBoxfactory.js +10 -0
- package/dist/AudioTrackWriter.d.ts +8 -0
- package/dist/AudioTrackWriter.d.ts.map +1 -0
- package/dist/AudioTrackWriter.js +39 -0
- package/dist/AudioUnitBoxFactory.d.ts +6 -0
- package/dist/AudioUnitBoxFactory.d.ts.map +1 -0
- package/dist/AudioUnitBoxFactory.js +116 -0
- package/dist/IndexRef.d.ts +5 -0
- package/dist/IndexRef.d.ts.map +1 -0
- package/dist/IndexRef.js +1 -0
- package/dist/MIDIEffectFactory.d.ts +7 -0
- package/dist/MIDIEffectFactory.d.ts.map +1 -0
- package/dist/MIDIEffectFactory.js +20 -0
- package/dist/NoteTrackWriter.d.ts +9 -0
- package/dist/NoteTrackWriter.d.ts.map +1 -0
- package/dist/NoteTrackWriter.js +45 -0
- package/dist/ProjectConverter.d.ts +6 -0
- package/dist/ProjectConverter.d.ts.map +1 -0
- package/dist/ProjectConverter.js +39 -0
- package/dist/ProjectUnpacker.d.ts +6 -0
- package/dist/ProjectUnpacker.d.ts.map +1 -0
- package/dist/ProjectUnpacker.js +14 -0
- package/dist/ScriptExecutionProtocol.d.ts +7 -0
- package/dist/ScriptExecutionProtocol.d.ts.map +1 -0
- package/dist/ScriptExecutionProtocol.js +1 -0
- package/dist/ScriptHost.d.ts +8 -0
- package/dist/ScriptHost.d.ts.map +1 -0
- package/dist/ScriptHost.js +23 -0
- package/dist/ScriptHostProtocol.d.ts +10 -0
- package/dist/ScriptHostProtocol.d.ts.map +1 -0
- package/dist/ScriptHostProtocol.js +1 -0
- package/dist/ScriptRunner.d.ts +8 -0
- package/dist/ScriptRunner.d.ts.map +1 -0
- package/dist/ScriptRunner.js +22 -0
- package/dist/ScriptWorker.d.ts +2 -0
- package/dist/ScriptWorker.d.ts.map +1 -0
- package/dist/ScriptWorker.js +21 -0
- package/dist/ValueTrackWriter.d.ts +10 -0
- package/dist/ValueTrackWriter.d.ts.map +1 -0
- package/dist/ValueTrackWriter.js +78 -0
- package/dist/impl/ApiImpl.d.ts +12 -0
- package/dist/impl/ApiImpl.d.ts.map +1 -0
- package/dist/impl/ApiImpl.js +19 -0
- package/dist/impl/AudioRegionImpl.d.ts +19 -0
- package/dist/impl/AudioRegionImpl.d.ts.map +1 -0
- package/dist/impl/AudioRegionImpl.js +27 -0
- package/dist/impl/AudioTrackImpl.d.ts +12 -0
- package/dist/impl/AudioTrackImpl.d.ts.map +1 -0
- package/dist/impl/AudioTrackImpl.js +17 -0
- package/dist/impl/AudioUnitImpl.d.ts +25 -0
- package/dist/impl/AudioUnitImpl.d.ts.map +1 -0
- package/dist/impl/AudioUnitImpl.js +73 -0
- package/dist/impl/AuxAudioUnitImpl.d.ts +13 -0
- package/dist/impl/AuxAudioUnitImpl.d.ts.map +1 -0
- package/dist/impl/AuxAudioUnitImpl.js +19 -0
- package/dist/impl/DelayEffectImpl.d.ts +14 -0
- package/dist/impl/DelayEffectImpl.d.ts.map +1 -0
- package/dist/impl/DelayEffectImpl.js +21 -0
- package/dist/impl/GroupAudioUnitImpl.d.ts +13 -0
- package/dist/impl/GroupAudioUnitImpl.d.ts.map +1 -0
- package/dist/impl/GroupAudioUnitImpl.js +19 -0
- package/dist/impl/InstrumentAudioUnitImpl.d.ts +15 -0
- package/dist/impl/InstrumentAudioUnitImpl.d.ts.map +1 -0
- package/dist/impl/InstrumentAudioUnitImpl.js +24 -0
- package/dist/impl/InstrumentImpl.d.ts +9 -0
- package/dist/impl/InstrumentImpl.d.ts.map +1 -0
- package/dist/impl/InstrumentImpl.js +10 -0
- package/dist/impl/NoteEventImpl.d.ts +11 -0
- package/dist/impl/NoteEventImpl.d.ts.map +1 -0
- package/dist/impl/NoteEventImpl.js +14 -0
- package/dist/impl/NoteRegionImpl.d.ts +21 -0
- package/dist/impl/NoteRegionImpl.d.ts.map +1 -0
- package/dist/impl/NoteRegionImpl.js +36 -0
- package/dist/impl/NoteTrackImpl.d.ts +12 -0
- package/dist/impl/NoteTrackImpl.d.ts.map +1 -0
- package/dist/impl/NoteTrackImpl.js +17 -0
- package/dist/impl/OutputAudioUnitImpl.d.ts +7 -0
- package/dist/impl/OutputAudioUnitImpl.d.ts.map +1 -0
- package/dist/impl/OutputAudioUnitImpl.js +5 -0
- package/dist/impl/PitchEffectImpl.d.ts +12 -0
- package/dist/impl/PitchEffectImpl.d.ts.map +1 -0
- package/dist/impl/PitchEffectImpl.js +15 -0
- package/dist/impl/ProjectImpl.d.ts +25 -0
- package/dist/impl/ProjectImpl.d.ts.map +1 -0
- package/dist/impl/ProjectImpl.js +42 -0
- package/dist/impl/SendImpl.d.ts +10 -0
- package/dist/impl/SendImpl.d.ts.map +1 -0
- package/dist/impl/SendImpl.js +12 -0
- package/dist/impl/ValueEventImpl.d.ts +11 -0
- package/dist/impl/ValueEventImpl.d.ts.map +1 -0
- package/dist/impl/ValueEventImpl.js +12 -0
- package/dist/impl/ValueRegionImpl.d.ts +21 -0
- package/dist/impl/ValueRegionImpl.d.ts.map +1 -0
- package/dist/impl/ValueRegionImpl.js +37 -0
- package/dist/impl/ValueTrackImpl.d.ts +14 -0
- package/dist/impl/ValueTrackImpl.d.ts.map +1 -0
- package/dist/impl/ValueTrackImpl.js +21 -0
- package/dist/impl/index.d.ts +18 -0
- package/dist/impl/index.d.ts.map +1 -0
- package/dist/impl/index.js +17 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- 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,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,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,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"}
|