diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-03-27 00:55:15 +0100 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-03-29 15:56:48 +0200 |
| commit | 4d127a038bf768eded68aae3cfa5c1b12241bdac (patch) | |
| tree | 16bbb801caf6770546cff4fdb37b6408ec9ead98 /apps/web/src/core/managers/timeline-manager.ts | |
| parent | 82817cb50cb0487350573d6129130aec705f924b (diff) | |
| download | opencut-4d127a038bf768eded68aae3cfa5c1b12241bdac.tar.gz | |
chore: normalize line endings
Diffstat (limited to 'apps/web/src/core/managers/timeline-manager.ts')
| -rw-r--r-- | apps/web/src/core/managers/timeline-manager.ts | 8 |
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; } |
