mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 16:46:17 +00:00
Add a provider-neutral station orchestration layer and expose it in the CLI so TuneIn and Radio Browser search work consistently without depending on the speaker's (dead) cloud search. Substance of #338. - pkg/service/stations: new package with Search/SearchNext/Navigate/ ResolveContentItem/Play over both providers; centralises the SourceAccount placeholder guard. - soundtouchweb: the six TuneIn/Radio Browser handlers become thin adapters over the new package (behaviour preserved; bmxpkg retained for HandlePlayURL). - bmx/radiobrowser: add offset/cursor pagination (RadioBrowserSearchPage + RadioBrowserSearchNext) mirroring the TuneIn opaque-cursor pattern; BmxNext only on full pages. - marge: classifyLearnedSource gains a provider-39 (RADIO_BROWSER) case + classifyAsRadioBrowser helper (candidate fix for #334 INVALID_SOURCE; location-substring match still to be confirmed against a real recording). - cli: new `station search-radiobrowser` sibling and unified `station find --provider tunein|radiobrowser [--more]`. The existing generic device-side `station search --source` is kept unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>