@blibliki/engine 0.1.16 → 0.1.18
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/.eslintrc.js +14 -0
- package/.parcerc +6 -0
- package/README.md +122 -0
- package/dist/main.cjs.js +33 -0
- package/package.json +21 -22
- package/rollup.config.mjs +21 -0
- package/src/Engine.ts +43 -42
- package/src/core/IO/AudioNode.ts +77 -0
- package/src/core/IO/Collection.ts +76 -0
- package/src/core/IO/ForwardNode.ts +192 -0
- package/src/core/IO/MidiNode.ts +67 -0
- package/src/core/IO/Node.ts +117 -0
- package/src/core/IO/index.ts +47 -0
- package/src/core/Module/MonoModule.ts +219 -0
- package/src/core/Module/PolyModule.ts +206 -0
- package/src/core/Module/index.ts +15 -0
- package/src/{Note → core/Note}/index.ts +19 -4
- package/src/{MidiDeviceManager.ts → core/midi/MidiDeviceManager.ts} +20 -15
- package/src/core/midi/MidiEvent.ts +91 -0
- package/src/core/midi/index.ts +5 -0
- package/src/index.ts +8 -12
- package/src/{Module → modules}/BitCrusher.ts +15 -4
- package/src/{Module → modules}/Delay.ts +15 -4
- package/src/{Module → modules}/Distortion.ts +15 -4
- package/src/{Module → modules}/Effect.ts +11 -7
- package/src/modules/Envelope/AmpEnvelope.ts +23 -0
- package/src/{Module → modules}/Envelope/Base.ts +50 -31
- package/src/{Module → modules}/Envelope/FreqEnvelope.ts +18 -23
- package/src/{Module → modules}/Filter.ts +18 -46
- package/src/{Module → modules}/Master.ts +8 -2
- package/src/{Module → modules}/MidiSelector.ts +18 -14
- package/src/{Module → modules}/Oscillator.ts +27 -16
- package/src/{Module → modules}/Reverb.ts +15 -4
- package/src/{Module → modules}/Sequencer.ts +17 -13
- package/src/{Module → modules}/VirtualMidi.ts +16 -12
- package/src/modules/VoiceScheduler.ts +145 -0
- package/src/{Module → modules}/Volume.ts +23 -15
- package/src/{Module → modules}/index.ts +14 -21
- package/src/routes.ts +19 -18
- package/src/types.ts +3 -0
- package/src/utils.ts +18 -0
- package/test/MockingModules.ts +27 -0
- package/test/Module/Oscillator.test.ts +1 -1
- package/test/core/IO.test.ts +172 -0
- package/build/Engine.d.ts +0 -94
- package/build/Engine.js +0 -158
- package/build/Engine.js.map +0 -1
- package/build/MidiDevice.d.ts +0 -25
- package/build/MidiDevice.js +0 -45
- package/build/MidiDevice.js.map +0 -1
- package/build/MidiDeviceManager.d.ts +0 -13
- package/build/MidiDeviceManager.js +0 -59
- package/build/MidiDeviceManager.js.map +0 -1
- package/build/MidiEvent.d.ts +0 -18
- package/build/MidiEvent.js +0 -64
- package/build/MidiEvent.js.map +0 -1
- package/build/Module/Base.d.ts +0 -65
- package/build/Module/Base.js +0 -138
- package/build/Module/Base.js.map +0 -1
- package/build/Module/BitCrusher.d.ts +0 -12
- package/build/Module/BitCrusher.js +0 -22
- package/build/Module/BitCrusher.js.map +0 -1
- package/build/Module/DataSequencer.d.ts +0 -25
- package/build/Module/DataSequencer.js +0 -72
- package/build/Module/DataSequencer.js.map +0 -1
- package/build/Module/Delay.d.ts +0 -15
- package/build/Module/Delay.js +0 -30
- package/build/Module/Delay.js.map +0 -1
- package/build/Module/Distortion.d.ts +0 -12
- package/build/Module/Distortion.js +0 -22
- package/build/Module/Distortion.js.map +0 -1
- package/build/Module/Effect.d.ts +0 -14
- package/build/Module/Effect.js +0 -22
- package/build/Module/Effect.js.map +0 -1
- package/build/Module/Envelope/AmpEnvelope.d.ts +0 -10
- package/build/Module/Envelope/AmpEnvelope.js +0 -14
- package/build/Module/Envelope/AmpEnvelope.js.map +0 -1
- package/build/Module/Envelope/Base.d.ts +0 -47
- package/build/Module/Envelope/Base.js +0 -106
- package/build/Module/Envelope/Base.js.map +0 -1
- package/build/Module/Envelope/FreqEnvelope.d.ts +0 -18
- package/build/Module/Envelope/FreqEnvelope.js +0 -50
- package/build/Module/Envelope/FreqEnvelope.js.map +0 -1
- package/build/Module/Envelope/index.d.ts +0 -3
- package/build/Module/Envelope/index.js +0 -4
- package/build/Module/Envelope/index.js.map +0 -1
- package/build/Module/Filter.d.ts +0 -37
- package/build/Module/Filter.js +0 -100
- package/build/Module/Filter.js.map +0 -1
- package/build/Module/IO.d.ts +0 -39
- package/build/Module/IO.js +0 -59
- package/build/Module/IO.js.map +0 -1
- package/build/Module/Master.d.ts +0 -8
- package/build/Module/Master.js +0 -12
- package/build/Module/Master.js.map +0 -1
- package/build/Module/MidiSelector.d.ts +0 -17
- package/build/Module/MidiSelector.js +0 -50
- package/build/Module/MidiSelector.js.map +0 -1
- package/build/Module/Oscillator.d.ts +0 -45
- package/build/Module/Oscillator.js +0 -136
- package/build/Module/Oscillator.js.map +0 -1
- package/build/Module/PolyModule.d.ts +0 -49
- package/build/Module/PolyModule.js +0 -175
- package/build/Module/PolyModule.js.map +0 -1
- package/build/Module/Reverb.d.ts +0 -15
- package/build/Module/Reverb.js +0 -30
- package/build/Module/Reverb.js.map +0 -1
- package/build/Module/Sequencer.d.ts +0 -38
- package/build/Module/Sequencer.js +0 -131
- package/build/Module/Sequencer.js.map +0 -1
- package/build/Module/VirtualMidi.d.ts +0 -28
- package/build/Module/VirtualMidi.js +0 -53
- package/build/Module/VirtualMidi.js.map +0 -1
- package/build/Module/VoiceScheduler.d.ts +0 -38
- package/build/Module/VoiceScheduler.js +0 -130
- package/build/Module/VoiceScheduler.js.map +0 -1
- package/build/Module/Volume.d.ts +0 -20
- package/build/Module/Volume.js +0 -48
- package/build/Module/Volume.js.map +0 -1
- package/build/Module/index.d.ts +0 -14
- package/build/Module/index.js +0 -66
- package/build/Module/index.js.map +0 -1
- package/build/Note/frequencyTable.d.ts +0 -4
- package/build/Note/frequencyTable.js +0 -146
- package/build/Note/frequencyTable.js.map +0 -1
- package/build/Note/index.d.ts +0 -25
- package/build/Note/index.js +0 -81
- package/build/Note/index.js.map +0 -1
- package/build/index.d.ts +0 -8
- package/build/index.js +0 -5
- package/build/index.js.map +0 -1
- package/build/routes.d.ts +0 -17
- package/build/routes.js +0 -31
- package/build/routes.js.map +0 -1
- package/src/MidiEvent.ts +0 -93
- package/src/Module/Base.ts +0 -220
- package/src/Module/DataSequencer.ts +0 -101
- package/src/Module/Envelope/AmpEnvelope.ts +0 -17
- package/src/Module/IO.ts +0 -85
- package/src/Module/PolyModule.ts +0 -234
- package/src/Module/VoiceScheduler.ts +0 -161
- /package/src/{Note → core/Note}/frequencyTable.ts +0 -0
- /package/src/{MidiDevice.ts → core/midi/MidiDevice.ts} +0 -0
- /package/src/{Module → modules}/Envelope/index.ts +0 -0
package/build/Module/Base.d.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { InputNode } from "tone";
|
|
2
|
-
import { Input, Output, IOInterface } from "./IO";
|
|
3
|
-
import MidiEvent from "../MidiEvent";
|
|
4
|
-
import { AudioModule } from "../Module";
|
|
5
|
-
import Note from "../Note";
|
|
6
|
-
export interface Connectable {
|
|
7
|
-
connect: (inputNode: InputNode) => void;
|
|
8
|
-
disconnect: (inputNode?: InputNode) => void;
|
|
9
|
-
dispose: () => void;
|
|
10
|
-
}
|
|
11
|
-
export interface Triggerable {
|
|
12
|
-
triggerAttack: Function;
|
|
13
|
-
triggerRelease: Function;
|
|
14
|
-
}
|
|
15
|
-
export interface Voicable {
|
|
16
|
-
voiceNo?: number;
|
|
17
|
-
}
|
|
18
|
-
export interface ModuleInterface {
|
|
19
|
-
name: string;
|
|
20
|
-
props?: {
|
|
21
|
-
[key: string]: any;
|
|
22
|
-
};
|
|
23
|
-
voiceNo?: number;
|
|
24
|
-
}
|
|
25
|
-
export declare class DummnyInternalModule implements Connectable {
|
|
26
|
-
connect(inputNode: InputNode): void;
|
|
27
|
-
disconnect(inputNode?: InputNode): void;
|
|
28
|
-
dispose(): void;
|
|
29
|
-
}
|
|
30
|
-
declare class Module<InternalModule extends Connectable, PropsInterface> implements ModuleInterface {
|
|
31
|
-
static readonly moduleName: string;
|
|
32
|
-
readonly id: string;
|
|
33
|
-
name: string;
|
|
34
|
-
internalModule: InternalModule;
|
|
35
|
-
inputs: Input[];
|
|
36
|
-
outputs: Output[];
|
|
37
|
-
readonly voiceNo?: number;
|
|
38
|
-
updatedAt: Date;
|
|
39
|
-
_props: PropsInterface;
|
|
40
|
-
constructor(internalModule: InternalModule, props: Partial<ModuleInterface>);
|
|
41
|
-
set props(value: PropsInterface);
|
|
42
|
-
get props(): PropsInterface;
|
|
43
|
-
plug(audioModule: AudioModule, from: string, to: string): void;
|
|
44
|
-
unplugAll(): void;
|
|
45
|
-
connect: (inputAudioModule: AudioModule, attribute?: string) => void;
|
|
46
|
-
disconnect: (inputAudioModule: AudioModule, attribute?: string) => void;
|
|
47
|
-
dispose(): void;
|
|
48
|
-
triggerAttack(note: Note, triggeredAt: number): void;
|
|
49
|
-
triggerRelease(note: Note, triggeredAt: number): void;
|
|
50
|
-
midiTriggered: (midiEvent: MidiEvent, noteIndex?: number) => void;
|
|
51
|
-
private triggerer;
|
|
52
|
-
serialize(): {
|
|
53
|
-
id: string;
|
|
54
|
-
name: string;
|
|
55
|
-
type: string;
|
|
56
|
-
props: PropsInterface;
|
|
57
|
-
inputs: import("./IO").SerializeInterface[];
|
|
58
|
-
outputs: import("./IO").SerializeInterface[];
|
|
59
|
-
};
|
|
60
|
-
protected registerInput(props: IOInterface): Input;
|
|
61
|
-
protected registerOutput(props: IOInterface): Output;
|
|
62
|
-
protected registerBasicOutputs(): void;
|
|
63
|
-
protected registerBasicInputs(): void;
|
|
64
|
-
}
|
|
65
|
-
export default Module;
|
package/build/Module/Base.js
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { v4 as uuidv4 } from "uuid";
|
|
2
|
-
import { Input, Output } from "./IO";
|
|
3
|
-
import { PolyModule } from "../Module";
|
|
4
|
-
export class DummnyInternalModule {
|
|
5
|
-
connect(inputNode) {
|
|
6
|
-
throw Error("This module is not connectable");
|
|
7
|
-
}
|
|
8
|
-
disconnect(inputNode) { }
|
|
9
|
-
dispose() { }
|
|
10
|
-
}
|
|
11
|
-
class Module {
|
|
12
|
-
static moduleName;
|
|
13
|
-
id;
|
|
14
|
-
name;
|
|
15
|
-
internalModule;
|
|
16
|
-
inputs = [];
|
|
17
|
-
outputs = [];
|
|
18
|
-
voiceNo;
|
|
19
|
-
updatedAt;
|
|
20
|
-
_props = {};
|
|
21
|
-
constructor(internalModule, props) {
|
|
22
|
-
this.internalModule = internalModule;
|
|
23
|
-
this.id = uuidv4();
|
|
24
|
-
Object.assign(this, props);
|
|
25
|
-
}
|
|
26
|
-
set props(value) {
|
|
27
|
-
if (!value)
|
|
28
|
-
return;
|
|
29
|
-
this.updatedAt = new Date();
|
|
30
|
-
Object.assign(this, value);
|
|
31
|
-
}
|
|
32
|
-
get props() {
|
|
33
|
-
return this._props;
|
|
34
|
-
}
|
|
35
|
-
plug(audioModule, from, to) {
|
|
36
|
-
const output = this.outputs.find((i) => i.name === from);
|
|
37
|
-
if (!output)
|
|
38
|
-
throw Error(`Output ${from} not exist`);
|
|
39
|
-
const input = audioModule.inputs.find((i) => i.name === to);
|
|
40
|
-
if (!input)
|
|
41
|
-
throw Error(`Input ${to} in module ${audioModule.name} not exist`);
|
|
42
|
-
output.plug(input);
|
|
43
|
-
}
|
|
44
|
-
unplugAll() {
|
|
45
|
-
this.outputs.forEach((o) => o.unPlugAll());
|
|
46
|
-
}
|
|
47
|
-
connect = (inputAudioModule, attribute = "internalModule") => {
|
|
48
|
-
if (inputAudioModule instanceof PolyModule) {
|
|
49
|
-
inputAudioModule.audioModules.forEach((m) => {
|
|
50
|
-
this.internalModule.connect(m[attribute]);
|
|
51
|
-
});
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
this.internalModule.connect(inputAudioModule[attribute]);
|
|
55
|
-
};
|
|
56
|
-
disconnect = (inputAudioModule, attribute = "internalModule") => {
|
|
57
|
-
if (inputAudioModule instanceof PolyModule) {
|
|
58
|
-
inputAudioModule.audioModules.forEach((m) => {
|
|
59
|
-
this.internalModule.disconnect(m[attribute]);
|
|
60
|
-
});
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
this.internalModule.disconnect(inputAudioModule[attribute]);
|
|
64
|
-
};
|
|
65
|
-
dispose() {
|
|
66
|
-
this.internalModule.dispose();
|
|
67
|
-
}
|
|
68
|
-
triggerAttack(note, triggeredAt) {
|
|
69
|
-
throw Error("triggerAttack not implemented");
|
|
70
|
-
}
|
|
71
|
-
triggerRelease(note, triggeredAt) {
|
|
72
|
-
throw Error("triggerRelease not implemented");
|
|
73
|
-
}
|
|
74
|
-
midiTriggered = (midiEvent, noteIndex) => {
|
|
75
|
-
const { notes, triggeredAt } = midiEvent;
|
|
76
|
-
switch (midiEvent.type) {
|
|
77
|
-
case "noteOn":
|
|
78
|
-
const { duration } = notes[0];
|
|
79
|
-
this.triggerer(this.triggerAttack, notes, triggeredAt, noteIndex);
|
|
80
|
-
if (duration) {
|
|
81
|
-
const releaseTriggeredAt = triggeredAt + this.internalModule.toSeconds(duration);
|
|
82
|
-
this.triggerer(this.triggerRelease, notes, releaseTriggeredAt, noteIndex);
|
|
83
|
-
}
|
|
84
|
-
break;
|
|
85
|
-
case "noteOff":
|
|
86
|
-
this.triggerer(this.triggerRelease, notes, triggeredAt, noteIndex);
|
|
87
|
-
break;
|
|
88
|
-
default:
|
|
89
|
-
throw Error("This type is not a note");
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
triggerer(trigger, notes, triggeredAt, noteIndex) {
|
|
93
|
-
if (noteIndex !== undefined && this.voiceNo !== undefined) {
|
|
94
|
-
trigger(notes[noteIndex], triggeredAt);
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
notes.forEach((note) => trigger(note, triggeredAt));
|
|
98
|
-
}
|
|
99
|
-
serialize() {
|
|
100
|
-
const klass = this.constructor;
|
|
101
|
-
return {
|
|
102
|
-
id: this.id,
|
|
103
|
-
name: this.name,
|
|
104
|
-
type: klass.moduleName,
|
|
105
|
-
props: this.props,
|
|
106
|
-
inputs: this.inputs.map((i) => i.serialize()),
|
|
107
|
-
outputs: this.outputs.map((i) => i.serialize()),
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
registerInput(props) {
|
|
111
|
-
const input = new Input(this, props);
|
|
112
|
-
this.inputs.push(input);
|
|
113
|
-
return input;
|
|
114
|
-
}
|
|
115
|
-
registerOutput(props) {
|
|
116
|
-
const output = new Output(this, props);
|
|
117
|
-
this.outputs.push(output);
|
|
118
|
-
return output;
|
|
119
|
-
}
|
|
120
|
-
registerBasicOutputs() {
|
|
121
|
-
this.registerOutput({
|
|
122
|
-
name: "output",
|
|
123
|
-
onPlug: (output) => {
|
|
124
|
-
this.connect(output.audioModule);
|
|
125
|
-
},
|
|
126
|
-
onUnPlug: (output) => {
|
|
127
|
-
this.disconnect(output.audioModule);
|
|
128
|
-
},
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
registerBasicInputs() {
|
|
132
|
-
this.registerInput({
|
|
133
|
-
name: "input",
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
export default Module;
|
|
138
|
-
//# sourceMappingURL=Base.js.map
|
package/build/Module/Base.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Base.js","sourceRoot":"","sources":["../../src/Module/Base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { BitCrusher as InternalBitCrasher } from "tone";
|
|
2
|
-
import Effect, { EffectInterface } from "./Effect";
|
|
3
|
-
interface BitCrusherInterface extends EffectInterface {
|
|
4
|
-
bits: number;
|
|
5
|
-
}
|
|
6
|
-
export default class BitCrusher extends Effect<InternalBitCrasher, BitCrusherInterface> {
|
|
7
|
-
static moduleName: string;
|
|
8
|
-
constructor(name: string, props: Partial<BitCrusherInterface>);
|
|
9
|
-
get bits(): number;
|
|
10
|
-
set bits(value: number);
|
|
11
|
-
}
|
|
12
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { BitCrusher as InternalBitCrasher } from "tone";
|
|
2
|
-
import Effect from "./Effect";
|
|
3
|
-
const InitialProps = {
|
|
4
|
-
bits: 16,
|
|
5
|
-
};
|
|
6
|
-
export default class BitCrusher extends Effect {
|
|
7
|
-
static moduleName = "BitCrusher";
|
|
8
|
-
constructor(name, props) {
|
|
9
|
-
super(name, new InternalBitCrasher(), {
|
|
10
|
-
...InitialProps,
|
|
11
|
-
...props,
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
get bits() {
|
|
15
|
-
return this._props["bits"];
|
|
16
|
-
}
|
|
17
|
-
set bits(value) {
|
|
18
|
-
this._props = { ...this.props, bits: value };
|
|
19
|
-
this.internalModule.bits.value = this.bits;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=BitCrusher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BitCrusher.js","sourceRoot":"","sources":["../../src/Module/BitCrusher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAExD,OAAO,MAA2B,MAAM,UAAU,CAAC;AAMnD,MAAM,YAAY,GAAiC;IACjD,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,MAGvC;IACC,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC;IAEjC,YAAY,IAAY,EAAE,KAAmC;QAC3D,KAAK,CAAC,IAAI,EAAE,IAAI,kBAAkB,EAAE,EAAE;YACpC,GAAG,YAAY;YACf,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import Module, { DummnyInternalModule } from "./Base";
|
|
2
|
-
interface IDataSequencer {
|
|
3
|
-
sequences: IDataSequence[];
|
|
4
|
-
}
|
|
5
|
-
export interface IDataSequence {
|
|
6
|
-
voiceNo: number;
|
|
7
|
-
time: number;
|
|
8
|
-
frequency: number;
|
|
9
|
-
amplitude: number;
|
|
10
|
-
}
|
|
11
|
-
export default class DataSequencer extends Module<DummnyInternalModule, IDataSequencer> {
|
|
12
|
-
static moduleName: string;
|
|
13
|
-
private midiOutput;
|
|
14
|
-
private prevNumberOfVoices;
|
|
15
|
-
constructor(name: string, props: Partial<IDataSequence>);
|
|
16
|
-
get sequences(): IDataSequence[];
|
|
17
|
-
set sequences(value: IDataSequence[]);
|
|
18
|
-
start(time: number): void;
|
|
19
|
-
stop(): void;
|
|
20
|
-
private onPartEvent;
|
|
21
|
-
private get numberOfVoices();
|
|
22
|
-
private updateNumberOfVoices;
|
|
23
|
-
private registerOutputs;
|
|
24
|
-
}
|
|
25
|
-
export {};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { now } from "tone";
|
|
2
|
-
import Module, { DummnyInternalModule } from "./Base";
|
|
3
|
-
import MidiEvent from "../MidiEvent";
|
|
4
|
-
import { uniq } from "lodash";
|
|
5
|
-
import Engine from "../Engine";
|
|
6
|
-
const InitialProps = () => ({
|
|
7
|
-
sequences: [],
|
|
8
|
-
});
|
|
9
|
-
export default class DataSequencer extends Module {
|
|
10
|
-
static moduleName = "DataSequencer";
|
|
11
|
-
midiOutput;
|
|
12
|
-
prevNumberOfVoices;
|
|
13
|
-
constructor(name, props) {
|
|
14
|
-
super(new DummnyInternalModule(), {
|
|
15
|
-
name,
|
|
16
|
-
props: { ...InitialProps(), ...props },
|
|
17
|
-
});
|
|
18
|
-
this.start(now());
|
|
19
|
-
this.registerOutputs();
|
|
20
|
-
}
|
|
21
|
-
get sequences() {
|
|
22
|
-
return this._props["sequences"];
|
|
23
|
-
}
|
|
24
|
-
set sequences(value) {
|
|
25
|
-
const sequences = value;
|
|
26
|
-
this._props = { ...this.props, sequences };
|
|
27
|
-
this.updateNumberOfVoices();
|
|
28
|
-
this.start(now());
|
|
29
|
-
}
|
|
30
|
-
start(time) {
|
|
31
|
-
if (!Engine.isStarted)
|
|
32
|
-
return;
|
|
33
|
-
this.sequences.forEach((sequence) => {
|
|
34
|
-
this.onPartEvent(time + sequence.time, sequence);
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
stop() { }
|
|
38
|
-
onPartEvent = (time, sequence) => {
|
|
39
|
-
const { voiceNo } = sequence;
|
|
40
|
-
const event = MidiEvent.fromDataSequence(sequence, time);
|
|
41
|
-
this.midiOutput.connections.forEach((input) => {
|
|
42
|
-
input.pluggable(event, voiceNo);
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
get numberOfVoices() {
|
|
46
|
-
return uniq(this.sequences.map((sequence) => sequence.voiceNo)).length;
|
|
47
|
-
}
|
|
48
|
-
updateNumberOfVoices() {
|
|
49
|
-
if (!this.midiOutput)
|
|
50
|
-
return;
|
|
51
|
-
this.midiOutput.connections.forEach((input) => {
|
|
52
|
-
if (input.audioModule instanceof Module)
|
|
53
|
-
return;
|
|
54
|
-
input.audioModule.numberOfVoices = this.numberOfVoices;
|
|
55
|
-
});
|
|
56
|
-
if (this.prevNumberOfVoices !== this.numberOfVoices) {
|
|
57
|
-
Engine.updateRoutes();
|
|
58
|
-
}
|
|
59
|
-
this.prevNumberOfVoices = this.numberOfVoices;
|
|
60
|
-
}
|
|
61
|
-
registerOutputs() {
|
|
62
|
-
this.midiOutput = this.registerOutput({
|
|
63
|
-
name: "midi out",
|
|
64
|
-
onPlug: (input) => {
|
|
65
|
-
if (input.audioModule instanceof Module)
|
|
66
|
-
return;
|
|
67
|
-
input.audioModule.numberOfVoices = this.numberOfVoices;
|
|
68
|
-
},
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=DataSequencer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataSequencer.js","sourceRoot":"","sources":["../../src/Module/DataSequencer.ts"],"names":[],"mappings":"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"}
|
package/build/Module/Delay.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FeedbackDelay } from "tone";
|
|
2
|
-
import Effect, { EffectInterface } from "./Effect";
|
|
3
|
-
interface DelayInterface extends EffectInterface {
|
|
4
|
-
delayTime: number;
|
|
5
|
-
feedback: number;
|
|
6
|
-
}
|
|
7
|
-
export default class Delay extends Effect<FeedbackDelay, DelayInterface> {
|
|
8
|
-
static moduleName: string;
|
|
9
|
-
constructor(name: string, props: Partial<DelayInterface>);
|
|
10
|
-
get delayTime(): number;
|
|
11
|
-
set delayTime(value: number);
|
|
12
|
-
get feedback(): number;
|
|
13
|
-
set feedback(value: number);
|
|
14
|
-
}
|
|
15
|
-
export {};
|
package/build/Module/Delay.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { FeedbackDelay } from "tone";
|
|
2
|
-
import Effect from "./Effect";
|
|
3
|
-
const InitialProps = {
|
|
4
|
-
delayTime: 1,
|
|
5
|
-
feedback: 0.3,
|
|
6
|
-
};
|
|
7
|
-
export default class Delay extends Effect {
|
|
8
|
-
static moduleName = "Delay";
|
|
9
|
-
constructor(name, props) {
|
|
10
|
-
super(name, new FeedbackDelay(), {
|
|
11
|
-
...InitialProps,
|
|
12
|
-
...props,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
get delayTime() {
|
|
16
|
-
return this._props["delayTime"];
|
|
17
|
-
}
|
|
18
|
-
set delayTime(value) {
|
|
19
|
-
this._props = { ...this.props, delayTime: value };
|
|
20
|
-
this.internalModule.delayTime.value = this.delayTime;
|
|
21
|
-
}
|
|
22
|
-
get feedback() {
|
|
23
|
-
return this._props["feedback"];
|
|
24
|
-
}
|
|
25
|
-
set feedback(value) {
|
|
26
|
-
this._props = { ...this.props, feedback: value };
|
|
27
|
-
this.internalModule.feedback.value = this.feedback;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=Delay.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Delay.js","sourceRoot":"","sources":["../../src/Module/Delay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,MAA2B,MAAM,UAAU,CAAC;AAOnD,MAAM,YAAY,GAA4B;IAC5C,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,GAAG;CACd,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,MAAqC;IACtE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;IAE5B,YAAY,IAAY,EAAE,KAA8B;QACtD,KAAK,CAAC,IAAI,EAAE,IAAI,aAAa,EAAE,EAAE;YAC/B,GAAG,YAAY;YACf,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,SAAS,CAAC,KAAa;QACzB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ,CAAC,KAAa;QACxB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;IACrD,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Distortion as InternalDistortion } from "tone";
|
|
2
|
-
import Effect, { EffectInterface } from "./Effect";
|
|
3
|
-
interface DistortionInterface extends EffectInterface {
|
|
4
|
-
drive: number;
|
|
5
|
-
}
|
|
6
|
-
export default class Distortion extends Effect<InternalDistortion, DistortionInterface> {
|
|
7
|
-
static moduleName: string;
|
|
8
|
-
constructor(name: string, props: Partial<DistortionInterface>);
|
|
9
|
-
get drive(): number;
|
|
10
|
-
set drive(value: number);
|
|
11
|
-
}
|
|
12
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Distortion as InternalDistortion } from "tone";
|
|
2
|
-
import Effect from "./Effect";
|
|
3
|
-
const InitialProps = {
|
|
4
|
-
drive: 0.3,
|
|
5
|
-
};
|
|
6
|
-
export default class Distortion extends Effect {
|
|
7
|
-
static moduleName = "Distortion";
|
|
8
|
-
constructor(name, props) {
|
|
9
|
-
super(name, new InternalDistortion(), {
|
|
10
|
-
...InitialProps,
|
|
11
|
-
...props,
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
get drive() {
|
|
15
|
-
return this._props["drive"];
|
|
16
|
-
}
|
|
17
|
-
set drive(value) {
|
|
18
|
-
this._props = { ...this.props, drive: value };
|
|
19
|
-
this.internalModule.distortion = this.drive;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=Distortion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Distortion.js","sourceRoot":"","sources":["../../src/Module/Distortion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAExD,OAAO,MAA2B,MAAM,UAAU,CAAC;AAMnD,MAAM,YAAY,GAAiC;IACjD,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,MAGvC;IACC,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC;IAEjC,YAAY,IAAY,EAAE,KAAmC;QAC3D,KAAK,CAAC,IAAI,EAAE,IAAI,kBAAkB,EAAE,EAAE;YACpC,GAAG,YAAY;YACf,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9C,CAAC"}
|
package/build/Module/Effect.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Signal } from "tone";
|
|
2
|
-
import Module, { Connectable } from "./Base";
|
|
3
|
-
interface EffectLike extends Connectable {
|
|
4
|
-
wet: Signal<"normalRange">;
|
|
5
|
-
}
|
|
6
|
-
export interface EffectInterface {
|
|
7
|
-
wet: number;
|
|
8
|
-
}
|
|
9
|
-
export default abstract class Effect<InternalEffect extends EffectLike, ModuleInterface extends EffectInterface> extends Module<InternalEffect, ModuleInterface> {
|
|
10
|
-
constructor(name: string, internalModule: InternalEffect, props: Partial<ModuleInterface>);
|
|
11
|
-
get wet(): number;
|
|
12
|
-
set wet(value: number);
|
|
13
|
-
}
|
|
14
|
-
export {};
|
package/build/Module/Effect.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import Module from "./Base";
|
|
2
|
-
const InitialProps = {
|
|
3
|
-
wet: 1,
|
|
4
|
-
};
|
|
5
|
-
export default class Effect extends Module {
|
|
6
|
-
constructor(name, internalModule, props) {
|
|
7
|
-
super(internalModule, {
|
|
8
|
-
name,
|
|
9
|
-
props: { ...InitialProps, ...props },
|
|
10
|
-
});
|
|
11
|
-
this.registerBasicInputs();
|
|
12
|
-
this.registerBasicOutputs();
|
|
13
|
-
}
|
|
14
|
-
get wet() {
|
|
15
|
-
return this._props["wet"];
|
|
16
|
-
}
|
|
17
|
-
set wet(value) {
|
|
18
|
-
this._props = { ...this.props, wet: value };
|
|
19
|
-
this.internalModule.wet.value = this.wet;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=Effect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/Module/Effect.ts"],"names":[],"mappings":"AACA,OAAO,MAAuB,MAAM,QAAQ,CAAC;AAU7C,MAAM,YAAY,GAAoB;IACpC,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,CAAC,OAAO,OAAgB,MAG5B,SAAQ,MAAuC;IAC/C,YACE,IAAY,EACZ,cAA8B,EAC9B,KAA+B;QAE/B,KAAK,CAAC,cAAc,EAAE;YACpB,IAAI;YACJ,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,GAAG,CAAC,KAAa;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AmplitudeEnvelope } from "tone";
|
|
2
|
-
import Base, { EnvelopeInterface, PolyBase } from "./Base";
|
|
3
|
-
declare class MonoAmpEnvelope extends Base<AmplitudeEnvelope> {
|
|
4
|
-
constructor(name: string, props: EnvelopeInterface);
|
|
5
|
-
}
|
|
6
|
-
export default class AmpEnvelope extends PolyBase<MonoAmpEnvelope> {
|
|
7
|
-
static moduleName: string;
|
|
8
|
-
constructor(name: string, props: Partial<EnvelopeInterface>);
|
|
9
|
-
}
|
|
10
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { AmplitudeEnvelope } from "tone";
|
|
2
|
-
import Base, { PolyBase } from "./Base";
|
|
3
|
-
class MonoAmpEnvelope extends Base {
|
|
4
|
-
constructor(name, props) {
|
|
5
|
-
super(name, new AmplitudeEnvelope(), props);
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
export default class AmpEnvelope extends PolyBase {
|
|
9
|
-
static moduleName = "AmpEnvelope";
|
|
10
|
-
constructor(name, props) {
|
|
11
|
-
super(name, MonoAmpEnvelope, props);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=AmpEnvelope.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AmpEnvelope.js","sourceRoot":"","sources":["../../../src/Module/Envelope/AmpEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,IAAI,EAAE,EAAqB,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE3D,MAAM,eAAgB,SAAQ,IAAuB;IACnD,YAAY,IAAY,EAAE,KAAwB;QAChD,KAAK,CAAC,IAAI,EAAE,IAAI,iBAAiB,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAyB;IAChE,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC;IAElC,YAAY,IAAY,EAAE,KAAiC;QACzD,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Envelope as Env } from "tone";
|
|
2
|
-
import Module, { Connectable, Triggerable, Voicable } from "../Base";
|
|
3
|
-
import PolyModule from "../PolyModule";
|
|
4
|
-
import Note from "../../Note";
|
|
5
|
-
export declare const enum EnvelopeStages {
|
|
6
|
-
Attack = "attack",
|
|
7
|
-
Decay = "decay",
|
|
8
|
-
Sustain = "sustain",
|
|
9
|
-
Release = "release"
|
|
10
|
-
}
|
|
11
|
-
export interface EnvelopeInterface extends Voicable {
|
|
12
|
-
attack: number;
|
|
13
|
-
decay: number;
|
|
14
|
-
sustain: number;
|
|
15
|
-
release: number;
|
|
16
|
-
voiceNo?: number;
|
|
17
|
-
}
|
|
18
|
-
export default abstract class EnvelopeModule<EnvelopeLike extends Env> extends Module<EnvelopeLike, EnvelopeInterface> implements Triggerable {
|
|
19
|
-
activeNote?: string;
|
|
20
|
-
triggeredAt: number;
|
|
21
|
-
constructor(name: string, internalModule: EnvelopeLike, props: EnvelopeInterface);
|
|
22
|
-
get attack(): number;
|
|
23
|
-
set attack(value: number);
|
|
24
|
-
get decay(): number;
|
|
25
|
-
set decay(value: number);
|
|
26
|
-
get sustain(): number;
|
|
27
|
-
set sustain(value: number);
|
|
28
|
-
get release(): number;
|
|
29
|
-
set release(value: number);
|
|
30
|
-
setStage(stage: EnvelopeStages, value: number): void;
|
|
31
|
-
triggerAttack: (note: Note, triggeredAt: number) => void;
|
|
32
|
-
triggerRelease: (note: Note, triggeredAt: number) => void;
|
|
33
|
-
private maxTime;
|
|
34
|
-
private minTime;
|
|
35
|
-
}
|
|
36
|
-
export declare abstract class PolyBase<EnvelopeModule extends Module<Connectable, any>> extends PolyModule<EnvelopeModule, EnvelopeInterface> {
|
|
37
|
-
constructor(name: string, child: new (name: string, props: EnvelopeInterface) => EnvelopeModule, props: Partial<EnvelopeInterface>);
|
|
38
|
-
private registerInputs;
|
|
39
|
-
}
|
|
40
|
-
declare class MonoEnvelope extends EnvelopeModule<Env> {
|
|
41
|
-
constructor(name: string, props: EnvelopeInterface);
|
|
42
|
-
}
|
|
43
|
-
export declare class Envelope extends PolyBase<MonoEnvelope> {
|
|
44
|
-
static moduleName: string;
|
|
45
|
-
constructor(name: string, props: Partial<EnvelopeInterface>);
|
|
46
|
-
}
|
|
47
|
-
export {};
|