docs/podcasts.md: Podcast-Radio geplant (neueste ungehörte Strom-Folge, keine Spuren, eigene Radio-gehört-Liste)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
89827086ba
commit
21f5e33e57
1 changed files with 26 additions and 0 deletions
|
|
@ -92,6 +92,32 @@ One controlled step out (Apple's episode search and fyyd; no key):
|
|||
|
||||
Show search stays on Apple (best coverage).
|
||||
|
||||
## Podcast-Radio (planned 2026-10-25)
|
||||
|
||||
Listening without committing: one button plays the Strom like a station.
|
||||
|
||||
- **The rule**: the radio always plays the **newest** (publication date) Strom episode that is
|
||||
neither played, nor started (normally), nor done for the radio. So an episode that comes out
|
||||
while one plays is next (the one playing isn't interrupted); otherwise it goes back in time,
|
||||
without limit. Auf Abruf podcasts and audiobooks aren't in the Strom, so not in the radio.
|
||||
- **Leaves no trace**: no progress (no Verlauf, no "Angefangen", no played mark, not counted in
|
||||
`heard_365`), the Wiedergabeliste and Merkliste unchanged, nothing downloaded (it streams; a
|
||||
downloaded file plays if there is one), the Strom's marks unchanged.
|
||||
- **Done for the radio**: run to its end or skipped (⏭, notification, headset, car). Pausing
|
||||
isn't: the radio keeps its episode and place for itself, ▶ goes on there.
|
||||
- **Committing**: in the player while the radio plays, + (Merkliste) and "Normal weiterhören"
|
||||
(first in the Wiedergabeliste at the current place; from then on it plays as usual, with
|
||||
progress). Playing anything normally switches the radio off (as an audiobook does).
|
||||
- **Server**: `PodcastRadioHeard(user, episode, at)`, kept apart from progress, pruned after 60
|
||||
days. `GET /podcasts/radio/?limit=5` → the next episodes by the rule (`{episodes: [...]}`, the
|
||||
rows of the episode lists); `POST /podcasts/radio/heard/ {"episode_id"}`. Shared by all devices.
|
||||
- **Clients** (both at once): Android (`PodcastRadio.kt` beside `BookPlay.kt`: the playlist is
|
||||
[current, next]; RadioService's `save()` / `markPlayed()` / `followQueue()` leave radio items
|
||||
alone; reloads before each transition and every 10 minutes while playing — the server fetches
|
||||
feeds every 15 minutes) and the web player (`podcasts-web.js`, so the browser and the desktop
|
||||
app). Button "📻 Radio" at the top of the Strom; the mini player's ▶ goes on with the radio.
|
||||
- Later perhaps: a radio of one folder, a longest length.
|
||||
|
||||
## Moving over
|
||||
|
||||
- Today's queue (74) becomes the Merkliste; the Wiedergabeliste starts empty.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue