summaryrefslogtreecommitdiff
path: root/apps/web/src/core/managers/timeline-manager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/core/managers/timeline-manager.ts')
-rw-r--r--apps/web/src/core/managers/timeline-manager.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/apps/web/src/core/managers/timeline-manager.ts b/apps/web/src/core/managers/timeline-manager.ts
index 455222d6..3dd95ee2 100644
--- a/apps/web/src/core/managers/timeline-manager.ts
+++ b/apps/web/src/core/managers/timeline-manager.ts
@@ -13,6 +13,7 @@ import type {
AnimationValue,
} from "@/lib/animation/types";
import { calculateTotalDuration } from "@/lib/timeline";
+import { getLastFrameTime } from "@/lib/time";
import {
AddTrackCommand,
RemoveTrackCommand,
@@ -224,6 +225,13 @@ export class TimelineManager {
return calculateTotalDuration({ tracks: this.getTracks() });
}
+ getLastSeekableTime(): number {
+ const duration = this.getTotalDuration();
+ const fps = this.editor.project.getActive()?.settings.fps;
+ if (!fps || duration <= 0) return duration;
+ return getLastFrameTime({ duration, fps });
+ }
+
getTrackById({ trackId }: { trackId: string }): TimelineTrack | null {
return this.getTracks().find((track) => track.id === trackId) ?? null;
}