summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/timeline/audio-state.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/lib/timeline/audio-state.ts')
-rw-r--r--apps/web/src/lib/timeline/audio-state.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/apps/web/src/lib/timeline/audio-state.ts b/apps/web/src/lib/timeline/audio-state.ts
index 9625c482..165ece94 100644
--- a/apps/web/src/lib/timeline/audio-state.ts
+++ b/apps/web/src/lib/timeline/audio-state.ts
@@ -57,6 +57,20 @@ export function resolveEffectiveAudioGain({
return dBToLinear(resolvedDb);
}
+export function buildWaveformGainSamples({
+ element,
+ count,
+}: {
+ element: AudioCapableElement;
+ count: number;
+}): number[] {
+ const durationSeconds = element.duration / TICKS_PER_SECOND;
+ return Array.from({ length: count }, (_, i) => {
+ const localTime = ((i + 0.5) / count) * durationSeconds;
+ return resolveEffectiveAudioGain({ element, localTime });
+ });
+}
+
export function buildAudioGainAutomation({
element,
trackMuted = false,