From 802f316c8e1dfe2ba4e1fa5b95f8b7916ce32806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Michelle?= Date: Thu, 12 Mar 2026 16:16:18 +0100 Subject: [PATCH] migration --- .../core/src/project/migration/MigrateAudioClipBox.ts | 7 +++++++ .../core/src/project/migration/MigrateAudioRegionBox.ts | 7 +++++++ packages/studio/sdk/src/version.ts | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/studio/core/src/project/migration/MigrateAudioClipBox.ts b/packages/studio/core/src/project/migration/MigrateAudioClipBox.ts index 0d707815..0a997eaf 100644 --- a/packages/studio/core/src/project/migration/MigrateAudioClipBox.ts +++ b/packages/studio/core/src/project/migration/MigrateAudioClipBox.ts @@ -9,6 +9,13 @@ const isIntEncodedAsFloat = (v: number) => v > 0 && v < 1e-6 && Number.isFinite(v) && (v / 1.401298464324817e-45) % 1 === 0 export const migrateAudioClipBox = (boxGraph: BoxGraph, box: AudioClipBox): void => { + if (box.file.targetVertex.isEmpty()) { + console.debug("Migrate 'AudioClipBox' remove clip without AudioFileBox") + boxGraph.beginTransaction() + box.delete() + boxGraph.endTransaction() + return + } if (box.events.isEmpty()) { console.debug("Migrate 'AudioClipBox' to have a ValueEventCollectionBox") boxGraph.beginTransaction() diff --git a/packages/studio/core/src/project/migration/MigrateAudioRegionBox.ts b/packages/studio/core/src/project/migration/MigrateAudioRegionBox.ts index ae2dd1b8..01ba3a21 100644 --- a/packages/studio/core/src/project/migration/MigrateAudioRegionBox.ts +++ b/packages/studio/core/src/project/migration/MigrateAudioRegionBox.ts @@ -12,6 +12,13 @@ const toSeconds = (property: ValueOwner, bpm: number): seconds => PPQN.pulsesToSeconds(property.getValue(), bpm) export const migrateAudioRegionBox = (boxGraph: BoxGraph, box: AudioRegionBox, bpm: number): void => { + if (box.file.targetVertex.isEmpty()) { + console.debug("Migrate 'AudioRegionBox' remove region without AudioFileBox") + boxGraph.beginTransaction() + box.delete() + boxGraph.endTransaction() + return + } const {duration, loopOffset, loopDuration, playback} = box if (isIntEncodedAsFloat(duration.getValue()) || isIntEncodedAsFloat(loopOffset.getValue()) diff --git a/packages/studio/sdk/src/version.ts b/packages/studio/sdk/src/version.ts index d44aec89..91923c80 100644 --- a/packages/studio/sdk/src/version.ts +++ b/packages/studio/sdk/src/version.ts @@ -2,4 +2,4 @@ * The current version of the OpenDAW SDK. * This value is automatically synchronized with package.json during publish. */ -export const OPENDAW_SDK_VERSION = "0.0.127" +export const OPENDAW_SDK_VERSION = "0.0.128"