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