From e98e40028ee3f9b074688fc54a1a1cae3caec63d Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Sat, 30 Aug 2025 20:45:47 +0200 Subject: [PATCH] typescript: fix any types --- apps/web/src/lib/export.ts | 10 ++++++---- export-email.txt | 11 +++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 export-email.txt diff --git a/apps/web/src/lib/export.ts b/apps/web/src/lib/export.ts index f25f5f6b..d2593879 100644 --- a/apps/web/src/lib/export.ts +++ b/apps/web/src/lib/export.ts @@ -16,6 +16,8 @@ import { useMediaStore } from "@/stores/media-store"; import { useProjectStore } from "@/stores/project-store"; import { DEFAULT_FPS } from "@/stores/project-store"; import { ExportOptions, ExportResult } from "@/types/export"; +import { TimelineTrack } from "@/types/timeline"; +import { MediaFile } from "@/types/media"; export const DEFAULT_EXPORT_OPTIONS: ExportOptions = { format: "mp4", @@ -40,8 +42,8 @@ interface AudioElement { } async function createTimelineAudioBuffer( - tracks: any[], - mediaFiles: any[], + tracks: TimelineTrack[], + mediaFiles: MediaFile[], duration: number, sampleRate: number = 44100 ): Promise { @@ -51,7 +53,7 @@ async function createTimelineAudioBuffer( // Collect all audio elements from timeline const audioElements: AudioElement[] = []; - const mediaMap = new Map(mediaFiles.map((m) => [m.id, m])); + const mediaMap = new Map(mediaFiles.map((m) => [m.id, m])); for (const track of tracks) { if (track.muted) continue; @@ -59,7 +61,7 @@ async function createTimelineAudioBuffer( for (const element of track.elements) { if (element.type !== "media") continue; - const mediaItem = mediaMap.get(element.mediaId); + const mediaItem = element.type === "media" ? mediaMap.get(element.mediaId) : null; if (!mediaItem || mediaItem.type !== "audio") continue; const visibleDuration = diff --git a/export-email.txt b/export-email.txt new file mode 100644 index 00000000..5975a577 --- /dev/null +++ b/export-email.txt @@ -0,0 +1,11 @@ +subject: export is out - maze from opencut + +wassup, the thing you've been waiting for is finally out - the export button + +opencut.app + +give it a try, or don't, up to you ❤️ + +have an amazing day :) + +[unsubscribe]({{unsubscribe_url}})