Skip to content

v0.5.0 — File inspection, attribution, route awareness

Choose a tag to compare

@SteliyanH SteliyanH released this 27 Aug 11:35
· 17 commits to main since this release
5622858

Three smaller additions, closing kadr-audio's planned surface.

AudioFile — check before it reaches a composition

A picker returns a URL and a content-type filter is a guess: .audio admits files with no decodable audio track, and a user can rename anything. Handing such a URL to AudioTrack produces a composition that exports silently wrong, or fails deep inside AVFoundation with an error naming neither the file nor the problem.

let track = try await AudioFile.audioTrack(for: pickedURL)
// "“holiday.mov” doesn't contain any audio."
// "Pick a music or voice file — a video file won't work here."

One asset load turns a silent failure at export into a sentence at import.

MusicAttribution — a credit line that degrades properly

Returns nil rather than a dangling " — " when both fields are missing, and treats whitespace-only metadata as missing. Library items with neither title nor artist are common enough that a credit made of spaces is a real outcome.

AudioSession.recordingWouldCapturePlayback

On the built-in speaker the microphone hears the playback too, so a voiceover recorded there arrives with the backing track already in it. That is bleed, not timing — none of v0.3's latency work touches it. Better to suggest headphones before the take than after.


41 → 56 tests.