docs: document soundtouch-web preset-saving UI (★ star and + button)

EXTERNAL-HOST-WALKTHROUGH.md — Step 7 "Via soundtouch-web":
  Replaced the single save path with two labelled options:
  - ★ Star button: appears in the Now Playing card's top-right corner,
    opens a slot picker (1–6), turns gold once mapped.
  - + button: appears on each preset tile on hover, saves directly to
    that slot without a picker.
  Added a one-liner on when to use each.

PRESET-QUICKSTART.md:
  New "Via soundtouch-web (browser UI)" section added above the CLI
  section, covering both the ★ star and + paths with step-by-step
  instructions.

soundtouch-web-roadmap.md:
  - Added a "Shipped" callout noting that preset-slot saving is done.
  - Retitled the Favorites section to "Favorites (device-native, distinct
    from presets)" and added a note clarifying it refers to the speaker's
    /favorites API (different from the 6 preset slots) which is still
    pending.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Tobias Gesellchen
2026-05-26 22:47:13 +02:00
co-authored by Claude Sonnet 4.6
parent e117b472b1
commit 6c4c420b29
3 changed files with 70 additions and 12 deletions
@@ -7,7 +7,27 @@ sidebar:
## Overview
SoundTouch devices support 6 preset slots that can store your favorite content for instant access. This guide shows you how to manage presets using both the CLI and Go library.
SoundTouch devices support 6 preset slots that can store your favorite content for instant access. This guide shows you how to manage presets using the soundtouch-web UI, the CLI, or the Go library.
## Via soundtouch-web (browser UI)
**soundtouch-web** (default port **8080**) is the easiest way to manage presets without the command line. Two save paths are available whenever content is playing:
### ★ Star button — save from Now Playing
1. Navigate to your speaker's detail page.
2. Play any station or track (via Radio Browser, TuneIn, or the speaker's own sources).
3. A semi-transparent **★** appears in the top-right corner of the **Now Playing** card.
4. Click the star — a slot picker **1 · 2 · 3 · 4 · 5 · 6** opens.
5. Click the target slot number. The star turns gold once the current content is saved to at least one slot.
### + button — save directly to a preset tile
While something is playing, hover over any of the six **Preset** tiles. A small **+** button appears in the tile's corner; clicking it saves the current content to that slot immediately (no picker needed).
Use the **+** when you already know which slot you want; use the **★** when you want to pick the slot after you've decided to save.
---
## Quick CLI Usage
@@ -8,6 +8,12 @@ app's local-control functionality. Everything else in Stockholm (OAuth flows,
setup wizard, service account linking, onboarding, analytics) is cloud
infrastructure that is either shut down or already handled by soundtouch-service.
> **Shipped:** Saving the current content to a preset slot (slots 16) is
> already implemented — a ★ star button in the top-right corner of the Now
> Playing card opens a slot picker, and a **+** button on each preset tile
> saves to that slot directly. See [PRESET-QUICKSTART.md](PRESET-QUICKSTART.md)
> for usage details.
---
## 1. Seek / scrub
@@ -37,10 +43,16 @@ func (c *Client) Seek(positionSeconds int) error {
---
## 2. Favorites
## 2. Favorites (device-native, distinct from presets)
Mark or unmark the currently playing track as a favourite directly from the
Now Playing card.
> **Note:** This section is about the speaker's **built-in** `/favorites` API —
> a separate concept from the 6 preset slots. Preset-slot saving (★ star /
> **+** button) is already shipped; the native Favorites API is not yet
> surfaced in soundtouch-web.
Mark or unmark the currently playing track as a device favourite directly from
the Now Playing card. Unlike presets (maximum 6, numbered slots), the device
can hold a larger favourites list; support varies by source.
**Device API:**
- `GET /favorites` — returns `<favorites>` list
@@ -49,7 +49,8 @@ Check that the service is running:
systemctl status soundtouch-service
```
The Admin UI is now at **`http://<pi-ip>:8000`** — open it in a browser.
The Admin UI is now at **`http://<pi-ip>`** (port 80: the Raspberry Pi
installer defaults to port 80, not 8000) — open it in a browser.
### Other Linux hosts (systemd)
@@ -166,15 +167,40 @@ curl -s http://192.0.2.1:8090/sources
## Step 7 — Set up preset buttons (optional)
### Via the AfterTouch web UI
### Via soundtouch-web
1. Open **`http://<host-ip>:8000`** and navigate to your speaker.
2. Use the **Radio Browser** or **TuneIn** tab to find a station.
3. Click the station to play it.
4. Click **Store as preset → slot 1** (or whichever slot you want).
5. Repeat for slots 26.
The Radio Browser, TuneIn tabs, and preset saving live in
**soundtouch-web**, a separate binary from the service. Run it on your
host and open **`http://<host-ip>:8080`** in your browser (default port
8080).
### Via soundtouch-cli (any machine on the LAN)
> **Raspberry Pi note:** The Raspberry Pi installer (`install.sh`) only
> installs `soundtouch-service`. Download `soundtouch-web` separately from
> the [Releases page](https://github.com/gesellix/Bose-SoundTouch/releases)
> and start it alongside the service.
soundtouch-web provides two ways to save what's currently playing to a
preset slot:
**★ Star button in the Now Playing card**
1. Open **`http://<host-ip>:8080`** and navigate to your speaker.
2. Use the **Radio Browser** or **TuneIn** tab to find a station and click
it to play.
3. A semi-transparent **★** appears in the top-right corner of the
**Now Playing** card. Click it — a slot picker (16) opens. Select
the target preset number. The star turns gold once the content is
mapped to at least one slot.
4. Repeat for each station you want to save.
**+ button on the preset grid**
Alternatively, while something is playing you can hover over any of the six
preset tiles in the **Presets** row. A small **+** button appears in the
corner of each tile; clicking it saves the current content directly to that
slot.
### Alternatively — storing presets via soundtouch-cli (any machine on the LAN)
Download the CLI for your machine from the
[Releases page](https://github.com/gesellix/Bose-SoundTouch/releases), then: