install.sh now sets the hostname (default radxa-mixer, --hostname or
--keep-hostname to override) after a successful install so Avahi
advertises NAME.local, and the web mixer listens on port 80. The web
server's host check already accepts HOSTNAME.local.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The board stays hidden by default, so new phones could only pair via an
SSH session. Add 'radxa-audio discoverable on|off' backed by a transient
radxa-bt-pairing unit that auto-approves and trusts devices pairing in
the window, expires on its own, and expose it in the web mixer with a
countdown.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
SBC medium, not the larger buffer, removed the headphone relay dropouts,
so cut dmix, bluealsa-aplay and alsaloop buffers to 200 ms and the
Shairport backend buffer to 0.15 s. Verified by listening (iPhone ->
headphones, with AirPlay mixed in) with no RTP loss or underruns.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One-shot bluetoothctl pairing exited before SSP finished, leaving the
headphone paired but not bonded, so it was lost on reboot. Pair inside a
single bluetoothctl session with a persistent agent, and clear temporary
pairings first. Document that SBC medium + 500 ms buffer removed the
iPhone -> Radxa -> headphone dropouts, verified by listening and logs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>