Add the Python `ingest` container exposing `GET /next`, which returns the next track as an annotated Liquidsoap URI (or an empty body when nothing is ready). Liquidsoap switches from a static playlist to a `request.dynamic` source pulling from the daemon, with the local cache as fallback and mksafe for guaranteed continuous output. For now the daemon just cycles through the files already in the cache; the download providers (Navidrome, yt-dlp, ListenBrainz) come in later milestones. Also commit the implementation plan (PLAN.md). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 lines
169 B
Python
5 lines
169 B
Python
"""radieo ingestion daemon.
|
|
|
|
Decides what to play next, keeps a queue of ready tracks and exposes the next
|
|
one over HTTP for the Liquidsoap stream layer to pick up.
|
|
"""
|