liquidsoap doesn't reload the playlist file
audio-streaming, liquidsoap, stream, streaming
Solution
I finally found the solution asking in the Liquidsoap's mailing list:
The first though that comes to my mind is that you are perhaps using playlist() in a way this is not intended to be..
Have you though about using request.dynamic? This operator gives you full control over which song is being played next and the next track callback can be written in any language of your choice, which also makes is more convenient..
Good luck!
Romain
Problem
I have a very weird problem with Liquidsoap. I have the following playlist: ``` myplaylist = playlist(mode="normal",playlist_file,reload_mode="rounds",reload=1) myplaylist = on_metadata(apply_metadata,myplaylist) ``` where apply_metadata calls a python script that updates the playlist immediately when called, but sometimes Liquidsoap keeps playing the old playlist after reload, even if the apply_metadata procedure was called. Thanks in advance for your help. The whole code of the Liquidsoap script: ``` # This function is called when # a new metadata block is passed in # the stream. def apply_metadata(m) = title = m["filename"] artist = m["artist"] print("Now playing: #{title} by #{artist}") filename = string.split(separator="/",title) # rozdelime cestu po lomitkach filename = list.nth(list.rev(filename),0) # vezmeme meno suboru filename = list.nth(string.split(separator="\.",filename),0) # odpojime koncovku .mp3 command = "python3.3 feedback.py " ^ filename system(command) end #!/usr/bin/liquidsoap # Log dir set("log.file.path","/tmp/basic-radio.log") #tidy up before playing playlist playlist_file = "playlist.m3u" system("python3.3 feedback.py -init") # Music myplaylist = playlist(mode="normal",playlist_file,reload_mode="rounds",reload=1) myplaylist = on_metadata(apply_metadata,myplaylist) # Stream it out output.icecast(%mp3, host = "localhost", port = 8080, password = "baldur", mount = "stream", myplaylist, fallible=true) ```