fix some bugs

This commit is contained in:
Fr0stbyteR
2023-08-02 20:31:32 +08:00
parent 0d2373c026
commit 3e3dd368c1
2 changed files with 11 additions and 10 deletions

View File

@ -44,7 +44,7 @@ export class TransportNode extends AudioWorkletNode {
this.app.api.midi_clock();
const then = performance.now();
this.lastLatencies[this.indexOfLastLatencies] = then - now;
this.indexOfLastLatencies = (indexOfLastLatencies + 1) % this.lastLatencies.length;
this.indexOfLastLatencies = (this.indexOfLastLatencies + 1) % this.lastLatencies.length;
const averageLatency = this.lastLatencies.reduce((a, b) => a + b) / this.lastLatencies.length;
this.executionLatency = averageLatency / 1000;
}, (timeToNextPulse + this.executionLatency) * 1000);
@ -76,6 +76,7 @@ export class TransportNode extends AudioWorkletNode {
convertTimeToNextBarsBeats(currentTime) {
const beatDuration = 60 / this.app.clock.bpm;
const beatNumber = (currentTime) / beatDuration;
const beatsPerBar = this.app.clock.time_signature[0];
this.currentPulsePosition = beatNumber * this.app.clock.ppqn;
const nextPulsePosition = Math.ceil(this.currentPulsePosition);
@ -86,7 +87,7 @@ export class TransportNode extends AudioWorkletNode {
const futureTimeStamp = {
bar: Math.floor(futureBarNumber) + 1,
beat: Math.floor(futureBarNumber) % beatsPerBar + 1,
pulse: this.nextPulsePosition
pulse: Math.floor(this.nextPulsePosition) % this.app.clock.ppqn
};
this.app.clock.tick++
return {

View File

@ -679,11 +679,11 @@ document.addEventListener("keydown", startOnEnter);
document.getElementById("start-button")!.addEventListener("click", startClock);
// When the user leaves the page, all the universes should be saved in the localStorage
window.addEventListener("beforeunload", () => {
event.preventDefault();
event.returnValue = "";
// Iterate over all local files and set the candidate to the committed
app.currentFile.candidate = app.view.state.doc.toString();
app.currentFile.committed = app.view.state.doc.toString();
app.settings.saveApplicationToLocalStorage(app.universes, app.settings);
});
// window.addEventListener("beforeunload", () => {
// event.preventDefault();
// event.returnValue = "";
// // Iterate over all local files and set the candidate to the committed
// app.currentFile.candidate = app.view.state.doc.toString();
// app.currentFile.committed = app.view.state.doc.toString();
// app.settings.saveApplicationToLocalStorage(app.universes, app.settings);
// });