> assuming otto can execute an arbitrary shell command whenever the > track plays (I assume it can call whatever mp3 decoder you want), you > can > a) have a script that does something like > echo $1 > /path/to/playlist.txt > Then ices will reload the playlist file (size: one entry) at the end > of the track. > > b) do > mkfifo ices.fifo > echo ices.fifo > playlist.txt > run ices, > and have otto do > cat $1 > ices.fifo > instead of calling its mp3 decoder.*otto*'s (not ices) :) problem is that the playlist is dynamic and is written after a track is played. while a track is playing you users can submit/delete requests or it's little daemon will randomly select things. once a track is completed the top entry of that dynamic playlist is written as a file. otto only knows when a track has finished playing by it's spawned app (in this case, ices) exiting. hence all of this debate. believe me, i am working with it's maintainer on cleaning up his code. in the meantime, i would like to know the optimal way to force ices to exit, per-track. -- ------------------------------------ Robin P. Blanchard IT Program Specialist Georgia Center for Continuing Ed. fon: 706.542.2404 fax: 706.542.6546 email: Robin_Blanchard@gactr.uga.edu ------------------------------------ --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On Wednesday, 01 August 2001 at 15:12, Robin P. Blanchard wrote:> > > > Ices will reload the playlist file if it changes on disk. So if the > > > file changes every track, everything will be fine. Alternatively you > > > could write your MP3 to a FIFO, which ices could pipe to your icecast > > > server. > > > > that looks like an interesting alternative, tho i have no clue how to do > > that, and particularly in the context of otto (which, BTW is brilliant!) > > any examples?assuming otto can execute an arbitrary shell command whenever the track plays (I assume it can call whatever mp3 decoder you want), you can a) have a script that does something like echo $1 > /path/to/playlist.txt Then ices will reload the playlist file (size: one entry) at the end of the track. b) do mkfifo ices.fifo echo ices.fifo > playlist.txt run ices, and have otto do cat $1 > ices.fifo instead of calling its mp3 decoder.> You're right in that it sounds like a great solution/alternative... > But the problem is that the playlist would need to modified > after each song. And how do we know when the song is finished???? Modify it whenever you want. At the end of the track, ices will reload the playlist. You don't have to have things synchronised at all, except that you should modify the playlist before the next track starts. Alternatively use the (quite powerful) playlist engine.> ices knows when this happens, thus it would be fairly simple to > have ices exit (rather than infintely loop) after it plays. > > Hence I am asking for advice on how to patch the ices client > to exit after playing instead of looping, regardless of whether > it is 'advisable' or not.If you want something broken and stupid, the original patch you posted will probably work ok. Change 'while (1) {' to just '{'. Being young and naive, I am still surprised when people are willing to work twice as hard to do things the wrong way, just because they heard about that way first. -Brendan --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On Wednesday, 01 August 2001 at 16:37, Robin P. Blanchard wrote:> > assuming otto can execute an arbitrary shell command whenever the > > track plays (I assume it can call whatever mp3 decoder you want), you > > can > > a) have a script that does something like > > echo $1 > /path/to/playlist.txt > > Then ices will reload the playlist file (size: one entry) at the end > > of the track. > > > > b) do > > mkfifo ices.fifo > > echo ices.fifo > playlist.txt > > run ices, > > and have otto do > > cat $1 > ices.fifo > > instead of calling its mp3 decoder. > > > *otto*'s (not ices) :) problem is that the playlist is dynamic and is > written after a track is played. while a track is playing you users > can submit/delete requests or it's little daemon will randomly select things. > once a track is completed the top entry of that dynamic playlist is written > as a file. otto only knows when a track has finished playing by it's spawned > app (in this case, ices) exiting. hence all of this debate.In that case option b should work fine. otto can call cat $1 > ices.fifo which will exit when the track has finished. Then ices will close and reopen ices.fifo and wait for the next track. Problem solved? --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> If you want something broken and stupid, the original patch you posted > will probably work ok. Change 'while (1) {' to just '{'. > > Being young and naive, I am still surprised when people are willing to > work twice as hard to do things the wrong way, just because they heard > about that way first. >being old and lazy i'm willing to take the easy way out when its simply for me any my coworkers to listen to tunes... i'm not trying to argue that what i want to do is "right"; i just know that it will be easier to have ices not loop, than to rewrite otto. -- ------------------------------------ Robin P. Blanchard IT Program Specialist Georgia Center for Continuing Ed. fon: 706.542.2404 fax: 706.542.6546 email: Robin_Blanchard@gactr.uga.edu ------------------------------------ --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> i'm not trying to argue that what i want to do is "right"; i just > know that it will be easier to have ices not loop, than to rewrite otto.No one asked you to rewrite otto. But maybe getting the maintainer to do it correctly would be nice. This isn't our bug to fix :) jack. --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.