summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/scenes.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/lib/scenes.ts')
-rw-r--r--apps/web/src/lib/scenes.ts18
1 files changed, 14 insertions, 4 deletions
diff --git a/apps/web/src/lib/scenes.ts b/apps/web/src/lib/scenes.ts
index 1b5b293c..91285275 100644
--- a/apps/web/src/lib/scenes.ts
+++ b/apps/web/src/lib/scenes.ts
@@ -1,7 +1,7 @@
import type { TScene } from "@/lib/timeline";
import { generateUUID } from "@/utils/id";
import { calculateTotalDuration } from "@/lib/timeline";
-import { ensureMainTrack } from "@/lib/timeline/placement";
+import { MAIN_TRACK_NAME } from "@/lib/timeline/placement/main-track";
export function getMainScene({ scenes }: { scenes: TScene[] }): TScene | null {
return scenes.find((scene) => scene.isMain) || null;
@@ -23,12 +23,22 @@ export function buildDefaultScene({
name: string;
isMain: boolean;
}): TScene {
- const tracks = ensureMainTrack({ tracks: [] });
return {
id: generateUUID(),
name,
isMain,
- tracks,
+ tracks: {
+ overlay: [],
+ main: {
+ id: generateUUID(),
+ name: MAIN_TRACK_NAME,
+ type: "video",
+ elements: [],
+ muted: false,
+ hidden: false,
+ },
+ audio: [],
+ },
bookmarks: [],
createdAt: new Date(),
updatedAt: new Date(),
@@ -81,7 +91,7 @@ export function getProjectDurationFromScenes({
scenes: TScene[];
}): number {
const mainScene = getMainScene({ scenes }) ?? scenes[0] ?? null;
- if (!mainScene?.tracks || !Array.isArray(mainScene.tracks)) {
+ if (!mainScene?.tracks) {
return 0;
}