Merge branch 'main' of github.com:Bubobubobubobubo/Topos

This commit is contained in:
2023-09-20 22:01:10 +02:00
2 changed files with 16 additions and 7 deletions

View File

@ -230,7 +230,7 @@ export class SoundEvent extends AudibleEvent {
// Frequency management // Frequency management
public sound = (value: string) => this.updateValue("s", value); public sound = (value: string) => this.updateValue("s", value);
public chord = (value: number[]) => this.updateValue("chord", value); public chord = (value: object[]) => this.updateValue("chord", value);
public snd = this.sound; public snd = this.sound;
public nudge = (value: number) => this.updateValue("nudge", value); public nudge = (value: number) => this.updateValue("nudge", value);
public cut = (value: number) => this.updateValue("cut", value); public cut = (value: number) => this.updateValue("cut", value);
@ -292,11 +292,11 @@ export class SoundEvent extends AudibleEvent {
out = (): void => { out = (): void => {
if (this.values.chord) { if (this.values.chord) {
this.values.chord.forEach((freq: number) => { this.values.chord.forEach((obj: {[key: string]: number}) => {
const copy = { ...this.values }; const copy = {...this.values};
copy.freq = freq; copy.freq = obj.freq
// This is pure non-sense but I need to adapt somehow // This is pure non-sense but I need to adapt somehow
superdough(copy, this.values.dur * 2, this.values.dur); superdough(copy, copy.dur*2, copy.dur);
}); });
} else { } else {
// This is pure non-sense but I need to adapt somehow // This is pure non-sense but I need to adapt somehow

View File

@ -148,8 +148,17 @@ export class Player extends Event {
obj.dur = event.duration; obj.dur = event.duration;
return new SoundEvent(obj, this.app).sound(name); return new SoundEvent(obj, this.app).sound(name);
} else if (event instanceof Chord) { } else if (event instanceof Chord) {
const pitches = event.freqs(); const pitches = event.pitches.map((p) => {
return new SoundEvent(event, this.app).chord(pitches).sound(name); return p.getExisting(
"freq",
"pitch",
"key",
"scale",
"octave",
"parsedScale"
);
});
return new SoundEvent({dur: event.duration}, this.app).chord(pitches).sound(name);
} else if (event instanceof ZRest) { } else if (event instanceof ZRest) {
return RestEvent.createRestProxy(event.duration, this.app); return RestEvent.createRestProxy(event.duration, this.app);
} }