Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # WARNING! This file is automatically generated by AzuraCast.
- # Do not update it directly!
- set("init.daemon", false)
- set("init.daemon.pidfile.path","/var/azuracast/stations/allesradiozwei/config/liquidsoap.pid")
- set("log.file.path","/var/azuracast/stations/allesradiozwei/config/liquidsoap.log")
- set("server.telnet",true)
- set("server.telnet.bind_addr","127.0.0.1")
- set("server.telnet.port", 8004)
- set("harbor.bind_addrs",["0.0.0.0"])
- set("tag.encodings",["UTF-8","ISO-8859-1"])
- set("encoder.encoder.export",["artist","title","album","song"])
- # AutoDJ Next Song Script
- def azuracast_next_song() =
- uri = get_process_lines("/usr/bin/php /var/azuracast/www/util/cli.php azuracast:internal:nextsong 3")
- uri = list.hd(uri, default="")
- log("AzuraCast Raw Response: #{uri}")
- if uri == "" or string.match(pattern="Error", uri) then
- log("AzuraCast Error: Delaying subsequent requests...")
- system("sleep 2")
- request.create("")
- else
- request.create(uri)
- end
- end
- # DJ Authentication
- def dj_auth(user,password) =
- log("Authenticating DJ: #{user}")
- ret = get_process_lines("/usr/bin/php /var/azuracast/www/util/cli.php azuracast:internal:auth 3 --dj_user='#{user}' --dj_password='#{password}'")
- ret = list.hd(ret, default="")
- log("AzuraCast DJ Auth Response: #{ret}")
- bool_of_string(ret)
- end
- live_enabled = ref false
- def live_connected(header) =
- log("DJ Source connected! #{header}")
- live_enabled := true
- ret = get_process_lines("/usr/bin/php /var/azuracast/www/util/cli.php azuracast:internal:djon 3")
- log("AzuraCast Live Connected Response: #{ret}")
- end
- def live_disconnected() =
- log("DJ Source disconnected!")
- live_enabled := false
- ret = get_process_lines("/usr/bin/php /var/azuracast/www/util/cli.php azuracast:internal:djoff 3")
- log("AzuraCast Live Disconnected Response: #{ret}")
- end
- # Fallback Playlists
- playlist_hufiger = audio_to_stereo(playlist(reload_mode="watch",mode="normal","/var/azuracast/stations/allesradiozwei/playlists/playlist_hufiger.m3u"))
- playlist_alles_im_mixunsortiert = audio_to_stereo(playlist(reload_mode="watch",mode="normal","/var/azuracast/stations/allesradiozwei/playlists/playlist_alles_im_mixunsortiert.m3u"))
- playlist_handsup_dance = audio_to_stereo(playlist(reload_mode="watch",mode="normal","/var/azuracast/stations/allesradiozwei/playlists/playlist_handsup_dance.m3u"))
- playlist_jingle = audio_to_stereo(playlist(reload_mode="watch",mode="randomize","/var/azuracast/stations/allesradiozwei/playlists/playlist_jingle.m3u"))
- playlist_alle_50_songs = audio_to_stereo(playlist(reload_mode="watch",mode="randomize","/var/azuracast/stations/allesradiozwei/playlists/playlist_alle_50_songs.m3u"))
- playlist_ganze_mixe_samstag_1645 = audio_to_stereo(playlist(reload_mode="watch",mode="randomize","/var/azuracast/stations/allesradiozwei/playlists/playlist_ganze_mixe_samstag_1645.m3u"))
- # Standard Playlists
- radio = random(weights=[16, 14, 14], [playlist_hufiger, playlist_alles_im_mixunsortiert, playlist_handsup_dance]);
- # Once per x Songs Playlists
- radio = rotate(weights=[1,5], [playlist_jingle, radio])
- radio = rotate(weights=[1,50], [playlist_alle_50_songs, radio])
- # Assemble final playback order
- dynamic = audio_to_stereo(request.dynamic(id="allesradiozwei_next_song", timeout=20., azuracast_next_song))
- dynamic = cue_cut(id="allesradiozwei_cue_cut", dynamic)
- radio = fallback(id="allesradiozwei_playlist_fallback", track_sensitive = false, [dynamic, switch([ ({ (6w) and 16h45m-17h0m }, playlist_ganze_mixe_samstag_1645), ({ true }, radio) ]), blank(duration=2.)])
- # A Pre-DJ source of radio that can be broadcasted if needed
- radio_without_live = radio
- ignore(radio_without_live)
- # Live Broadcasting
- live = audio_to_stereo(input.harbor("/", id="allesradiozwei_input_streamer", port=8005, user="shoutcast", auth=dj_auth, icy=true, max=30., buffer=4., icy_metadata_charset="UTF-8", metadata_charset="UTF-8", on_connect=live_connected, on_disconnect=live_disconnected))
- ignore(output.dummy(live, fallible=true))
- live = fallback(id="allesradiozwei_live_fallback", track_sensitive=false, [live, blank(duration=2.)])
- radio = switch(id="allesradiozwei_live_switch", track_sensitive=false, [({!live_enabled}, live), ({true}, radio)])
- # Crossfading
- radio = crossfade(start_next=6.,fade_out=4.,fade_in=4.,radio)
- # Allow for Telnet-driven insertion of custom metadata.
- radio = server.insert_metadata(id="custom_metadata", radio)
- # Apply amplification metadata (if supplied)
- radio = amplify(1., radio)
- # Custom Configuration (Specified in Station Profile)
- full4 = fallback(track_sensitive=false,[request.queue(id="request"), radio])
- output.icecast(
- %mp3.cbr(bitrate=256, id3v2=true),
- host = "alles-radio2.stream.laut.fm", port = 8080,
- password = "xxxxxxxx", mount = "alles-radio2",
- full4)
- # Local Broadcasts
- output.icecast(%mp3(samplerate=44100, stereo=true, bitrate=256, id3v2=true), id="allesradiozwei_local_1", host = "127.0.0.1", port = 8000, password = "Ax6P6Lcg", mount = "/radio.mp3", name = "alles-radio2", description = "Techno", genre = "", public = false, encoding = "UTF-8", radio)
- # Remote Relays
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement