CC-3610: Now Playing ->songs in the Now Playing do not reflect the changes affected changed END_OF_SHOW
-pypo side fixed
This commit is contained in:
parent
bc6e911673
commit
a09a31bc88
2 changed files with 15 additions and 7 deletions
|
@ -524,12 +524,13 @@ class Application_Model_Schedule {
|
||||||
|
|
||||||
foreach ($items as $item){
|
foreach ($items as $item){
|
||||||
|
|
||||||
$storedFile = Application_Model_StoredFile::Recall($item["file_id"]);
|
|
||||||
$uri = $storedFile->getFilePath();
|
|
||||||
|
|
||||||
$showEndDateTime = new DateTime($item["show_end"], $utcTimeZone);
|
$showEndDateTime = new DateTime($item["show_end"], $utcTimeZone);
|
||||||
$trackStartDateTime = new DateTime($item["start"], $utcTimeZone);
|
$trackStartDateTime = new DateTime($item["start"], $utcTimeZone);
|
||||||
$trackEndDateTime = new DateTime($item["end"], $utcTimeZone);
|
$trackEndDateTime = new DateTime($item["end"], $utcTimeZone);
|
||||||
|
|
||||||
|
if ($trackStartDateTime->getTimestamp() > $showEndDateTime->getTimestamp()){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
/* Note: cue_out and end are always the same. */
|
/* Note: cue_out and end are always the same. */
|
||||||
/* TODO: Not all tracks will have "show_end" */
|
/* TODO: Not all tracks will have "show_end" */
|
||||||
|
@ -537,8 +538,12 @@ class Application_Model_Schedule {
|
||||||
$di = $trackStartDateTime->diff($showEndDateTime);
|
$di = $trackStartDateTime->diff($showEndDateTime);
|
||||||
|
|
||||||
$item["cue_out"] = $di->format("%H:%i:%s").".000";
|
$item["cue_out"] = $di->format("%H:%i:%s").".000";
|
||||||
|
$item["end"] = $showEndDateTime->format("Y-m-d H:i:s");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$storedFile = Application_Model_StoredFile::Recall($item["file_id"]);
|
||||||
|
$uri = $storedFile->getFilePath();
|
||||||
|
|
||||||
$start = Application_Model_Schedule::AirtimeTimeToPypoTime($item["start"]);
|
$start = Application_Model_Schedule::AirtimeTimeToPypoTime($item["start"]);
|
||||||
$data["media"][$start] = array(
|
$data["media"][$start] = array(
|
||||||
'id' => $storedFile->getGunid(),
|
'id' => $storedFile->getGunid(),
|
||||||
|
|
|
@ -173,6 +173,7 @@ class PypoPush(Thread):
|
||||||
|
|
||||||
if problem_at_iteration is not None:
|
if problem_at_iteration is not None:
|
||||||
self.logger.debug("Change in chain at link %s", problem_at_iteration)
|
self.logger.debug("Change in chain at link %s", problem_at_iteration)
|
||||||
|
self.modify_cue_point_of_first_link(current_chain)
|
||||||
self.push_to_liquidsoap(current_chain[problem_at_iteration:])
|
self.push_to_liquidsoap(current_chain[problem_at_iteration:])
|
||||||
|
|
||||||
|
|
||||||
|
@ -249,11 +250,13 @@ class PypoPush(Thread):
|
||||||
link_start = datetime.strptime(link['start'], "%Y-%m-%d-%H-%M-%S")
|
link_start = datetime.strptime(link['start'], "%Y-%m-%d-%H-%M-%S")
|
||||||
|
|
||||||
diff_td = tnow - link_start
|
diff_td = tnow - link_start
|
||||||
|
diff_sec = self.convert_timedelta_to_seconds(diff_td)
|
||||||
|
|
||||||
self.logger.debug("media item was supposed to start %s ago. Preparing to start..", diff_td)
|
if diff_sec > 0:
|
||||||
original_cue_in_td = timedelta(seconds=float(link['cue_in']))
|
self.logger.debug("media item was supposed to start %s ago. Preparing to start..", diff_sec)
|
||||||
link['cue_in'] = self.convert_timedelta_to_seconds(original_cue_in_td + diff_td)
|
original_cue_in_td = timedelta(seconds=float(link['cue_in']))
|
||||||
|
link['cue_in'] = self.convert_timedelta_to_seconds(original_cue_in_td) + diff_sec
|
||||||
|
|
||||||
|
|
||||||
def convert_timedelta_to_seconds(self, td):
|
def convert_timedelta_to_seconds(self, td):
|
||||||
return (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6
|
return (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue