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..d69d7de 100644 --- a/src/classes/ZPlayer.ts +++ b/src/classes/ZPlayer.ts @@ -137,19 +137,12 @@ export class Player extends Event { if (this.areWeThereYet()) { const event = this.next() as Pitch | Chord | ZRest; if (event instanceof Pitch) { - const obj = event.getExisting( - "freq", - "pitch", - "key", - "scale", - "octave", - "parsedScale" - ); - obj.dur = event.duration; - return new SoundEvent(obj, this.app).sound(name); + return new SoundEvent({dur: event.duration, freq: event.freq}, 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 {freq: p.freq} + }); + return new SoundEvent({dur: event.duration}, this.app).chord(pitches).sound(name); } else if (event instanceof ZRest) { return RestEvent.createRestProxy(event.duration, this.app); }