summaryrefslogtreecommitdiff
path: root/apps/web/src/transcription/diagnostics.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/transcription/diagnostics.ts')
-rw-r--r--apps/web/src/transcription/diagnostics.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/apps/web/src/transcription/diagnostics.ts b/apps/web/src/transcription/diagnostics.ts
new file mode 100644
index 00000000..6765d07f
--- /dev/null
+++ b/apps/web/src/transcription/diagnostics.ts
@@ -0,0 +1,25 @@
+import type { DiagnosticsManager } from "@/core/managers/diagnostics-manager";
+import { timelineHasAudio } from "@/media/audio";
+
+export const TRANSCRIPTION_DIAGNOSTICS_SCOPE = "transcription";
+
+export function registerTranscriptionDiagnostics({
+ diagnostics,
+}: {
+ diagnostics: DiagnosticsManager;
+}): void {
+ diagnostics.register({
+ id: "transcription.no_audio",
+ scope: TRANSCRIPTION_DIAGNOSTICS_SCOPE,
+ severity: "caution",
+ message: "No audio detected. Add a clip with audio to the timeline first.",
+ check: (editor) => {
+ const scene = editor.scenes.getActiveSceneOrNull();
+ if (!scene) return false;
+ return !timelineHasAudio({
+ tracks: scene.tracks,
+ mediaAssets: editor.media.getAssets(),
+ });
+ },
+ });
+}