mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 00:26:29 +00:00
Adds the CLI-first surface for the DLNA feature (https://github.com/gesellix/Bose-SoundTouch/discussions/213), so the discovery/browse/play plumbing can be exercised against a real media server and speaker without the web build loop. - soundtouch-cli library servers: app-side SSDP sweep (discovery.DiscoverMediaServers); --via-speaker queries the speaker's own /listMediaServers instead, for an A/B of the two views. - soundtouch-cli library browse --udn <id> [--object --start --count]: dlna.Browse of a discovered server's ContentDirectory. - soundtouch-cli library play --url <streamURL> --mode <...>: plays a track URL on a speaker; --mode selects the playback path (local-internet-radio, local-music, stored-music, content-item) so the best one can be found empirically on hardware. - pkg/client.ListMediaServers() + models.ListMediaServersResponse for the speaker-native (Option 2) path; an empty <ListMediaServersResponse /> parses to an empty slice. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>