diff --git a/.github/release-notes.md b/.github/release-notes.md index 6e25b71..808debc 100644 --- a/.github/release-notes.md +++ b/.github/release-notes.md @@ -3,19 +3,40 @@ matching, timecode, and recording metadata. ## What's new in @VERSION@ -- **Media loads again on Windows.** Adding media on Windows could fail with - repeated "libwinpthread-1.dll was not found" errors, and reinstalling did not - help. The bundled FFmpeg tools needed a library the installer did not - include. They are now self-contained, and every Windows build is checked in a - clean folder before release. -- **Report a Problem.** Help → Report a Problem… (in the Menu button on Windows - and Linux), About, and error dialogs open a GitHub bug form with the Align - version, operating system, and architecture already filled in. You review - and submit the issue yourself; recordings, file paths, and logs are not sent. - A small reminder appears once after each installation or update. -- **Stricter CLI arguments.** `align-cli` no longer ignores extra paths after a - command: `export-json result.json out extra.wav` and `clear-cache extra.wav` - now stop with a usage error before doing anything. +- **Damaged audio no longer stops synchronization.** On Windows and Linux, one + file with a damaged audio packet could stop the whole run with "Decode error: + symphonia: unexpected end of bitstream." The damaged part now becomes silence + of the same length, and the rest of the file synchronizes at its correct + offset. When Align's built-in decoder cannot read a file, FFmpeg reads it + again. A file neither can read is left out with a warning that names it, and + the other files still synchronize. +- **MXF on macOS.** macOS could not read MXF: Canon XF-AVC, Sony XAVC and + other MXF clips were left out with "Decode error: invalid PCM." The macOS app + now includes a minimal FFmpeg (about 7 MB) and uses it only for MXF. +- **Camera metadata XML is skipped.** Selecting camera clips together with the + XML files cameras write beside them stopped the run with "Add one timeline + at a time." Only FCP 7 XML and FCPXML documents are now imported as + timelines. +- **Faster loading.** Each file is inspected with one ffprobe call instead of + up to three, four files at a time. With eight Canon C70 MXF clips and five + other files, reading metadata took 1.2 seconds instead of 24, and the + timecode of the MXF clips, which was missing before, is now read. +- **FCPXML bundles.** `.fcpxmld` bundles from Final Cut Pro 10.6 and later + import as timelines, and Path Fixer saves a repaired bundle as a bundle. + Media paths relative to an FCPXML document now resolve from its folder. +- **More accurate offsets on Windows and Linux.** MP3 files were placed 23 to + 25 ms early, and AVCHD clips with AC-3 audio 5.3 ms early; both are now on + time. MXF is no longer mistaken for MP3 audio. MP4 files with HE-AAC audio, + which did not match at all, now match, though their offset can still be + about 60 ms off. + +On Windows and Linux, the first synchronization after the update analyses +every file again, because fingerprints from the previous decoder are not +reused. + +Thanks to @Opragopa for reporting the decode error with Canon footage (#16), +which also led to the MXF and camera XML fixes, and for proposing parallel +inspection (#17). ## Downloads diff --git a/Cargo.lock b/Cargo.lock index 5975a0f..80415c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -44,7 +44,7 @@ dependencies = [ [[package]] name = "align-cli" -version = "0.3.2" +version = "0.3.3" dependencies = [ "align-core", "align-decode", @@ -56,7 +56,7 @@ dependencies = [ [[package]] name = "align-core" -version = "0.3.2" +version = "0.3.3" dependencies = [ "bincode", "blake3", @@ -73,7 +73,7 @@ dependencies = [ [[package]] name = "align-decode" -version = "0.3.2" +version = "0.3.3" dependencies = [ "align-core", "blake3", @@ -99,7 +99,7 @@ dependencies = [ [[package]] name = "align-gpui" -version = "0.3.2" +version = "0.3.3" dependencies = [ "align-core", "align-decode", @@ -121,7 +121,7 @@ dependencies = [ [[package]] name = "align-mcp" -version = "0.3.2" +version = "0.3.3" dependencies = [ "serde_json", ] diff --git a/Cargo.toml b/Cargo.toml index 65e8e61..e7727d7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ resolver = "2" edition = "2024" rust-version = "1.85" license = "GPL-3.0-only" -version = "0.3.2" +version = "0.3.3" [workspace.dependencies] align-core = { path = "crates/align-core" } diff --git a/README.md b/README.md index 27d51f8..5b17543 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,10 @@ Synchronize camera footage and separately recorded audio using waveforms, timecode, and recording metadata. -Download for macOS  -Download for Windows +Download for macOS  +Download for Windows -Version 0.3.2 · [Linux (Fedora, Arch) and all downloads](https://github.com/FedyaLight/align/releases/latest) +Version 0.3.3 · [Linux (Fedora, Arch) and all downloads](https://github.com/FedyaLight/align/releases/latest) Align synchronizing a multicam shoot: cameras and recorders dropped in, clips turn green on one timeline diff --git a/Support/Linux/com.align.app.metainfo.xml b/Support/Linux/com.align.app.metainfo.xml index ec53fa8..cbf3a30 100644 --- a/Support/Linux/com.align.app.metainfo.xml +++ b/Support/Linux/com.align.app.metainfo.xml @@ -18,6 +18,7 @@ align +