Sorry for my English, but i I hope you understand me.
My script generate me playlist for each hour. When liquidsoap finish one
playlist, he get next playlist, but not play the first track of new
playlist, he play first track from old playlist, then skip first track from
new playlist and start play from second song. And so on.
myplaylist = playlist(
mode = "normal",
reload_mode = "rounds",
reload = 1,
How do I solve this problem? Maybe there are other options?
Le mardi 26 janvier 2010 09:04:45, Лабутин Сергей a écrit :
> Sorry for my English, but i I hope you understand me.
No problem, welcome aboard !
> My script generate me playlist for each hour. When liquidsoap finish one
> playlist, he get next playlist, but not play the first track of new
> playlist, he play first track from old playlist, then skip first track from
> new playlist and start play from second song. And so on.
> My conf:
> myplaylist = playlist(
> mode = "normal",
> reload_mode = "rounds",
> reload = 1,
> How do I solve this problem? Maybe there are other options?
Hmmm... That is not an easy question :-)
I am not sure this can be solved trivially using directly a liquidsoap script.
This can be done using the current SVN but using the latest stable release, it
would be very tricky.
Hence, I see two solutions for you:
* You are reckless and want to test the current SVN. In this case, I could
show you a possible implementation. However, current SVN is being heavily
developped, so it is not necessarily a very stable solution (although I am
using it in production and we care about maintaining it as stable as possible)
* You implement this using an external script. In this case, you can use the
language of your choice, write a script that does the job and returns to
liquidsoap the next song to play each time liquidsoap needs to queue a new
Let me know what you prefer and I can show you how to do it :-)
From: David Baelde <david.baelde@gm...> - 2010-01-26 20:53:42
To complement what Romain said, the problem here is that reloading is
an asynchronous process. When the first round finishes, reloading
starts, but we don't wait for reloading to be finished: if we need to
play a new track it will be picked from the old playlist. In your
example, the new playlist "arrives" while the old first track plays.
We probably want to keep playlist as it is currently. Otherwise we
could have latency problems. The solutions that Romain want to propose
involve other operators such as request.dynamic and request.queue.