Radio Autómata

Programando la radio

La estación funciona con el siguiente código para liquidsoap

# Directorio para guardar el log
set("log.file.path","~/radio-fin.log")

#Este archivo contiene el password
%include "nombres.liq"

#función para evitar repeticiones al recargar lista
l = playlog()
def check(r)
  m = request.metadata(r)
  if l.last(m) < 3600. then
    log.info("Rejecting #{m['filename']} (played #{l.last(m)}s ago)")
    false
  else
    l.add(m)
    true
  end
end


#Para mostrar al artista y nombre de la canción en datos

def append_title(m) =
  # Leer el actuan nombre en metadatos
  title = m["title"]
  artist = m["artist"]

  # Regresa un nuevo título en metadatos
  [("title","#{artist} - #{title}")]
end


# Música
madrugada = playlist(reload_mode="watch", check_next=check, "/home/pi/Music/modorra.m3u")
manana = playlist(reload_mode="watch", check_next=check,"~/mananita.m3u")
medio = playlist(reload_mode="watch", check_next=check,"~/recargar_pila.m3u")
tarde = playlist(reload_mode="watch", check_next=check,"~/cafecito.m3u")
noche = playlist(reload_mode="watch", check_next=check,"~/a_mimir.m3u")

# Algunos jingles
jingles = playlist(reload_mode="watch", "~/peliculas_gachas.m3u")

# Si algo sale mal, se reproducirá esto
security = single("~/control.ogg")

# Contruye la programación
radio = switch([({0h-8h}, madrugada),
                ({8h-12h}, manana),
                ({12h-15h}, medio),
                ({15h-18h}, tarde),
                ({18h-0h}, noche)])

# Agrega los jingles
radio = random(weights = [1, 4],[jingles, radio])

#Cortar en caso de silencios prolongados (hay un error aquí)
radio = blank.strip(max_blank=10., min_noise=.1, threshold=-20., radio)

# Y finalmente el track de respaldo
radio = fallback(track_sensitive = false, [radio, security])

#Nomalización
radio = nrj(radio)

#Metadata
radio = map_metadata(append_title, radio)

# A transmitir
output.icecast(%vorbis,
  host = "giss.tv", port = 8000,
  password = radio_pass, mount = "mi_emision.ogg",
  radio)

#código #liquidsoap #radio