Each playlist now has its own station checkboxes in Settings.
Sync scrapes the union of all stations once, then filters songs
by source before syncing each playlist separately.
Config stored as PLAYLISTS JSON: [{name, stations}, ...].
Backward-compatible with flat PLAYLIST_NAME + SELECTED_STATIONS.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- PLAYLIST_NAMES config key (comma-separated list); falls back to PLAYLIST_NAME
- run_update_job syncs songs to every configured playlist, merges results
- Settings form: dynamic add/remove playlist rows instead of single input
- get_web_config reads config.json directly so form is consistent in
container environments where env vars override runtime config
- Playlist tab: dropdown to pick which playlist to browse when multiple exist
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>