Advertisement
Guest User

LIQ Switchboard File

a guest
Jun 13th, 2010
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. #!/usr/bin/liquidsoap
  2.  
  3. #-----------------------------------------------------------
  4. # first the local files, for if the internal icecast is down
  5. emgFile = single("~radio/music/Emergancy.mp3")
  6. stPlaylist = playlist("~radio/st.pls")
  7. backup = fallback(id = "backup", track_sensitive = false, [stPlaylist, emgFile])
  8.  
  9. #------------------------------------------------------------
  10. # now the EDH as the prefered backup
  11. edhRaw = input.http( id = "edh", "http://localhost:8040/edh.mp3")
  12. output.dummy(fallible=true,edhRaw)
  13. edh = fallback( id = "edh", track_sensitive=false, [edhRaw,backup])
  14.  
  15. #-----------------------------------------------------------
  16. # and the DJ Channels
  17.  
  18. dj01Raw = input.http( id = "dj01", "http://localhost:8040/dj01.mp3")
  19. dj02Raw = input.http( id = "dj02", "http://localhost:8040/dj02.mp3")
  20. dj03Raw = input.http( id = "dj03", "http://localhost:8040/dj03.mp3")
  21. dj04Raw = input.http( id = "dj04", "http://localhost:8040/dj04.mp3")
  22. dj05Raw = input.http( id = "dj05", "http://localhost:8040/dj05.mp3")
  23. dj06Raw = input.http( id = "dj06", "http://localhost:8040/dj06.mp3")
  24. dj07Raw = input.http( id = "dj07", "http://localhost:8040/dj07.mp3")
  25. dj08Raw = input.http( id = "dj08", "http://localhost:8040/dj08.mp3")
  26. dj09Raw = input.http( id = "dj09", "http://localhost:8040/dj09.mp3")
  27. dj10Raw = input.http( id = "dj10", "http://localhost:8040/dj10.mp3")
  28. output.dummy(fallible=true,dj01Raw)
  29. output.dummy(fallible=true,dj02Raw)
  30. output.dummy(fallible=true,dj03Raw)
  31. output.dummy(fallible=true,dj04Raw)
  32. output.dummy(fallible=true,dj05Raw)
  33. output.dummy(fallible=true,dj06Raw)
  34. output.dummy(fallible=true,dj07Raw)
  35. output.dummy(fallible=true,dj08Raw)
  36. output.dummy(fallible=true,dj09Raw)
  37. output.dummy(fallible=true,dj10Raw)
  38. dj01 = fallback( id = "dj01", track_sensitive=false, [dj01Raw, backup])
  39. dj02 = fallback( id = "dj02", track_sensitive=false, [dj02Raw, backup])
  40. dj03 = fallback( id = "dj03", track_sensitive=false, [dj03Raw, backup])
  41. dj04 = fallback( id = "dj04", track_sensitive=false, [dj04Raw, backup])
  42. dj05 = fallback( id = "dj05", track_sensitive=false, [dj05Raw, backup])
  43. dj06 = fallback( id = "dj06", track_sensitive=false, [dj06Raw, backup])
  44. dj07 = fallback( id = "dj07", track_sensitive=false, [dj07Raw, backup])
  45. dj08 = fallback( id = "dj08", track_sensitive=false, [dj08Raw, backup])
  46. dj09 = fallback( id = "dj08", track_sensitive=false, [dj09Raw, backup])
  47. dj10 = fallback( id = "dj10", track_sensitive=false, [dj10Raw, backup])
  48.  
  49.  
  50. # A call to an external script to see if source should be streaming:
  51. def is_s(source) =
  52. fun () -> test_process("~radio/djcheck #{source.id(source)}")
  53. end
  54.  
  55. djswitch = switch(
  56. [ (is_s(dj01),dj01), (is_s(dj02),dj02),
  57. (is_s(dj03),dj03), (is_s(dj04),dj04),
  58. (is_s(dj05),dj05), (is_s(dj06),dj06),
  59. (is_s(dj07),dj07), (is_s(dj08),dj08),
  60. (is_s(dj09),dj09), (is_s(dj10),dj10),
  61. (is_s(edh),edh)] )
  62. djList = fallback(track_sensitive=false, [djswitch,backup])
  63. #-----------------------------------------------------------
  64. # now the broadcast section, this sends out the radio signal
  65. # and logs the metaadata
  66.  
  67. radio = djList
  68.  
  69. def feedback_metadata(m)
  70. system( "~radio/songChange #{source.id(radio)} #{quote(m['artist'])} #{quote(m['title'])} &")
  71. end
  72. radio = on_metadata(feedback_metadata, radio)
  73.  
  74. output.icecast.mp3(
  75. host = "localhost", port = 8000, bitrate = 128,
  76. password = "hackme", mount = "/live.mp3", radio)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement