Files
deepdrft/DeepDrftPublic.Client/wwwroot/js/waveformSeeker.js
T
daniel-c-harvey 8de7342352 Replace MudSlider seekbar with WaveformSeeker loudness-waveform control
DOM bar chart with clip-overlay progress split; pointer-capture drag;
WaveformProfile fetched on load (fire-and-forget, cancellable); flat
fallback when no profile; small lazily-loaded waveformSeeker.js for
getBoundingClientRect and setPointerCapture.
2026-06-05 17:35:11 -04:00

13 lines
588 B
JavaScript

// Geometry helpers for WaveformSeeker. Deliberately tiny and standalone — this is NOT part of
// the TypeScript audio bundle (DeepDrftPublic/Interop/audio → wwwroot/js/audio). Loaded lazily as
// an ES module by the component via IJSObjectReference, so it adds no global script tag.
export function getWidth(element) {
return element ? element.getBoundingClientRect().width : 0;
}
export function capturePointer(element, pointerId) {
// setPointerCapture keeps a drag tracking even when the pointer leaves the element bounds.
element?.setPointerCapture?.(pointerId);
}