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/project-manager.ts | |
| parent | 82817cb50cb0487350573d6129130aec705f924b (diff) | |
| download | opencut-4d127a038bf768eded68aae3cfa5c1b12241bdac.tar.gz | |
chore: normalize line endings
Diffstat (limited to 'apps/web/src/core/managers/project-manager.ts')
| -rw-r--r-- | apps/web/src/core/managers/project-manager.ts | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/apps/web/src/core/managers/project-manager.ts b/apps/web/src/core/managers/project-manager.ts index f84a25e3..916ab328 100644 --- a/apps/web/src/core/managers/project-manager.ts +++ b/apps/web/src/core/managers/project-manager.ts @@ -29,6 +29,8 @@ import { import { loadFonts } from "@/lib/fonts/google-fonts"; import { DEFAULTS } from "@/lib/timeline/defaults"; import { getElementFontFamilies } from "@/lib/timeline/element-utils"; +import { getRaisedProjectFpsForImportedMedia } from "@/lib/project/fps"; +import type { MediaAsset } from "@/lib/media/types"; export interface MigrationState { isMigrating: boolean; @@ -492,6 +494,23 @@ export class ProjectManager { command.execute(); } + ratchetFpsForImportedMedia({ + importedAssets, + }: { + importedAssets: Array<Pick<MediaAsset, "type" | "fps">>; + }): number | null { + if (!this.active) return null; + + const nextFps = getRaisedProjectFpsForImportedMedia({ + currentFps: this.active.settings.fps, + importedAssets, + }); + if (nextFps === null) return null; + + new UpdateProjectSettingsCommand({ fps: nextFps }).execute(); + return nextFps; + } + async updateThumbnail({ thumbnail }: { thumbnail: string }): Promise<void> { if (!this.active) return; |
