From: Thomas B. <to...@tb...> - 2013-05-15 11:31:20
|
Hi Tony As far as i understand this, you're reloading the playlist every 600 secs. ("reload=600"). This *may" be the error. if you try: playlist(reload=1, reload_mode="rounds","/var/www/datafruits-transmitter/shared/datafruits_playlist.m3u",conservative=true,mode="normal") Your playlist gets reloaded if is exhausted of tracks. The doc says:| - reload| (|int| – defaults to |0|): Amount of time (in seconds or rounds), when applicable, before which the playlist is reloaded; 0 means never.| - reload_mode| (|string| – defaults to |"seconds"|): Unit of the reload parameter, either 'rounds', 'seconds' or 'watch' (reload the file whenever it is changed). This works for me. --Tom Am 14.05.2013 16:29, schrieb Tony Miller: > I can't figure out why my playlist is only playing the first three > songs. I have tried switching the order of the songs around to see if > there was a problem with certain tracks, but I think all the files are > fine. Started liquidsoap in verbose mode (-v) didn't see anything > helpful. > > Here is my basic playlist setup: > > # The file source > backup_playlist = > playlist(reload=600,"/var/www/datafruits-transmitter/shared/datafruits_playlist.m3u",conservative=true,mode="normal") > output.dummy(fallible=true,backup_playlist) > > > then later on I have a fallback: > source = fallback(track_sensitive=false, > [live_dj,backup_playlist,on_fail]) > > > Of course my entire script is much longer, I'll paste the entire thing here. > > > #!/usr/local/bin/liquidsoap > > set("log.file",true) > set("log.file.path","/usr/local/var/log/liquidsoap/liquidsoap.log") > set("log.stdout",false) > set("log.level",3) > > set("server.telnet",true) > set("server.socket",true) > set("server.socket.path","/tmp/liquidsoap.sock") > > set("harbor.bind_addr","0.0.0.0") > > # refs > title_prefix = ref "" > > #functions > > #auth function > def dj_auth(user,password) = > #get the output of the php script > ret = get_process_lines("bundle exec > /var/www/datafruits-transmitter/current/dj_auth.rb #{user} > #{password}") > #ret has now the value of the live client (dj1,dj2, or djx), or > "ERROR"/"unknown" > ret = list.hd(ret) > #return true to let the client transmit data, or false to tell > harbor to decline > if ret == "true" then > title_prefix := "LIVE NOW ♫✩ -- #{user} ✩♪" > true > else > false > end > end > > def on_disconnect() = > title_prefix := "" > end > > def pub_metadata(m) = > log("metadata changed: #{m}") > title = m["title"] > log("title: #{title}") > result = get_process_lines("bundle exec > /var/www/datafruits-transmitter/current/pub_metadata.rb > \"#{quote(title)}\"") > log("pub_metadata: #{result}") > end > > # The file source > backup_playlist = > playlist(reload=600,"/var/www/datafruits-transmitter/shared/datafruits_playlist.m3u",conservative=true,mode="normal") > output.dummy(fallible=true,backup_playlist) > live_dj = input.harbor("datafruits",port=9000,auth=dj_auth,on_disconnect=on_disconnect) > > def new_meta(m) = > title = m["title"] > [("title","#{!title_prefix} -- #{title}")] > end > live_dj = map_metadata(new_meta, live_dj) > on_fail = single("/home/freedrull/datafruitsdotfm_processed.wav") > > source = fallback(track_sensitive=false, > [live_dj,backup_playlist,_fail]) > source = on_metadata(pub_metadata, source) > > # flows > source = register_flow( > radio="datafruits.fm", > website="http://radio.datafruits.fm/", > description="forward-thinking electronic sounds", > genre="electronic", > user="foo", > password="bar", > streams=[("mp3/128k","http://radio.datafruits.fm:8000/datafruits.mp3"), > ("ogg", "http://radio.datafruits.fm:8000/datafruits.ogg")], > source) > > output.file(%mp3, "/mnt/wat/dump-datafruits-%d-%m-%Y-%H:%M:%S.mp3", > live_dj,fallible=true) > # We output the stream to an icecast > # server, in ogg/vorbis format. > output.icecast(%vorbis,id="icecast", > mount="datafruits.ogg", > host="localhost", password="2datafr00ts", > icy_metadata="true",description="datafruits.fm", > url="http://datafruits.fm", > source) > output.icecast(%mp3,id="icecast", > mount="datafruits.mp3", > host="localhost", password="2datafr00ts", > icy_metadata="true",description="datafruits.fm", > url="http://datafruits.fm", > source) > > |