57 lines
2.1 KiB
Plaintext
57 lines
2.1 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.in(duration = 2., b)]),
|
|
fade.out(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 := false
|
|
settings.harbor.bind_addrs := ["0.0.0.0"]
|
|
settings.log.level := 1
|
|
settings.log.file := true
|
|
settings.log.file.path := log_file_path
|
|
settings.log.stdout := false
|
|
|
|
enable_replaygain_metadata()
|
|
|
|
fallback_song = mksafe(single(fullpath("fallback.ogg")))
|
|
fallback_song = metadata.map(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 = metadata.map(fun (_) -> [("artist", radio_name), ("title", "Live Show")], live_show)
|
|
|
|
playlist_random = playlist(fullpath("playlists/all-rand"),
|
|
prefix = string.concat(["replaygain:", fullpath("music/")]),
|
|
mode = "normal", reload_mode = "watch")
|
|
|
|
music = audio_to_stereo(playlist_random)
|
|
music = replaygain(music)
|
|
|
|
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(target = -12., threshold = -40., lufs = true, 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) |