summaryrefslogtreecommitdiff
path: root/apps/web/src/media
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2026-04-29 01:28:50 +0200
committerMaze Winther <mazewinther@gmail.com>2026-05-02 03:27:23 +0200
commit2ee0a44735d2b930348e9774909638b2c1909738 (patch)
treee73e60097338ed411739f3b04808dad86f7bb192 /apps/web/src/media
parenta9b9cf6bf50f08723896659634f2e6afc17bcd42 (diff)
downloadopencut-2ee0a44735d2b930348e9774909638b2c1909738.tar.gz
refactor: unify element params
Diffstat (limited to 'apps/web/src/media')
-rw-r--r--apps/web/src/media/audio.ts13
1 files changed, 6 insertions, 7 deletions
diff --git a/apps/web/src/media/audio.ts b/apps/web/src/media/audio.ts
index 42756d49..7abaf90e 100644
--- a/apps/web/src/media/audio.ts
+++ b/apps/web/src/media/audio.ts
@@ -11,6 +11,7 @@ import { applyAudioMasteringToBuffer } from "@/media/audio-mastering";
import type { AudioCapableElement } from "@/timeline/audio-state";
import {
hasAnimatedVolume,
+ isElementMuted,
resolveEffectiveAudioGain,
} from "@/timeline/audio-state";
import { doesElementHaveEnabledAudio } from "@/timeline/audio-separation";
@@ -128,7 +129,7 @@ export function timelineHasAudio({
mediaAssets: MediaAsset[];
}): boolean {
return collectAudibleCandidates({ tracks, mediaAssets }).some(
- ({ element }) => element.muted !== true,
+ ({ element }) => !isElementMuted({ element }),
);
}
@@ -168,7 +169,7 @@ export async function collectAudioElements({
trackMuted: false,
localTime: 0,
}),
- muted: element.muted === true,
+ muted: isElementMuted({ element }),
retime: element.retime,
};
}),
@@ -197,7 +198,7 @@ export async function collectAudioElements({
trackMuted: false,
localTime: 0,
}),
- muted: element.muted ?? false,
+ muted: isElementMuted({ element }),
retime: element.retime,
};
}),
@@ -501,7 +502,7 @@ export async function collectAudioMixSources({
for (const element of track.elements) {
if (!canElementHaveAudio(element)) continue;
- if (element.muted === true) continue;
+ if (isElementMuted({ element })) continue;
const mediaAsset = hasMediaId(element)
? (mediaMap.get(element.mediaId) ?? null)
: null;
@@ -570,9 +571,7 @@ export async function collectAudioClips({
: null;
if (!doesElementHaveEnabledAudio({ element, mediaAsset })) continue;
- const isElementMuted =
- "muted" in element ? (element.muted ?? false) : false;
- const muted = isTrackMuted || isElementMuted;
+ const muted = isTrackMuted || isElementMuted({ element });
const volume = resolveEffectiveAudioGain({
element,
trackMuted: isTrackMuted,