77 lines
2.3 KiB
Plaintext
77 lines
2.3 KiB
Plaintext
set("log.file",false)
|
|
set("log.stdout",true)
|
|
|
|
set("server.telnet",true)
|
|
set("server.telnet.port", 5000)
|
|
set("server.telnet.bind_addr", "0.0.0.0")
|
|
|
|
set("decoder.file_extensions.gstreamer",["wav", "webm"])
|
|
set("decoder.mime_types.gstreamer",["audio/x-wav", "audio/wav", "video/webm"])
|
|
|
|
def crossfade(a,b)
|
|
add(normalize=false,
|
|
[ sequence([ blank(duration=5.),
|
|
fade.initial(duration=5.,b) ]),
|
|
fade.final(duration=5.,a) ])
|
|
end
|
|
|
|
live = audio_to_stereo(
|
|
rewrite_metadata(
|
|
[
|
|
("title", "$(title) (LIVE - Dodsorfas Radio)"),
|
|
("comment", "http://www.radio.dodsorf.as")
|
|
],
|
|
stretch(
|
|
ratio=interactive.float("test", 1.00005),
|
|
input.harbor(
|
|
"dodsorfas.live",
|
|
id="dodsorfas.live",
|
|
port=5002,
|
|
password=getenv("LIVE_PASSWORD"),
|
|
user="source",
|
|
logfile="/tmp/harbor.log"
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
normal_songs = playlist(reload=600, mime_type="application/x-mpegURL", "http://web/playlist.php")
|
|
halloween = playlist("/playlists/events/Halloween.m3u")
|
|
christmas = playlist("/playlists/events/Christmas.m3u")
|
|
|
|
requests = audio_to_stereo(drop_video(request.queue(id="request")))
|
|
|
|
jingles = playlist("/jingles")
|
|
|
|
def is_date(startd, startm, endd, endm)
|
|
localtime(time(), fun (~sec,~min,~hour,~mday,~mon,~year,~wday,~yday,~isdst) ->
|
|
mday >= startd and mon == startm-1 and mday <= endd and mon <= endm-1) # These are POSIX standards, mon: month of year [0,11]
|
|
end
|
|
|
|
default = switch([
|
|
({is_date(22, 10, 31, 10)}, random(weights = [1,5], [halloween, normal_songs])),
|
|
({is_date(1, 12, 28, 12)}, random(weights = [1,5], [christmas, normal_songs])),
|
|
({true}, normal_songs)
|
|
])
|
|
|
|
mix = blank()
|
|
mix = fallback(track_sensitive=false, [default, mix])
|
|
mix = fallback(track_sensitive=true, [requests,mix])
|
|
|
|
mix = random(weights=[9, 1], [mix, jingles])
|
|
|
|
mix = fallback(track_sensitive=false, transitions=[crossfade], [live, mix])
|
|
|
|
mix = normalize(mix)
|
|
mix = audio_to_stereo(mix)
|
|
|
|
# OUTPUTS
|
|
output.icecast(
|
|
password=getenv("HARBOR_PASSWORD"),
|
|
host=getenv("BROADCAST_PORT_5001_TCP_ADDR"),
|
|
port=int_of_string(getenv("BROADCAST_PORT_5001_TCP_PORT")),
|
|
%wav,
|
|
mount="dodsorfas.main",
|
|
mix
|
|
)
|