From: <kr...@ao...> - 2010-10-23 02:12:47
|
I have two very basic related questions to playlists and Unix server commands. I generate individual program playlists for each time-slot via PHP and are executed by a crontab early each morning before programming begins. Then, in liquidsoap, using the 'switch' command, I call each time-slot's specific playlist. Now, the first question: would I need to issue a new server command to load the next hour's playlist, or will this naturally occur due to liquidsoap's time-slot's switch statement? If the next hour's playlist is not loaded via the switch statement, what syntax would I use to issue a Unix server command? I looked everywhere for it in the documentation, but found nothing. If I need to do a server command, would it be possible to use a crontab as well (telnet is not possible in my situation) to automate this process? Thanks, Andre -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ |
From: David B. <dav...@gm...> - 2010-10-25 18:37:38
|
Hi, On Fri, Oct 22, 2010 at 2:10 PM, <kr...@ao...> wrote: > I generate individual program playlists for each time-slot via PHP and are > executed by a crontab early each morning before programming begins. Then, > in liquidsoap, using the 'switch' command, I call each time-slot's specific > playlist. OK this is a possibility but it might be a little too complicated depending on your precise requirements, so here's a piece of advice: if you have it (almost) working go for it, but if you run into problems come back to this list for another solution. I know people who've worked out good schemes for integrating such schedulers. I don't mean to discourage you, just to avoid some useless frustration. > Now, the first question: would I need to issue a new server command to > load the next hour's playlist, or will this naturally occur due to liquidsoap's > time-slot's switch statement? A playlist() behaves independently of where it is used, in particular the switch() has no effect on it. The reloading is solely controlled at the playlist level: either from the builtin reload parameters (per round or time) or using the server command. You would issue the <id>.reload command via the server. It can be telnet or socket. In both cases you can write a script that does it for you and call it using crontab. Have fun, -- David |
From: <kr...@ao...> - 2010-10-25 20:04:25
|
Hi David, Just to clarify: so, if the switch statement in liquidsoap script was, say: playlist-sstol = playlist(mode="normal",reload=0,"usr/local/www/radio/current/sstol/today/today-sstol-32.pls") playlist-mfts = playlist(mode="normal",reload=0,"usr/local/www/radio/current/mfts/today/today-mfts-32.pls") playlist-ogp = playlist(mode="normal",reload=0,"usr/local/www/radio/current/ogp/today/today-ogp-32.pls") playlist-csr = playlist(mode="normal",reload=0,"usr/local/www/radio/current/csr/today/today-csr-32.pls") playlist-cosm = playlist(mode="normal",reload=0,"usr/local/www/radio/current/cosm/today/today-cosm-32.pls") switch( track sensitive=true [({09h00 - 9h30}, shows-sstol), {09h30 - 10h00}, shows-mfts), {10h30 - 11h00}, shows-ogp), {11h00 - 11h40}, shows-csr), {11h40 - 12h00}, shows-cosm)]) would each time-slot's playlist be loaded, without any further intervention or code on my part? Since the liquidsoap script would be activated just prior to the start of our programming day, I have assumed that the above switch would then load each time-slot's playlists at the correct time. Am I correct in assuming this? If not, I am at a loss of what I should do. Eagerly awaiting a positive response to this :) Thanks, Andre On Mon, 25 Oct 2010 14:37:31 -0400, David Baelde <dav...@gm...> wrote: > Hi, > > On Fri, Oct 22, 2010 at 2:10 PM, <kr...@ao...> wrote: >> I generate individual program playlists for each time-slot via PHP and >> are >> executed by a crontab early each morning before programming begins. >> Then, >> in liquidsoap, using the 'switch' command, I call each time-slot's >> specific >> playlist. > > OK this is a possibility but it might be a little too complicated > depending on your precise requirements, so here's a piece of advice: > if you have it (almost) working go for it, but if you run into > problems come back to this list for another solution. I know people > who've worked out good schemes for integrating such schedulers. I > don't mean to discourage you, just to avoid some useless frustration. > >> Now, the first question: would I need to issue a new server command to >> load the next hour's playlist, or will this naturally occur due to >> liquidsoap's >> time-slot's switch statement? > > A playlist() behaves independently of where it is used, in particular > the switch() has no effect on it. The reloading is solely controlled > at the playlist level: either from the builtin reload parameters (per > round or time) or using the server command. > > You would issue the <id>.reload command via the server. It can be > telnet or socket. In both cases you can write a script that does it > for you and call it using crontab. > > Have fun, -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ |
From: David B. <dav...@en...> - 2010-10-26 09:23:05
|
Yo, On Mon, Oct 25, 2010 at 10:01 PM, <kr...@ao...> wrote: > would each time-slot's playlist be loaded, without any further intervention > or code on my part? Yes, each playlist would be loaded. > I have assumed that the above switch would then load each time-slot's > playlists at the correct time. No, the playlists are loaded when the playlist is created, not when it is played or about to play. The playlist preparation stuff is independent of how the playlist is used by other operators. This means that with this code you'll have quite a few requests loaded way in advance -- this may or may not be a problem. (BTW, in your code it looks like the switch() has a way to tell the source that it's going to use it "soon" so that it gets prepared only when needed, but one thing to keep in mind is that the switch predicates {...} can have arbitrary code such as external script calls, that liquidsoap has no way to antipicate.) > If not, I am at a loss of what I should do. Maybe, but not necessarily. For example you can still edit the playlist file and use the reload command to reload it at the appropriate time. If you're in trouble, please describe the kind of workflow you're looking for and I'd be happy to discuss it. Cheers, -- David |