radieo/.gitignore
Pierre-Olivier Mercier d1db6a11d8 Milestone 4: yt-dlp provider and weighted source scheduler
Add a second playback source and a weighted scheduler mixing it with
Navidrome:

- Scheduler picks a provider by SOURCE_WEIGHTS, falling through to the
  others when one has nothing ready, so no source can stall playback.
- YtdlpProvider reads a hand-maintained config/urls.txt; container URLs
  (playlist/album/label/artist) are flat-extracted and one entry is
  drawn at random, honouring the anti-repeat window. Adds Track.source_url.
- YtdlpFetcher downloads bestaudio via the yt-dlp library, reusing the
  atomic hidden-temp-then-rename pattern; Liquidsoap decodes the result.
- Queue now dispatches to a fetcher registry keyed by backend.
- Sweep orphaned download temp files on daemon startup (leftovers from a
  killed container otherwise pile up and trip the stream fallback).

Verified end-to-end: yt-dlp opus decoded and served as 192 kbps MP3, and
the 3:1 default mix observed in play history.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 17:58:24 +08:00

20 lines
310 B
Text

# Fichiers audio et état du cache (ne pas versionner)
/cache/*
!/cache/.gitkeep
# Secrets locaux
.env
# Liste de sources yt-dlp personnelle (garder seulement l'exemple)
/config/urls.txt
# État de l'ingestion (base SQLite persistante)
/state/
*.db
*.db-journal
*.db-wal
# Python
__pycache__/
*.pyc
.venv/