diff --git a/src/components/BigWaveform.jsx b/src/components/BigWaveform.jsx index b4c1cb64..9d729faa 100644 --- a/src/components/BigWaveform.jsx +++ b/src/components/BigWaveform.jsx @@ -10,7 +10,9 @@ const BigWaveform = memo(({ waveforms, relevantTime, playing, durationSafe, zoom const scaleFactor = zoom; - const [smoothTime, setSmoothTime] = useState(relevantTime); + const [smoothTimeRaw, setSmoothTime] = useState(relevantTime); + + const smoothTime = smoothTimeRaw ?? relevantTime; const mouseDownRef = useRef(); const containerRef = useRef(); @@ -47,8 +49,6 @@ const BigWaveform = memo(({ waveforms, relevantTime, playing, durationSafe, zoom useEffect(() => { - let time = relevantTime; - setSmoothTime(time); const startTime = new Date().getTime(); if (playing) { @@ -56,7 +56,6 @@ const BigWaveform = memo(({ waveforms, relevantTime, playing, durationSafe, zoom // eslint-disable-next-line no-inner-declarations function render() { raf = window.requestAnimationFrame(() => { - time = new Date().getTime() / 1000; setSmoothTime(relevantTime + (new Date().getTime() - startTime) / 1000); render(); }); @@ -66,6 +65,8 @@ const BigWaveform = memo(({ waveforms, relevantTime, playing, durationSafe, zoom return () => window.cancelAnimationFrame(raf); } + setSmoothTime(undefined); + return undefined; }, [relevantTime, playing]);