Adding widget for time position visualisation

This commit is contained in:
2023-09-07 18:01:41 +02:00
parent c9ec65a8aa
commit 281c630827
5 changed files with 49 additions and 11 deletions

View File

@ -8,6 +8,7 @@ export class TransportNode extends AudioWorkletNode {
this.app = application
this.port.addEventListener("message", this.handleMessage);
this.port.start();
this.timeviewer = document.getElementById("timeviewer");
}
/** @type {(this: MessagePort, ev: MessageEvent<any>) => any} */
@ -17,6 +18,7 @@ export class TransportNode extends AudioWorkletNode {
this.app.clock.tick++
const futureTimeStamp = this.app.clock.convertTicksToTimeposition(this.app.clock.tick);
this.app.clock.time_position = futureTimeStamp;
this.timeviewer.innerHTML = `${zeroPad(futureTimeStamp.bar, 2)}:${futureTimeStamp.beat+1}:${zeroPad(futureTimeStamp.pulse, 2)}`;
if (this.app.exampleIsPlaying) {
tryEvaluate(this.app, this.app.example_buffer);
@ -48,4 +50,4 @@ export class TransportNode extends AudioWorkletNode {
this.port.postMessage("stop");
}
}
}