summaryrefslogtreecommitdiff
path: root/apps/web/src/timeline/audio-separation/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/timeline/audio-separation/index.ts')
-rw-r--r--apps/web/src/timeline/audio-separation/index.ts30
1 files changed, 10 insertions, 20 deletions
diff --git a/apps/web/src/timeline/audio-separation/index.ts b/apps/web/src/timeline/audio-separation/index.ts
index beb488de..6917378c 100644
--- a/apps/web/src/timeline/audio-separation/index.ts
+++ b/apps/web/src/timeline/audio-separation/index.ts
@@ -87,8 +87,13 @@ export function buildSeparatedAudioElement({
trimStart: sourceElement.trimStart,
trimEnd: sourceElement.trimEnd,
sourceDuration: sourceElement.sourceDuration,
- volume: sourceElement.volume ?? DEFAULTS.element.volume,
- muted: sourceElement.muted ?? false,
+ params: {
+ volume:
+ typeof sourceElement.params.volume === "number"
+ ? sourceElement.params.volume
+ : DEFAULTS.element.volume,
+ muted: sourceElement.params.muted === true,
+ },
retime: sourceElement.retime
? {
rate: sourceElement.retime.rate,
@@ -116,28 +121,13 @@ function cloneVolumeAnimations({
}: {
animations: ElementAnimations | undefined;
}): ElementAnimations | undefined {
- const volumeBinding = animations?.bindings.volume;
- if (!volumeBinding) {
- return undefined;
- }
-
- const subsetChannels = Object.fromEntries(
- volumeBinding.components.flatMap((component) => {
- const channel = animations?.channels[component.channelId];
- return channel ? [[component.channelId, channel] as const] : [];
- }),
- );
- if (Object.keys(subsetChannels).length === 0) {
+ const volumeData = animations?.volume;
+ if (!volumeData) {
return undefined;
}
return cloneAnimations({
- animations: {
- bindings: {
- volume: volumeBinding,
- },
- channels: subsetChannels,
- },
+ animations: { volume: volumeData },
shouldRegenerateKeyframeIds: true,
});
}