Playlist reload don't update Autocue values? #4253
-
I am downloading syndicated news every hour at xx:53. Because the duration of the track every hour is different i reload the playlist to calculate the "new" autocue values short before playout with
The values are calculated correct, but on playout LS uses "old" values. That happens when the news track are added to queue before the new one is downloaded. Any idea how can i get LS to take the new values?
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 11 replies
-
Hi! I'm not sure that it can work this way. I see that you reload a playlist but you feed it to playout through Or simply when news added to queue they are already cached by LS. When you reload a playlist - this has no impact because you use API (not playlist). Hence you get same values. Because LS gets a song not from a playlist but from API (and those values are old). You should try handling
What you are doing in you first post is basically:
|
Beta Was this translation helpful? Give feedback.
-
@gAlleb Could i merge two playlists at specific time? I like to play news followed by national antheme, spoken imprint at around 00h00m. At the moment i use (playlist_nachrichten.m3u one track. playlist_impressum.m3u with three tracks) ######### Nachrichten zur vollen Stunde abspielen
# Path (only path) to our news playlist:
nachrichten_path = "/var/azuracast/stations/laut.fm_eisradio/playlists/playlist_nachrichten.m3u"
# We create a queue for news, where we will push our playlist
news_queue = request.queue()
# Our function where we push our news playlist into queue.
def play_news_queue()
# you can either queue file
# news_queue.push(request.create("path/to/file"))
# or a playlist:
tracks = list.iter(fun (x) -> begin
let (_, uri) = x
news_queue.push.uri(uri)
end, playlist.parse("#{nachrichten_path}"))
log("Pushed news to queue")
end
# We run the above function every time when we want to queue our playlist
thread.when(predicate.activates({ 58m00s }), fun() -> play_news_queue())
# Our fallback
radio = fallback(track_sensitive=true, [news_queue, radio])
######### Impressum ca. 00.00 Uhr abspielen
# Path (only path) to our news playlist:
impressum_path = "/var/azuracast/stations/laut.fm_eisradio/playlists/playlist_impressum.m3u"
# We create a queue for news, where we will push our playlist
imp_queue = request.queue()
# Our function where we push our news playlist into queue.
def play_imp_queue()
# you can either queue file
# news_queue.push(request.create("path/to/file"))
# or a playlist:
tracks = list.iter(fun (x) -> begin
let (_, uri) = x
imp_queue.push.uri(uri)
end, playlist.parse("#{impressum_path}"))
log("Pushed Impressum to queue")
end
# We run the above function every time when we want to queue our playlist
thread.when(predicate.activates({ 00h00m00s }), fun() -> play_imp_queue())
# Our fallback
radio = fallback(track_sensitive=true, [imp_queue, radio]) It works. But often playlist_impressum.m3u is played before or a track is played between those two playlists. Hope you understand what i mean. Could i do something like |
Beta Was this translation helpful? Give feedback.
Hi! I'm not sure that it can work this way. I see that you reload a playlist but you feed it to playout through
Next Song API
. And I think the problem is connected with this.Or simply when news added to queue they are already cached by LS. When you reload a playlist - this has no impact because you use API (not playlist). Hence you get same values. Because LS gets a song not from a playlist but from API (and those values are old).
You should try handling
news
manually by Liquidsoap, not by Azuracast API - like here #4004 + making playlist advanced and redefining it. Maybe this would make it work.