fix some bugs
This commit is contained in:
@ -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 {
|
||||
|
||||
16
src/main.ts
16
src/main.ts
@ -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);
|
||||
// });
|
||||
|
||||
Reference in New Issue
Block a user