diff --git a/python_apps/pypo/liquidsoap/ls_script.liq b/python_apps/pypo/liquidsoap/ls_script.liq index 8055aa48b..7db04d417 100644 --- a/python_apps/pypo/liquidsoap/ls_script.liq +++ b/python_apps/pypo/liquidsoap/ls_script.liq @@ -40,10 +40,32 @@ just_switched = ref false sources = ref [] source_id = ref 0 +def check_version(~version=liquidsoap.version, major, minor) = + v = list.map(int_of_string, string.split(separator="\.", version)) + list.nth(v,0) > major or list.nth(v,0) == major and list.nth(v,1) >= minor +end + def create_source() l = request.equeue(id="s#{!source_id}", length=0.5) l = audio_to_stereo(id="queue_src", l) + + # cue cut fix for liquidsoap <1.2.2 + # + # This was most likely broken on 1.1.1 (debian) as well. + # + # adapted from https://github.com/savonet/liquidsoap/issues/390#issuecomment-277562081 + # + if not check_version(1, 3) then + l = map_metadata(fun (~cue_in_metadata='liq_cue_in', m) -> + # 0.04 might need to be adjusted according to your frame size + if float_of_string(m[cue_in_metadata]) < 0.04 then + [(cue_in_metadata, "0")] + else + [] + end + end) + end l = cue_cut(l) l = amplify(1., override="replay_gain", l)