Skip to content

Instantly share code, notes, and snippets.

@sistematico
Last active October 17, 2019 04:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sistematico/f99a3170bded88c3cb2e473ca4829e31 to your computer and use it in GitHub Desktop.
Save sistematico/f99a3170bded88c3cb2e473ca4829e31 to your computer and use it in GitHub Desktop.
LiquidSoap Example
#!/usr/bin/liquidsoap
# Sem pedidos...
set("log.file.path","/tmp/liquidsoap.log")
#set("log.stdout", true)
set("harbor.bind_addr","0.0.0.0")
def crossfade(a,b)
add(normalize=false,[sequence([blank(duration=5.),fade.initial(duration=9.,b)]),fade.final(duration=9.,a)])
end
def next(j,a,b)
add(normalize=false,[sequence(merge=true,[blank(duration=3.),fade.initial(duration=6.,b) ]),sequence([fade.final(duration=9.,a),j,fallback([])]) ])
end
def transition(j,a,b)
add(normalize=false,[fade.initial(b),sequence(merge=true,[blank(duration=1.),j,fallback([])]),fade.final(a)])
end
default = single("/opt/audio/default.mp3")
lista = playlist("/opt/radio/principal.pls")
live = strip_blank(input.harbor("live",port=8080,password="senha"))
sua_radio = fallback(track_sensitive=false,transitions=[crossfade,transition(lista)],[live,lista,default])
output.icecast(%mp3,sua_radio,host="localhost",url="https://site.com",name="Web Radio",description="Alguma descrição",port=8000,password="senha",mount="stream")
#!/usr/bin/liquidsoap
# Com sistema de pedidos...
# Log dir
set("log.file.path","/var/log/liquidsoap.log")
# local telnet server only, port 1234
set("server.telnet", true)
# Live
set("harbor.bind_addr","0.0.0.0")
set("harbor.password","hackme")
set("harbor.port",8002)
set("harbor.username","dj")
set("harbor.icy",true)
# Default
default = single("/home/lucas/audio/intro.mp3")
# Live
#live = input.harbor(port=9000,"/")
# Lista
lista = mksafe(playlist("/etc/liquidsoap/lista.m3u",reload_mode="watch"))
# Jingles
jingles = playlist("/etc/liquidsoap/jingles.m3u")
# Horarios
manha = playlist("/etc/liquidsoap/manha.m3u",reload_mode="watch")
tarde = playlist("/etc/liquidsoap/tarde.m3u",reload_mode="watch")
noite = playlist("/etc/liquidsoap/noite.m3u",reload_mode="watch")
madrugada = playlist("/etc/liquidsoap/madrugada.m3u",reload_mode="watch")
# Requests
def pedidos() =
result = list.hd(get_process_lines("/usr/bin/php /var/www/site.com/engine.php"))
request.create(result)
end
# Create the source
pedido = request.dynamic(pedidos)
#horarios = fallback([request.queue(id="request"),switch([({6h-22h},day),({22h-6h},night)]),lista])
horarios = fallback([pedido,switch([({6h-12h},manha),({12h-18h},tarde),({18h-0h},noite),({0h-6h},madrugada)]),default])
streams = random(weights=[1,1,1],[jingles,horarios,lista])
# Add the ability to relay live shows
full = fallback(track_sensitive=false,[input.http("http://localhost:8000/stream"),streams])
output.icecast(%mp3,
host="localhost",port=8000,
password="hackme",mount="/stream",
icy_metadata="true",
genre = "Rock",
description = "Algum slogan...",
name = "Sua Radio",
url = "https://site.net",
full)
#mksafe(playlist("/etc/liquidsoap/lista.m3u")))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment