diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-04-20 11:31:17 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-04-20 11:31:17 +0200 |
| commit | 3e89d2998588f8e35c524e523ba2ee853f0f6475 (patch) | |
| tree | 57221f96c1259b3b07e3ddf8c1adefc502b9d8eb /apps/web/src/lib/export/index.ts | |
| parent | 729d10592f4e802f91c555c309ff3ba4b119f843 (diff) | |
| download | opencut-3e89d2998588f8e35c524e523ba2ee853f0f6475.tar.gz | |
refactor: restructure files to their domains, new preview overlay system, and dep graph
Diffstat (limited to 'apps/web/src/lib/export/index.ts')
| -rw-r--r-- | apps/web/src/lib/export/index.ts | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/apps/web/src/lib/export/index.ts b/apps/web/src/lib/export/index.ts deleted file mode 100644 index c5c522b3..00000000 --- a/apps/web/src/lib/export/index.ts +++ /dev/null @@ -1,70 +0,0 @@ -import type { FrameRate } from "opencut-wasm"; -import { EXPORT_MIME_TYPES } from "./mime-types"; - -export const EXPORT_QUALITY_VALUES = [ - "low", - "medium", - "high", - "very_high", -] as const; - -export const EXPORT_FORMAT_VALUES = ["mp4", "webm"] as const; - -export type ExportFormat = (typeof EXPORT_FORMAT_VALUES)[number]; -export type ExportQuality = (typeof EXPORT_QUALITY_VALUES)[number]; - -export interface ExportOptions { - format: ExportFormat; - quality: ExportQuality; - fps?: FrameRate; - includeAudio?: boolean; -} - -export interface ExportResult { - success: boolean; - buffer?: ArrayBuffer; - error?: string; - cancelled?: boolean; -} - -export interface ExportState { - isExporting: boolean; - progress: number; - result: ExportResult | null; -} - -export function getExportMimeType({ - format, -}: { - format: ExportFormat; -}): string { - return EXPORT_MIME_TYPES[format]; -} - -export function getExportFileExtension({ - format, -}: { - format: ExportFormat; -}): string { - return `.${format}`; -} - -export function downloadBuffer({ - buffer, - filename, - mimeType, -}: { - buffer: ArrayBuffer; - filename: string; - mimeType: string; -}): void { - const blob = new Blob([buffer], { type: mimeType }); - const url = URL.createObjectURL(blob); - const downloadLink = document.createElement("a"); - downloadLink.href = url; - downloadLink.download = filename; - document.body.appendChild(downloadLink); - downloadLink.click(); - document.body.removeChild(downloadLink); - URL.revokeObjectURL(url); -} |
