Route bpm change from TransportProcessor

This commit is contained in:
2023-10-27 15:48:02 +03:00
parent 7ac784bc0e
commit 6f40e8afd2
3 changed files with 5 additions and 2 deletions

View File

@ -137,7 +137,6 @@ export class Clock {
set bpm(bpm: number) {
if (bpm > 0 && this._bpm !== bpm) {
this._bpm = bpm;
this.transportNode?.setBPM(bpm);
}
}
@ -223,7 +222,8 @@ export class Clock {
* @remark also sends a MIDI message if a port is declared
*/
this.app.clock.tick = 0;
this.logicalTime = 0
this.logicalTime = 0;
this.elapsed = 0;
this.time_position = { bar: 0, beat: 0, pulse: 0 };
this.app.api.MidiConnection.sendStopMessage();
this.transportNode?.stop();

View File

@ -30,6 +30,8 @@ export class TransportNode extends AudioWorkletNode {
} else {
tryEvaluate(this.app, this.app.global_buffer);
}
} else if (message.data.type === "bpm") {
this.app.clock.bpm = message.data.value;
}
}
};

View File

@ -36,6 +36,7 @@ class TransportProcessor extends AudioWorkletProcessor {
} else if (message.data.type === 'bpm') {
this.bpm = message.data.value;
this.currentPulsePosition = 0;
this.port.postMessage({ type: "bpm", value: this.bpm });
} else if (message.data.type === 'ppqn') {
this.ppqn = message.data.value;
this.currentPulsePosition = 0;