adding access to synthesizers

This commit is contained in:
2023-08-21 00:19:17 +02:00
parent 76163a05cc
commit b0d01abe4d

View File

@ -1,4 +1,4 @@
import { type Editor } from './main'; import { type Editor } from "./main";
import { import {
superdough, superdough,
@ -6,164 +6,182 @@ import {
} from "superdough"; } from "superdough";
export class Sound { export class Sound {
values: { [key: string]: any };
values: { [key: string]: any }
constructor(sound: string, public app: Editor) { constructor(sound: string, public app: Editor) {
this.values = { 's': sound } this.values = { s: sound, dur: 0.5 };
} }
unit = (value: number): this => { unit = (value: number): this => {
this.values['unit'] = value this.values["unit"] = value;
return this; return this;
} };
freq = (value: number): this => { freq = (value: number): this => {
this.values['freq'] = value this.values["freq"] = value;
return this; return this;
} };
fmi = (value: number): this => {
this.values["fmi"] = value;
return this;
};
fmh = (value: number): this => {
this.values["fmh"] = value;
return this;
};
nudge = (value: number): this => { nudge = (value: number): this => {
this.values['nudge'] = value this.values["nudge"] = value;
return this; return this;
} };
cut = (value: number): this => { cut = (value: number): this => {
this.values['cut'] = value this.values["cut"] = value;
return this; return this;
} };
loop = (value: number): this => { loop = (value: number): this => {
this.values['loop'] = value this.values["loop"] = value;
return this; return this;
} };
clip = (value: number): this => { clip = (value: number): this => {
this.values['clip'] = value this.values["clip"] = value;
return this; return this;
} };
n = (value: number): this => { n = (value: number): this => {
this.values['n'] = value this.values["n"] = value;
return this; return this;
} };
note = (value: number): this => { note = (value: number): this => {
this.values['note'] = value this.values["note"] = value;
return this; return this;
} };
speed = (value: number): this => { speed = (value: number): this => {
this.values['speed'] = value this.values["speed"] = value;
return this; return this;
} };
begin = (value: number): this => { begin = (value: number): this => {
this.values['begin'] = value this.values["begin"] = value;
return this; return this;
} };
end = (value: number): this => { end = (value: number): this => {
this.values['end'] = value this.values["end"] = value;
return this; return this;
} };
gain = (value: number): this => { gain = (value: number): this => {
this.values['gain'] = value this.values["gain"] = value;
return this; return this;
} };
cutoff = (value: number): this => { cutoff = (value: number): this => {
this.values['cutoff'] = value this.values["cutoff"] = value;
return this; return this;
} };
resonance = (value: number): this => { resonance = (value: number): this => {
this.values['resonance'] = value this.values["resonance"] = value;
return this; return this;
} };
hcutoff = (value: number): this => { hcutoff = (value: number): this => {
this.values['hcutoff'] = value this.values["hcutoff"] = value;
return this; return this;
} };
hresonance = (value: number): this => { hresonance = (value: number): this => {
this.values['hresonance'] = value this.values["hresonance"] = value;
return this; return this;
} };
bandf = (value: number): this => { bandf = (value: number): this => {
this.values['bandf'] = value this.values["bandf"] = value;
return this; return this;
} };
bandq = (value: number): this => { bandq = (value: number): this => {
this.values['bandq'] = value this.values["bandq"] = value;
return this; return this;
} };
coarse = (value: number): this => { coarse = (value: number): this => {
this.values['coarse'] = value this.values["coarse"] = value;
return this; return this;
} };
crush = (value: number): this => { crush = (value: number): this => {
this.values['crush'] = value this.values["crush"] = value;
return this; return this;
} };
shape = (value: number): this => { shape = (value: number): this => {
this.values['shape'] = value this.values["shape"] = value;
return this; return this;
} };
pan = (value: number): this => { pan = (value: number): this => {
this.values['pan'] = value this.values["pan"] = value;
return this; return this;
} };
vowel = (value: number): this => { vowel = (value: number): this => {
this.values['vowel'] = value this.values["vowel"] = value;
return this; return this;
} };
delay = (value: number): this => { delay = (value: number): this => {
this.values['delay'] = value this.values["delay"] = value;
return this; return this;
} };
delayfeedback = (value: number): this => { delayfeedback = (value: number): this => {
this.values['delayfeedback'] = value this.values["delayfeedback"] = value;
return this; return this;
} };
delaytime = (value: number): this => { delaytime = (value: number): this => {
this.values['delaytime'] = value this.values["delaytime"] = value;
return this; return this;
} };
orbit = (value: number): this => { orbit = (value: number): this => {
this.values['orbit'] = value this.values["orbit"] = value;
return this; return this;
} };
room = (value: number): this => { room = (value: number): this => {
this.values['room'] = value this.values["room"] = value;
return this; return this;
} };
size = (value: number): this => { size = (value: number): this => {
this.values['size'] = value this.values["size"] = value;
return this; return this;
} };
velocity = (value: number): this => { velocity = (value: number): this => {
this.values['velocity'] = value this.values["velocity"] = value;
return this; return this;
} };
dur = (value: number): this => {
this.values["dur"] = value;
return this;
};
out = (): object => { out = (): object => {
return superdough(this.values, this.app.clock.pulse_duration); return superdough(
} this.values,
this.app.clock.pulse_duration,
this.values.dur
);
};
} }