diff --git a/src/engine.liq b/src/engine.liq index 168bd7d3ed83370aec967f3cabe1977f8c1b6eff..97d0466af6172a7301ef85bb6b270477797854b5 100644 --- a/src/engine.liq +++ b/src/engine.liq @@ -39,8 +39,10 @@ inputs = ref ([]) # Called when some new metadata info is available def on_metadata_notification(meta) = + log(level=5, label="metadata", "Raw metadata before POST:\n\n #{meta}\n\n") + show_name = ref(list.assoc(default="", "show_name", meta)) - show_id = ref(list.assoc(default="-1", "show_id", meta)) + show_id = ref(list.assoc(default="", "show_id", meta)) timeslot_id = list.assoc(default="-1", "timeslot_id", meta) playlist_id = list.assoc(default="-1", "playlist_id", meta) playlist_track_num = list.assoc(default="", "playlist_item", meta) @@ -53,11 +55,13 @@ def on_metadata_notification(meta) = source_type = eval_source_type(meta["source"]) if source_type == "fallback" then - log("Detected FALLBACK playing (Show ID: #{!engine_fallback_show_id})") + log(level=3, label="metadata", "Detected FALLBACK playing \ + (Show ID: #{!engine_fallback_show_id})") show_name := !engine_fallback_show_name show_id := !engine_fallback_show_id elsif source_type == "queue" then - log("ERROR in metadata handling: Invalid source type #{source_type}") + log(level=3, label="metadata", "ERROR in metadata handling: \ + Invalid source type #{source_type}") end playlog = [ @@ -74,7 +78,11 @@ def on_metadata_notification(meta) = ("track_artist", track_artist), ("track_num", playlist_track_num) ] - post_playlog(!engine_api_playlog, playlog) + if playlog["show_id"] == "" then + log(level=3, label="metadata", "Skip posting playlog because of missing show ID!") + else + post_playlog(!engine_api_playlog, playlog) + end end