summaryrefslogtreecommitdiff
path: root/apps/web/src/core/managers/project-manager.ts
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2026-03-27 00:55:15 +0100
committerMaze Winther <mazewinther@gmail.com>2026-03-29 15:56:48 +0200
commit4d127a038bf768eded68aae3cfa5c1b12241bdac (patch)
tree16bbb801caf6770546cff4fdb37b6408ec9ead98 /apps/web/src/core/managers/project-manager.ts
parent82817cb50cb0487350573d6129130aec705f924b (diff)
downloadopencut-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.ts19
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;