Repository navigation
LoseSound v1.0.0
Highlights
LoseSound 1.0 is the first public release. It manages the six SoundTouch preset buttons from a
small self-hosted web UI and stops using the home server for audio whenever the speaker can fetch
the stream itself.
- Four playback modes per preset:
orion(AfterTouch station, host-independent),speaker
(direct, only a small JSON description from LoseSound),radioBrowser(speaker talks to
radio-browser.info) andrelay(buffered audio through LoseSound as a fallback). - Stream check that follows redirects, detects tokenised URLs and recommends a mode.
- Setup diagnostics for AfterTouch (version, BMX registry, Orion endpoint), speaker marge URL,
radio sources and preset drift - with concrete hints instead of a misleading "ready". - Relay with prebuffering, real-time pacing, reconnect backoff, health endpoint and stream stats.
- Read-only
scripts/verify.py; 29 checks on the reference setup. - Multi-arch container image, pytest suite with fake speaker/AfterTouch/upstream, CI, CodeQL and
automated releases; MIT licensed.
Upgrade notes
config.jsonis migrated automatically (proxy->relay,direct->speaker).- Presets created with the old
directmode never played (they stored a raw stream URL). Set those
slots again with Direct, AfterTouch or Relay. - The container now runs as UID 10001. An old volume may need
docker run --rm -v losesound_preset_proxy_data:/data busybox chown -R 10001:10001 /data. orionrequires AfterTouch 0.99 or newer. Tested with AfterTouch 0.138.1 and a SoundTouch 20
(firmware 27.0.6); all six presets play without relay.
Container
docker pull ghcr.io/osxdoc/losesound:1.0.0See the README and docs/ for setup, modes, troubleshooting and the AfterTouch upgrade guide.