But I'd also like to intervene anytime through the sound card and/or the network for a live session, whithout having to manually fade and mix. I just want the live source to fully take
the lead whenever it comes up, and give it back whenever it shuts down.

As far as I understand, what you want is possible with a pure savonet system. We have an http source which does exactly what you said: "I just want the live source to fully take the lead whenever it comes up, and give it back whenever it shuts down.". The http source listens for an http ogg/vorbis stream.

Here is a piece of the configuration used for the next version of RadioPi (http://delroy.via.ecp.fr:8080/reggae.ogg):

========
# One output for icecast, one directly sent to peercast
let out = output.icecast ~host:"localhost" ~port:8080 ~password:"XXX"
let p2p = output.icecast ~host:"localhost" ~port:7144 ~password:"XXX"

# A file for playing during failures
let interlude = one_file "/bla/some.mp3"

# A normal playlist and a relay for live session
let reggae = playlist "/data/reggae/playlist"
let live = http "http://localhost:8080/live.ogg";

let reggae = out ~mount:"reggae.ogg" (p2p ~mount:"reggae.ogg"
  (hard_fallback [ live ; fallback [ reggae ; interlude ]]))
========

However, the switch from the playlists to the live currently doesn't support any kind of transition. This is something we should do soon, since radiopi wants it too. Another thing you may not like is that the ogg/vorbis stream is decoded to WAV and then encoded back to ogg/vorbis, even the settings are exactly the same. This is not a fundamental limitation of the system, but it may not be improved so soon.

I hope you'll have fun with liquidsoap!
Feel free to ask anything here.
--
David

Reply via email to