54 lines
2.0 KiB
Plaintext
54 lines
2.0 KiB
Plaintext
#!/usr/bin/liquidsoap
|
|
# DO NOT EDIT! WILL BE REPLACED WITH A NEW UPDATE!
|
|
|
|
%include "radio.vars.liq"
|
|
|
|
def fullpath(p)
|
|
string.concat([radio_dir, p])
|
|
end
|
|
|
|
def xfade(a, b)
|
|
add(normalize = false,
|
|
[ sequence([ blank(duration = 2.),
|
|
fade.initial(duration = 2., b)]),
|
|
fade.final(duration = 2., a)])
|
|
end
|
|
|
|
def fallback_alter_title(m) =
|
|
[("artist", radio_name),
|
|
("title", string.concat(["No stream. (Playing ", m["artist"], " - ", m["title"], ")"]))]
|
|
end
|
|
|
|
settings.server.telnet.set(false)
|
|
settings.harbor.bind_addrs.set(["0.0.0.0"])
|
|
settings.log.level.set(2)
|
|
settings.log.file.set(true)
|
|
settings.log.file.path.set(log_file_path)
|
|
settings.log.stdout.set(false)
|
|
|
|
fallback_song = mksafe(single(fullpath("fallback.mp3")))
|
|
fallback_song = map_metadata(fallback_alter_title, fallback_song)
|
|
|
|
live_mixin = input.harbor("adr-live-mixin", port = harbor_port, password = harbor_password)
|
|
live_show = input.harbor("adr-live-show", port = harbor_port, password = harbor_password)
|
|
live_show = map_metadata(fun (_) -> [("artist", radio_name), ("title", "Live Show")], live_show)
|
|
|
|
playlist_random = playlist(fullpath("playlists/all-rand"),
|
|
prefix = fullpath("music/"),
|
|
mode = "normal", reload_mode = "watch")
|
|
|
|
music = audio_to_stereo(playlist_random)
|
|
|
|
radio = smooth_add(p = 0.18, normal = music, special = live_mixin)
|
|
radio = fallback(track_sensitive = false,
|
|
transitions = [xfade, xfade, xfade],
|
|
[ blank.strip(max_blank=15., live_show),
|
|
blank.strip(max_blank=90., radio), fallback_song])
|
|
radio = normalize(radio)
|
|
|
|
output.icecast(%vorbis.cbr(bitrate = 128, samplerate = 44100, channels = 2),
|
|
host = icecast_host, port = icecast_port,
|
|
password = icecast_password, encoding = "utf-8",
|
|
name = radio_name, description = radio_desc, public = true,
|
|
mount = icecast_mount, url = radio_url, genre = icecast_genre,
|
|
radio) |