diff --git a/src/classes/SoundEvent.ts b/src/classes/SoundEvent.ts index 3ca63e2..a007a33 100644 --- a/src/classes/SoundEvent.ts +++ b/src/classes/SoundEvent.ts @@ -230,7 +230,7 @@ export class SoundEvent extends AudibleEvent { // Frequency management 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 nudge = (value: number) => this.updateValue("nudge", value); public cut = (value: number) => this.updateValue("cut", value); @@ -292,11 +292,11 @@ export class SoundEvent extends AudibleEvent { out = (): void => { if (this.values.chord) { - this.values.chord.forEach((freq: number) => { - const copy = { ...this.values }; - copy.freq = freq; + this.values.chord.forEach((obj: {[key: string]: number}) => { + const copy = {...this.values}; + copy.freq = obj.freq // 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 { // This is pure non-sense but I need to adapt somehow diff --git a/src/classes/ZPlayer.ts b/src/classes/ZPlayer.ts index 4a5bbfa..7a03692 100644 --- a/src/classes/ZPlayer.ts +++ b/src/classes/ZPlayer.ts @@ -148,8 +148,17 @@ export class Player extends Event { obj.dur = event.duration; return new SoundEvent(obj, this.app).sound(name); } else if (event instanceof Chord) { - const pitches = event.freqs(); - return new SoundEvent(event, this.app).chord(pitches).sound(name); + const pitches = event.pitches.map((p) => { + 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) { return RestEvent.createRestProxy(event.duration, this.app); }