v1.9.2 — Cloud-placeholder materialization + clearer ffmpeg errors
Two fixes since v1.9.0.
v1.9.1 — silent install failure under user-home domain
Postinstall hook now correctly handles user-home installs. Previously failed silently if the user installed to ~/Applications instead of system /Applications.
v1.9.2 — cloud-placeholder materialization + clearer ffmpeg errors
Right-clicking a file that's an APFS dataless placeholder (iCloud Drive, OneDrive, Dropbox cloud-on-demand) hit ffmpeg with Resource deadlock avoided (EDEADLK). Services-launched bash scripts lack the TCC permission ffmpeg's open() needs to trigger materialize-on-open inside the kernel, so the file never got pulled down and the analyzer reported "No audio stream found" — misleading.
bks-audio-tools.sh now:
- Probes for the APFS dataless flag via
ls -lObefore invoking ffmpeg, and force-materializes by reading the file in this script's context (where TCC does grant the permission ffmpeg lacks). - Classifies ffmpeg failures:
- Resource deadlock / Permission denied / Operation not permitted → "cloud placeholder, open it in Finder" guidance
- No such file → "file not found"
- Invalid data / moov atom → "ffmpeg couldn't parse this as audio"
- otherwise the old "No audio stream" message stands
No changes to the loudness analysis pipeline, report formatting, or the conversion paths — all of which read the same materialized bytes.
Installer
Signed and notarized .pkg installer will be attached as a release asset shortly (uploading from the build machine).