Advertisement
Guest User

Untitled

a guest
Dec 28th, 2018
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.09 KB | None | 0 0
  1. # WARNING! This file is automatically generated by AzuraCast.
  2. # Do not update it directly!
  3.  
  4.  
  5. set("init.daemon", false)
  6. set("init.daemon.pidfile.path","/var/azuracast/stations/allesradiozwei/config/liquidsoap.pid")
  7. set("log.file.path","/var/azuracast/stations/allesradiozwei/config/liquidsoap.log")
  8.  
  9. set("server.telnet",true)
  10. set("server.telnet.bind_addr","127.0.0.1")
  11. set("server.telnet.port", 8004)
  12. set("harbor.bind_addrs",["0.0.0.0"])
  13.  
  14. set("tag.encodings",["UTF-8","ISO-8859-1"])
  15. set("encoder.encoder.export",["artist","title","album","song"])
  16.  
  17. # AutoDJ Next Song Script
  18. def azuracast_next_song() =
  19. uri = get_process_lines("/usr/bin/php /var/azuracast/www/util/cli.php azuracast:internal:nextsong 3")
  20. uri = list.hd(uri, default="")
  21. log("AzuraCast Raw Response: #{uri}")
  22.  
  23. if uri == "" or string.match(pattern="Error", uri) then
  24. log("AzuraCast Error: Delaying subsequent requests...")
  25. system("sleep 2")
  26. request.create("")
  27. else
  28. request.create(uri)
  29. end
  30. end
  31.  
  32. # DJ Authentication
  33. def dj_auth(user,password) =
  34. log("Authenticating DJ: #{user}")
  35. ret = get_process_lines("/usr/bin/php /var/azuracast/www/util/cli.php azuracast:internal:auth 3 --dj_user='#{user}' --dj_password='#{password}'")
  36. ret = list.hd(ret, default="")
  37. log("AzuraCast DJ Auth Response: #{ret}")
  38. bool_of_string(ret)
  39. end
  40.  
  41. live_enabled = ref false
  42.  
  43. def live_connected(header) =
  44. log("DJ Source connected! #{header}")
  45. live_enabled := true
  46. ret = get_process_lines("/usr/bin/php /var/azuracast/www/util/cli.php azuracast:internal:djon 3")
  47. log("AzuraCast Live Connected Response: #{ret}")
  48. end
  49.  
  50. def live_disconnected() =
  51. log("DJ Source disconnected!")
  52. live_enabled := false
  53. ret = get_process_lines("/usr/bin/php /var/azuracast/www/util/cli.php azuracast:internal:djoff 3")
  54. log("AzuraCast Live Disconnected Response: #{ret}")
  55. end
  56.  
  57. # Fallback Playlists
  58. playlist_hufiger = audio_to_stereo(playlist(reload_mode="watch",mode="normal","/var/azuracast/stations/allesradiozwei/playlists/playlist_hufiger.m3u"))
  59. playlist_alles_im_mixunsortiert = audio_to_stereo(playlist(reload_mode="watch",mode="normal","/var/azuracast/stations/allesradiozwei/playlists/playlist_alles_im_mixunsortiert.m3u"))
  60. playlist_handsup_dance = audio_to_stereo(playlist(reload_mode="watch",mode="normal","/var/azuracast/stations/allesradiozwei/playlists/playlist_handsup_dance.m3u"))
  61. playlist_jingle = audio_to_stereo(playlist(reload_mode="watch",mode="randomize","/var/azuracast/stations/allesradiozwei/playlists/playlist_jingle.m3u"))
  62. playlist_alle_50_songs = audio_to_stereo(playlist(reload_mode="watch",mode="randomize","/var/azuracast/stations/allesradiozwei/playlists/playlist_alle_50_songs.m3u"))
  63. 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"))
  64.  
  65. # Standard Playlists
  66. radio = random(weights=[16, 14, 14], [playlist_hufiger, playlist_alles_im_mixunsortiert, playlist_handsup_dance]);
  67.  
  68. # Once per x Songs Playlists
  69. radio = rotate(weights=[1,5], [playlist_jingle, radio])
  70. radio = rotate(weights=[1,50], [playlist_alle_50_songs, radio])
  71.  
  72. # Assemble final playback order
  73. dynamic = audio_to_stereo(request.dynamic(id="allesradiozwei_next_song", timeout=20., azuracast_next_song))
  74. dynamic = cue_cut(id="allesradiozwei_cue_cut", dynamic)
  75. 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.)])
  76.  
  77. # A Pre-DJ source of radio that can be broadcasted if needed
  78. radio_without_live = radio
  79. ignore(radio_without_live)
  80.  
  81. # Live Broadcasting
  82. 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))
  83. ignore(output.dummy(live, fallible=true))
  84. live = fallback(id="allesradiozwei_live_fallback", track_sensitive=false, [live, blank(duration=2.)])
  85.  
  86. radio = switch(id="allesradiozwei_live_switch", track_sensitive=false, [({!live_enabled}, live), ({true}, radio)])
  87.  
  88. # Crossfading
  89. radio = crossfade(start_next=6.,fade_out=4.,fade_in=4.,radio)
  90.  
  91. # Allow for Telnet-driven insertion of custom metadata.
  92. radio = server.insert_metadata(id="custom_metadata", radio)
  93.  
  94. # Apply amplification metadata (if supplied)
  95. radio = amplify(1., radio)
  96.  
  97. # Custom Configuration (Specified in Station Profile)
  98. full4 = fallback(track_sensitive=false,[request.queue(id="request"), radio])
  99. output.icecast(
  100. %mp3.cbr(bitrate=256, id3v2=true),
  101. host = "alles-radio2.stream.laut.fm", port = 8080,
  102. password = "xxxxxxxx", mount = "alles-radio2",
  103. full4)
  104.  
  105.  
  106. # Local Broadcasts
  107. 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)
  108.  
  109. # Remote Relays
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement