fix some bugs
This commit is contained in:
@ -44,7 +44,7 @@ export class TransportNode extends AudioWorkletNode {
|
|||||||
this.app.api.midi_clock();
|
this.app.api.midi_clock();
|
||||||
const then = performance.now();
|
const then = performance.now();
|
||||||
this.lastLatencies[this.indexOfLastLatencies] = then - 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;
|
const averageLatency = this.lastLatencies.reduce((a, b) => a + b) / this.lastLatencies.length;
|
||||||
this.executionLatency = averageLatency / 1000;
|
this.executionLatency = averageLatency / 1000;
|
||||||
}, (timeToNextPulse + this.executionLatency) * 1000);
|
}, (timeToNextPulse + this.executionLatency) * 1000);
|
||||||
@ -76,6 +76,7 @@ export class TransportNode extends AudioWorkletNode {
|
|||||||
convertTimeToNextBarsBeats(currentTime) {
|
convertTimeToNextBarsBeats(currentTime) {
|
||||||
const beatDuration = 60 / this.app.clock.bpm;
|
const beatDuration = 60 / this.app.clock.bpm;
|
||||||
const beatNumber = (currentTime) / beatDuration;
|
const beatNumber = (currentTime) / beatDuration;
|
||||||
|
const beatsPerBar = this.app.clock.time_signature[0];
|
||||||
|
|
||||||
this.currentPulsePosition = beatNumber * this.app.clock.ppqn;
|
this.currentPulsePosition = beatNumber * this.app.clock.ppqn;
|
||||||
const nextPulsePosition = Math.ceil(this.currentPulsePosition);
|
const nextPulsePosition = Math.ceil(this.currentPulsePosition);
|
||||||
@ -86,7 +87,7 @@ export class TransportNode extends AudioWorkletNode {
|
|||||||
const futureTimeStamp = {
|
const futureTimeStamp = {
|
||||||
bar: Math.floor(futureBarNumber) + 1,
|
bar: Math.floor(futureBarNumber) + 1,
|
||||||
beat: Math.floor(futureBarNumber) % beatsPerBar + 1,
|
beat: Math.floor(futureBarNumber) % beatsPerBar + 1,
|
||||||
pulse: this.nextPulsePosition
|
pulse: Math.floor(this.nextPulsePosition) % this.app.clock.ppqn
|
||||||
};
|
};
|
||||||
this.app.clock.tick++
|
this.app.clock.tick++
|
||||||
return {
|
return {
|
||||||
|
|||||||
16
src/main.ts
16
src/main.ts
@ -679,11 +679,11 @@ document.addEventListener("keydown", startOnEnter);
|
|||||||
document.getElementById("start-button")!.addEventListener("click", startClock);
|
document.getElementById("start-button")!.addEventListener("click", startClock);
|
||||||
|
|
||||||
// When the user leaves the page, all the universes should be saved in the localStorage
|
// When the user leaves the page, all the universes should be saved in the localStorage
|
||||||
window.addEventListener("beforeunload", () => {
|
// window.addEventListener("beforeunload", () => {
|
||||||
event.preventDefault();
|
// event.preventDefault();
|
||||||
event.returnValue = "";
|
// event.returnValue = "";
|
||||||
// Iterate over all local files and set the candidate to the committed
|
// // Iterate over all local files and set the candidate to the committed
|
||||||
app.currentFile.candidate = app.view.state.doc.toString();
|
// app.currentFile.candidate = app.view.state.doc.toString();
|
||||||
app.currentFile.committed = app.view.state.doc.toString();
|
// app.currentFile.committed = app.view.state.doc.toString();
|
||||||
app.settings.saveApplicationToLocalStorage(app.universes, app.settings);
|
// app.settings.saveApplicationToLocalStorage(app.universes, app.settings);
|
||||||
});
|
// });
|
||||||
|
|||||||
Reference in New Issue
Block a user