#!/usr/bin/liquidsoap # ============================================================================= # Local Radio Station — Liquidsoap Configuration # ============================================================================= # Source priority (highest to lowest): # 1. Podcast queue (from queue/ directory) # 2. Scheduled music (time/day-based playlists) # 3. Emergency fallback (static safe playlist) # ============================================================================= settings.log.file.path := "/opt/localradio/logs/liquidsoap.log" settings.log.level := 3 # --- Paths ------------------------------------------------------------------- music_base = "/opt/localradio/media/music" queue_dir = "/opt/localradio/state/queue" fallback_dir = "/opt/localradio/media/fallback" # --- Icecast output settings ------------------------------------------------- icecast_host = "localhost" icecast_port = 8000 icecast_password = "localradio_source" icecast_mount = "/stream" # --- Emergency Fallback ------------------------------------------------------ # A safe playlist that always has content. Put at least one audio file in # /opt/localradio/media/fallback/ to guarantee the stream never dies. fallback_source = playlist( mode = "randomize", reload_mode = "watch", fallback_dir ) # --- Scheduled Music Sources -------------------------------------------------- # Each playlist watches its directory for changes. If files are added/removed, # the playlist updates automatically. morning_music = playlist( mode = "randomize", reload_mode = "watch", "#{music_base}/morning" ) day_music = playlist( mode = "randomize", reload_mode = "watch", "#{music_base}/day" ) night_music = playlist( mode = "randomize", reload_mode = "watch", "#{music_base}/night" ) weekend_music = playlist( mode = "randomize", reload_mode = "watch", "#{music_base}/weekend" ) # --- Time-based music schedule ------------------------------------------------ # switch() picks the first matching source based on time predicates. # Predicates use: {