v0.9.4 — ALAC (Apple Lossless) playback in M4A
Added
- ALAC (Apple Lossless) playback, in the M4A container (
.m4a) — the same bit-perfect, whole-track-in-RAM path as WAV/FLAC/AIFF. Handles 16 and 24-bit ALAC (what iTunes/Music.app actually produce), any channel count,-dirfolder playback and mixed-format playlists. - Vendors Apple's own open-sourced ALAC reference decoder (
src/alac.h, Apache License 2.0) in the same single-header style asdr_flac.h.
Fixed
- The upstream ALAC endianness-detection macro only recognised
__i386__/__x86_64__, silently treating Apple Silicon as big-endian — would have corrupted the magic cookie on an arm64 build. Fixed while vendoring, before it ever shipped.
Why
Requested directly by a user: iTunes/Music.app rips and purchases are commonly ALAC-in-M4A, and until now bpplay had no way to play them bit-perfect without a manual re-encode to FLAC.
Verified bit-exact against reference PCM (zero differing bytes) for both 16-bit/44.1kHz and 24-bit/96kHz test files. See CHANGELOG.md for full details.