diff --git a/airtime_mvc/application/models/Schedule.php b/airtime_mvc/application/models/Schedule.php index ad9a31089..19ba883fb 100644 --- a/airtime_mvc/application/models/Schedule.php +++ b/airtime_mvc/application/models/Schedule.php @@ -351,7 +351,8 @@ class Application_Model_Schedule { if (strpos($t[2], ".")) { $secParts = explode(".", $t[2]); $millisecs = $secParts[1]; - $millisecs = substr($millisecs, 0, 3); + $millisecs = str_pad(substr($millisecs, 0, 3),3, '0'); + Logging::log("mili:".print_r($millisecs,true)); $millisecs = intval($millisecs); $seconds = intval($secParts[0]); } else { diff --git a/python_apps/pypo/liquidsoap_scripts/ls_lib.liq b/python_apps/pypo/liquidsoap_scripts/ls_lib.liq index aad687a53..82ef411b1 100644 --- a/python_apps/pypo/liquidsoap_scripts/ls_lib.liq +++ b/python_apps/pypo/liquidsoap_scripts/ls_lib.liq @@ -15,6 +15,15 @@ def append_title(m) = end end +def crossfade(s) + #duration is automatically overwritten by metadata fields passed in + #with audio + s = fade.in(type="log", duration=0., s) + s = fade.out(type="log", duration=0., s) + fader = fun (a,b) -> add(normalize=false,[b,a]) + cross(fader,s) +end + def transition(a,b) = log("transition called...") add(normalize=false, diff --git a/python_apps/pypo/liquidsoap_scripts/ls_script.liq b/python_apps/pypo/liquidsoap_scripts/ls_script.liq index fa5d631f8..d7422b93b 100644 --- a/python_apps/pypo/liquidsoap_scripts/ls_script.liq +++ b/python_apps/pypo/liquidsoap_scripts/ls_script.liq @@ -29,6 +29,7 @@ s3_namespace = ref '' queue = on_metadata(notify, queue) queue = map_metadata(append_title, queue) +queue = crossfade(queue) ignore(output.dummy(queue, fallible=true)) server.register(namespace="vars", "pypo_data", fun (s) -> begin pypo_data := s "Done" end) diff --git a/python_apps/pypo/pypopush.py b/python_apps/pypo/pypopush.py index 396302754..f66c96aed 100644 --- a/python_apps/pypo/pypopush.py +++ b/python_apps/pypo/pypopush.py @@ -426,7 +426,7 @@ class PypoPush(Thread): self.telnet_lock.release() def create_liquidsoap_annotation(self, media): - return 'annotate:media_id="%s",liq_fade_in="%s",liq_fade_out="%s",liq_cue_in="%s",liq_cue_out="%s",schedule_table_id="%s":%s' \ + return 'annotate:media_id="%s",liq_start_next="0",liq_fade_in="%s",liq_fade_out="%s",liq_cue_in="%s",liq_cue_out="%s",schedule_table_id="%s":%s' \ % (media['id'], float(media['fade_in'])/1000, float(media['fade_out'])/1000, float(media['cue_in']), float(media['cue_out']), media['row_id'], media['dst']) def run(self):