Skip to content
Snippets Groups Projects
Commit 719ae322 authored by David Trattnig's avatar David Trattnig
Browse files

Feat: Additional meta fields for fallback data

parent 883dcf5a
No related branches found
No related tags found
1 merge request!3Liquidsoap 2 migration
...@@ -44,12 +44,12 @@ def on_metadata_notification(meta) = ...@@ -44,12 +44,12 @@ def on_metadata_notification(meta) =
timeslot_id = list.assoc(default="-1", "timeslot_id", meta) timeslot_id = list.assoc(default="-1", "timeslot_id", meta)
playlist_id = list.assoc(default="-1", "playlist_id", meta) playlist_id = list.assoc(default="-1", "playlist_id", meta)
playlist_track_num = list.assoc(default="", "playlist_item", meta) playlist_track_num = list.assoc(default="", "playlist_item", meta)
track_duration = int_of_float(request.duration(meta["filename"])) track_start = list.assoc(default=meta["track_start"], "on_air", meta)
track_type = (eval_track_type(meta["track_type"], meta["source"])) track_duration = get_meta_track_duration(meta)
track_start = meta["on_air"] track_type = eval_track_type(meta["track_type"], meta["source"])
track_artist = meta["artist"] track_artist = list.assoc(default=meta["track_artist"], "artist", meta)
track_album = meta["album"] track_album = list.assoc(default=meta["track_album"], "album", meta)
track_title = meta["title"] track_title = list.assoc(default=meta["track_title"], "title", meta)
source_type = eval_source_type(meta["source"]) source_type = eval_source_type(meta["source"])
if source_type == "fallback" then if source_type == "fallback" then
...@@ -121,6 +121,7 @@ stripped_stream = blank.strip( ...@@ -121,6 +121,7 @@ stripped_stream = blank.strip(
) )
output_source = attach_fallback_source(stripped_stream) output_source = attach_fallback_source(stripped_stream)
output_source.on_metadata(on_metadata_notification)
##################################### #####################################
......
...@@ -18,6 +18,22 @@ ...@@ -18,6 +18,22 @@
# Reads the track duration
# a.) when available from the file
# b.) as a fallback from the meta field "track_duration"
#
# Returns
# (int) duration in seconds
def get_meta_track_duration(meta) =
track_duration = int_of_float(request.duration(meta["filename"]))
if track_duration != -1 then
track_duration
else
int_of_string(meta["track_duration"])
end
end
# Posts a playlog to the Engine API # Posts a playlog to the Engine API
def post_playlog(api_url, data) = def post_playlog(api_url, data) =
json_data = json() json_data = json()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment