From d3733d42095c45660a39cd91aa1ad216c3701c1e Mon Sep 17 00:00:00 2001 From: "Jade (Rose) Rowland" Date: Sun, 18 Aug 2024 13:07:41 -0400 Subject: [PATCH] prettier --- packages/core/util.mjs | 58 +++--------------------------- packages/osc/superdirtoutput.js | 3 +- packages/superdough/superdough.mjs | 2 +- 3 files changed, 7 insertions(+), 56 deletions(-) diff --git a/packages/core/util.mjs b/packages/core/util.mjs index 4ed9c466..bc844057 100644 --- a/packages/core/util.mjs +++ b/packages/core/util.mjs @@ -370,7 +370,7 @@ export function cycleToSeconds(cycle, cps) { // utility for averaging two clocks together to account for drift export class ClockCollator { constructor({ - getTargetClockTime = () => Date.now() * 0.001, + getTargetClockTime = getUnixTimeSeconds, weight = 16, offsetDelta = 0.005, checkAfterTime = 2, @@ -426,60 +426,12 @@ export class ClockCollator { } } -// utility for averaging two clocks together to account for drift -export class ClockCollator { - constructor({ - getTargetClockTime = () => Date.now() / 1000, - weight = 16, - offsetDelta = 0.005, - checkAfterTime = 2, - resetAfterTime = 8, - }) { - this.offsetTime; - this.timeAtPrevOffsetSample; - this.prevOffsetTimes = []; - this.getTargetClockTime = getTargetClockTime; - this.weight = weight; - this.offsetDelta = offsetDelta; - this.checkAfterTime = checkAfterTime; - this.resetAfterTime = resetAfterTime; - } - - calculateTimestamp(currentTime, targetTime) { - const targetClockTime = this.getTargetClockTime(); - const diffBetweenTimeSamples = targetClockTime - this.timeAtPrevOffsetSample; - const newOffsetTime = targetClockTime - currentTime; - // recalcuate the diff from scratch if the clock has been paused for some time. - if (diffBetweenTimeSamples > this.resetAfterTime) { - this.prevOffsetTimes = []; - } - - if (this.offsetTime == null) { - this.offsetTime = newOffsetTime; - } - this.prevOffsetTimes.push(newOffsetTime); - if (this.prevOffsetTimes.length > this.weight) { - this.prevOffsetTimes.shift(); - } - - // after X time has passed, the average of the previous weight offset times is calculated and used as a stable reference - // for calculating the timestamp - if (this.timeAtPrevOffsetSample == null || diffBetweenTimeSamples > this.checkAfterTime) { - this.timeAtPrevOffsetSample = targetClockTime; - const rollingOffsetTime = averageArray(this.prevOffsetTimes); - //when the clock offsets surpass the delta, set the new reference time - if (Math.abs(rollingOffsetTime - this.offsetTime) > this.offsetDelta) { - this.offsetTime = rollingOffsetTime; - } - } - - const timestamp = this.offsetTime + targetTime; - return timestamp; - } +export function getPerformanceTimeSeconds() { + return performance.now() * 0.001; } -export function getPerformanceTimeSeconds() { - return performance.now() / 1000; +function getUnixTimeSeconds() { + return Date.now() * 0.001; } // Floating point versions, see Fraction for rational versions diff --git a/packages/osc/superdirtoutput.js b/packages/osc/superdirtoutput.js index d35f0a5f..3f48e66b 100644 --- a/packages/osc/superdirtoutput.js +++ b/packages/osc/superdirtoutput.js @@ -2,10 +2,9 @@ import { oscTriggerTauri } from '../desktopbridge/oscbridge.mjs'; import { isTauri } from '../desktopbridge/utils.mjs'; import { oscTrigger } from './osc.mjs'; - const trigger = isTauri() ? oscTriggerTauri : oscTrigger; export const superdirtOutput = (hap, deadline, hapDuration, cps, targetTime) => { - const currentTime = performance.now() / 1000 + const currentTime = performance.now() / 1000; return trigger(null, hap, currentTime, cps, targetTime); }; diff --git a/packages/superdough/superdough.mjs b/packages/superdough/superdough.mjs index 376c482e..50c93322 100644 --- a/packages/superdough/superdough.mjs +++ b/packages/superdough/superdough.mjs @@ -88,7 +88,7 @@ export const getAudioContext = () => { }; export function getAudioContextCurrentTime() { - return getAudioContext().currentTime + return getAudioContext().currentTime; } let workletsLoading;