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"