Hello, I'am a liquidsoap user for a few years, i using it for my web radio. I had started at the very beginning by writing my own system which provided a dynamic playlist for Liquidsoap, but now I use Azuracast with a custom Liquidsoap script.
Azuracast having switched to liquidsoap 2, I therefore adapted my script by following the recommendations ( https://www.liquidsoap.info/doc-2.0.4/migrating.html). But there's a part that I don't understand. That's why I'm asking for your help. My radio script is designed to insert an ad twice an hour. I add to this insert an entry and exit transition containing a very short sound which makes it possible to signalize to the listeners the "dropout" on the ad... Here is an excerpt from the script: #################################################################### # One track by predicate true # https://github.com/savonet/liquidsoap/issues/1067 def predicate.activates(~init=false, p) last = ref(not init) fun () -> begin cur = p() ans = (not !last) and cur last := cur ans end end def pre_advert_trans(virgule, a ,b) log(label="pre_advert_trans", "Advert In") def add_transition_length(_) = [("liq_transition_length","10.")] end transition = add(normalize=false, [ sequence([blank(duration=0.5), fade.in(duration=1.,virgule), b]), sequence([fade.out(duration=3.,a),blank()]) ]) map_first_track(map_metadata(add_transition_length),transition) end def post_advert_trans(virgule, a ,b) log(label="post_advert_trans", "Advert Out") def add_transition_length(_) = [("liq_transition_length","10.")] end transition = add(normalize=false, [ sequence([blank(duration=5.1), virgule, b]), sequence([fade.out(type="sin",duration=5.0, a),blank()]) ]) map_first_track(map_metadata(add_transition_length),transition) end radio = switch(transitions=[pre_advert_trans(playlist_decrochage_in),post_advert_trans(playlist_decrochage_out)], [ (predicate.activates({ 12m-18m or 42m-48m }), playlist_advert), ({ true }, radio) ]) #################################################################### I had obtained the expected result, but with the passage in v2 I have the following error: At /tmp/liquidsoap.liq, line 248, char 27-112: radio = switch(transitions=[pre_advert_trans(playlist_decrochage_in),post_advert_trans(playlist_decrochage_out)], Error 5: this value has type [(_, _.{id : _}, ...) -> _] but it should be a subtype of [(_, source(audio=pcm(?A), video=?internal(?B), midi=?internal(?C)), ...) -> _] I understood that it was the transition on the switch that poses the problem but I have trouble seeing how I should rewrite that. Thanks in advance for your help. Bertrand
_______________________________________________ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users