Hi, Thanks Romain for this very recipe. Another cute example of our primitives being able of more than expected at first glance.
Just a little comment. You probably want to use that trick for inserting files in a live show relayed to liquidsoap via input.http() (or input.harbor() on recent versions), taking advantage of the metadata to control the playback of these files. However, using input.http() (and even the more recent input.harbor()) for live shows still has its disadvantage: a high latency. This means that it's not easy to synchronize what you say with what's going on in liquidsoap -- or what's going on for the listeners. In particular, it'll be tricky to start talking again in the show exactly at the end of the inserted file: even if you notice when liquidsoap is done with that file, it's too late because there's at least one buffer between you and liquidsoap. For low latency, one would use ALSA or PortAudio, but then the metadata is pointless, one could just push a file into the queue directly. But I may be wrong about the application you have in ming. Anyway, please tell us what you're able to do with that trick. If it's useful, we'll include it in the cookbook or even the standard utilities library. Have fun, David
