50 lines
1.6 KiB
Django/Jinja
50 lines
1.6 KiB
Django/Jinja
#!/usr/bin/liquidsoap
|
|
set("log.stdout", true)
|
|
set("log.file",false)
|
|
%include "cross.liq"
|
|
|
|
# Allow requests from Telnet (Liquidsoap Requester)
|
|
set("server.telnet", true)
|
|
set("server.telnet.bind_addr", "{{ liquidsoap_host }}")
|
|
set("server.telnet.port", {{ liquidsoap_port }})
|
|
set("server.telnet.reverse_dns", false)
|
|
|
|
# WOW's station track auto-playlist
|
|
#+ randomized track playback from the playlist path
|
|
#+ play a new random track each time LS performs select()
|
|
#+ 90-second timeout on remote track preparation processes
|
|
#+ 1.0-hour maximum file length (in case things "run away")
|
|
#+ 0.5-hour default file length (in case things "run away")
|
|
plist = playlist(
|
|
id="playlist",
|
|
length=30.0,
|
|
default_duration=30.0,
|
|
timeout=90.0,
|
|
mode="random",
|
|
reload=300,
|
|
reload_mode="seconds",
|
|
mime_type="audio/ogg",
|
|
"{{ dir_music }}"
|
|
)
|
|
|
|
# Request Queue from Telnet (Liquidsoap Requester)
|
|
requests = request.queue(id="requests")
|
|
|
|
# Start building the feed with music
|
|
radio = plist
|
|
|
|
# Add in our on-disk security
|
|
radio = fallback(id="switcher",track_sensitive = true, [requests, radio, blank(duration=5.)])
|
|
|
|
# uncomment to normalize the audio stream
|
|
#radio = normalize(radio)
|
|
|
|
# iTunes-style (so-called "dumb" - but good enough) crossfading
|
|
full = smart_crossfade(start_next=8., fade_in=6., fade_out=6., width=2., conservative=true, radio)
|
|
|
|
output.icecast(%vorbis.cbr(samplerate=48000, channels=2, bitrate=164),
|
|
host = "{{ icecast2_bind_host }}", port = {{ icecast2_bind_port }},
|
|
icy_metadata="true", description="{{ liquidsoap_description }}",
|
|
password = "{{ icecast2_source_password }}", mount = "{{ icecast2_mount }}",
|
|
full)
|