mirror of
https://github.com/sanderfoobar/ircradio.git
synced 2024-12-22 18:52:39 +01:00
203 lines
5.9 KiB
Plaintext
203 lines
5.9 KiB
Plaintext
#!/usr/bin/liquidsoap
|
|
set("log.stdout", true)
|
|
set("log.file",false)
|
|
|
|
# Allow requests from Telnet (Liquidsoap Requester)
|
|
set("server.telnet", true)
|
|
set("server.telnet.bind_addr", "127.0.0.1")
|
|
set("server.telnet.port", 7555)
|
|
set("server.telnet.reverse_dns", false)
|
|
|
|
|
|
pmain = playlist(
|
|
id="playlist",
|
|
timeout=90.0,
|
|
mode="random",
|
|
reload=300,
|
|
reload_mode="seconds",
|
|
mime_type="audio/ogg",
|
|
"/home/radio/ircradio/data/music"
|
|
)
|
|
|
|
|
|
# ==== ANJUNADEEP
|
|
panjunadeep = playlist(
|
|
id="panjunadeep",
|
|
timeout=90.0,
|
|
mode="random",
|
|
reload=300,
|
|
reload_mode="seconds",
|
|
mime_type="audio/ogg",
|
|
"/home/radio/mixes/anjunadeep/"
|
|
)
|
|
|
|
# ==== BERLIN
|
|
pberlin = playlist(
|
|
id="berlin",
|
|
timeout=90.0,
|
|
mode="random",
|
|
reload=300,
|
|
reload_mode="seconds",
|
|
mime_type="audio/ogg",
|
|
"/home/radio/mixes/berlin/"
|
|
)
|
|
|
|
# ==== BREAKBEAT
|
|
pbreaks = playlist(
|
|
id="breaks",
|
|
mode="random",
|
|
reload=300,
|
|
reload_mode="seconds",
|
|
mime_type="audio/ogg",
|
|
"/home/radio/mixes/breakbeat/"
|
|
)
|
|
|
|
# ==== DNB
|
|
pdnb = playlist(
|
|
id="dnb",
|
|
timeout=90.0,
|
|
mode="random",
|
|
reload=300,
|
|
reload_mode="seconds",
|
|
mime_type="audio/ogg",
|
|
"/home/radio/mixes/dnb/"
|
|
)
|
|
|
|
# ==== RAVES
|
|
praves = playlist(
|
|
id="raves",
|
|
timeout=90.0,
|
|
mode="random",
|
|
reload=300,
|
|
reload_mode="seconds",
|
|
mime_type="audio/ogg",
|
|
"/home/radio/mixes/raves/"
|
|
)
|
|
|
|
# ==== TRANCE
|
|
ptrance = playlist(
|
|
id="trance",
|
|
timeout=90.0,
|
|
mode="random",
|
|
reload=300,
|
|
reload_mode="seconds",
|
|
mime_type="audio/ogg",
|
|
"/home/radio/mixes/trance/"
|
|
)
|
|
|
|
# ==== WEED
|
|
pweed = playlist(
|
|
id="weed",
|
|
timeout=90.0,
|
|
mode="random",
|
|
reload=300,
|
|
reload_mode="seconds",
|
|
mime_type="audio/ogg",
|
|
"/home/radio/mixes/weed/"
|
|
)
|
|
|
|
req_pmain = request.queue(id="pmain")
|
|
req_panjunadeep = request.queue(id="panjunadeep")
|
|
req_pberlin = request.queue(id="pberlin")
|
|
req_pbreaks = request.queue(id="pbreaks")
|
|
req_pdnb = request.queue(id="pdnb")
|
|
req_praves = request.queue(id="praves")
|
|
req_ptrance = request.queue(id="ptrance")
|
|
req_pweed = request.queue(id="pweed")
|
|
|
|
pmain = fallback(id="switcher",track_sensitive = true, [req_pmain, pmain, blank(duration=5.)])
|
|
panjunadeep = fallback(id="switcher",track_sensitive = true, [req_panjunadeep, panjunadeep, blank(duration=5.)])
|
|
pberlin = fallback(id="switcher",track_sensitive = true, [req_pberlin, pberlin, blank(duration=5.)])
|
|
pbreaks = fallback(id="switcher",track_sensitive = true, [req_pbreaks, pbreaks, blank(duration=5.)])
|
|
pdnb = fallback(id="switcher",track_sensitive = true, [req_pdnb, pdnb, blank(duration=5.)])
|
|
praves = fallback(id="switcher",track_sensitive = true, [req_praves, praves, blank(duration=5.)])
|
|
ptrance = fallback(id="switcher",track_sensitive = true, [req_ptrance, ptrance, blank(duration=5.)])
|
|
pweed = fallback(id="switcher",track_sensitive = true, [req_pweed, pweed, blank(duration=5.)])
|
|
|
|
# iTunes-style (so-called "dumb" - but good enough) crossfading
|
|
pmain_crossed = crossfade(pmain)
|
|
pmain_crossed = mksafe(pmain_crossed)
|
|
|
|
output.icecast(%vorbis.cbr(samplerate=48000, channels=2, bitrate=164),
|
|
host = "10.7.0.3", port = 24100,
|
|
send_icy_metadata=true, description="WOW!Radio",
|
|
password = "lel", mount = "wow.ogg",
|
|
pmain_crossed)
|
|
|
|
|
|
output.icecast(%vorbis.cbr(samplerate=48000, channels=2, bitrate=164),
|
|
host = "10.7.0.3", port = 24100,
|
|
send_icy_metadata=true, description="WOW!Radio | Anjunadeep",
|
|
password = "lel", mount = "anjunadeep.ogg",
|
|
panjunadeep)
|
|
|
|
|
|
output.icecast(%vorbis.cbr(samplerate=48000, channels=2, bitrate=164),
|
|
host = "10.7.0.3", port = 24100,
|
|
send_icy_metadata=true, description="WOW!Radio | Berlin",
|
|
password = "lel", mount = "berlin.ogg",
|
|
pberlin)
|
|
|
|
|
|
output.icecast(%vorbis.cbr(samplerate=48000, channels=2, bitrate=164),
|
|
host = "10.7.0.3", port = 24100,
|
|
send_icy_metadata=true, description="WOW!Radio | Breakbeat",
|
|
password = "lel", mount = "breaks.ogg",
|
|
pbreaks)
|
|
|
|
|
|
output.icecast(%vorbis.cbr(samplerate=48000, channels=2, bitrate=164),
|
|
host = "10.7.0.3", port = 24100,
|
|
send_icy_metadata=true, description="WOW!Radio | Dnb",
|
|
password = "lel", mount = "dnb.ogg",
|
|
pdnb)
|
|
|
|
|
|
output.icecast(%vorbis.cbr(samplerate=48000, channels=2, bitrate=164),
|
|
host = "10.7.0.3", port = 24100,
|
|
send_icy_metadata=true, description="WOW!Radio | Trance",
|
|
password = "lel", mount = "trance.ogg",
|
|
ptrance)
|
|
|
|
|
|
output.icecast(%vorbis.cbr(samplerate=48000, channels=2, bitrate=164),
|
|
host = "10.7.0.3", port = 24100,
|
|
send_icy_metadata=true, description="WOW!Radio | Weed",
|
|
password = "lel", mount = "weed.ogg",
|
|
pweed)
|
|
|
|
output.icecast(%vorbis.cbr(samplerate=48000, channels=2, bitrate=128),
|
|
host = "10.7.0.3", port = 24100,
|
|
send_icy_metadata=true, description="WOW!Radio | Rave",
|
|
password = "lel", mount = "rave.ogg",
|
|
praves)
|
|
|
|
|
|
def get_now_playing_filepaths(_)
|
|
def null_list(key, _list)
|
|
list.assoc.mem(key, _list) ? list.assoc(key, _list) : null()
|
|
end
|
|
|
|
pmain_meta = pmain.last_metadata() ?? []
|
|
panjunadeep_meta = panjunadeep.last_metadata() ?? []
|
|
pberlin_meta = pberlin.last_metadata() ?? []
|
|
pbreaks_meta = pbreaks.last_metadata() ?? []
|
|
pdnb_meta = pdnb.last_metadata() ?? []
|
|
praves_meta = praves.last_metadata() ?? []
|
|
ptrance_meta = ptrance.last_metadata() ?? []
|
|
pweed_meta = pweed.last_metadata() ?? []
|
|
|
|
pmain_filename = null_list("filename", pmain_meta)
|
|
panjunadeep_filename = null_list("filename", panjunadeep_meta)
|
|
pberlin_filename = null_list("filename", pberlin_meta)
|
|
pbreaks_filename = null_list("filename", pbreaks_meta)
|
|
pdnb_filename = null_list("filename", pdnb_meta)
|
|
praves_filename = null_list("filename", praves_meta)
|
|
ptrance_filename = null_list("filename", ptrance_meta)
|
|
pweed_filename = null_list("filename", pweed_meta)
|
|
|
|
"pmain_filename=#{pmain_filename}\npanjunadeep_filename=#{panjunadeep_filename}\npberlin_filename=#{pberlin_filename}\npbreaks_filename=#{pbreaks_filename}\npdnb_filename=#{pdnb_filename}\npraves_filename=#{praves_filename}\nptrance_filename=#{ptrance_filename}\npweed_filename=#{pweed_filename}\n"
|
|
end
|
|
|
|
server.register("now_playing", get_now_playing_filepaths)
|