CC-2301 : updating playlist offsets in playlist builder to reflect crossfade overlaps.

This commit is contained in:
Naomi 2013-04-30 16:27:31 -04:00
parent 2462e4f144
commit 2a1ac0ddb9
4 changed files with 15 additions and 1 deletions

View File

@ -195,6 +195,7 @@ SELECT pc.id AS id,
pc.cueout, pc.cueout,
pc.fadein, pc.fadein,
pc.fadeout, pc.fadeout,
pc.trackoffset,
bl.type, bl.type,
f.LENGTH AS orig_length, f.LENGTH AS orig_length,
f.id AS item_id, f.id AS item_id,
@ -235,7 +236,9 @@ SQL;
$row['cueInSec'] = Application_Common_DateHelper::playlistTimeToSeconds($row['cuein']); $row['cueInSec'] = Application_Common_DateHelper::playlistTimeToSeconds($row['cuein']);
$row['cueOutSec'] = Application_Common_DateHelper::playlistTimeToSeconds($row['cueout']); $row['cueOutSec'] = Application_Common_DateHelper::playlistTimeToSeconds($row['cueout']);
$trackoffset = $row['trackoffset'];
$offset += $clipSec; $offset += $clipSec;
$offset -= $trackoffset;
$offset_cliplength = Application_Common_DateHelper::secondsToPlaylistTime($offset); $offset_cliplength = Application_Common_DateHelper::secondsToPlaylistTime($offset);
//format the length for UI. //format the length for UI.

View File

@ -161,6 +161,7 @@ class Application_Model_Playlist implements Application_Model_LibraryEditable
pc.cueout, pc.cueout,
pc.fadein, pc.fadein,
pc.fadeout, pc.fadeout,
pc.trackoffset,
f.id AS item_id, f.id AS item_id,
f.track_title, f.track_title,
f.artist_name AS creator, f.artist_name AS creator,
@ -188,6 +189,7 @@ SQL;
pc.cueout, pc.cueout,
pc.fadein, pc.fadein,
pc.fadeout, pc.fadeout,
pc.trackoffset,
ws.id AS item_id, ws.id AS item_id,
(ws.name || ': ' || ws.url) AS title, (ws.name || ': ' || ws.url) AS title,
sub.login AS creator, sub.login AS creator,
@ -208,6 +210,7 @@ SQL;
pc.cueout, pc.cueout,
pc.fadein, pc.fadein,
pc.fadeout, pc.fadeout,
pc.trackoffset,
bl.id AS item_id, bl.id AS item_id,
bl.name AS title, bl.name AS title,
sbj.login AS creator, sbj.login AS creator,
@ -222,6 +225,7 @@ SQL;
AND pc.TYPE = 2)) AS temp AND pc.TYPE = 2)) AS temp
ORDER BY temp.position; ORDER BY temp.position;
SQL; SQL;
//Logging::info($sql);
$params = array( $params = array(
':playlist_id1'=>$this->id, ':playlist_id2'=>$this->id, ':playlist_id3'=>$this->id); ':playlist_id1'=>$this->id, ':playlist_id2'=>$this->id, ':playlist_id3'=>$this->id);
@ -233,13 +237,18 @@ SQL;
$offset = 0; $offset = 0;
foreach ($rows as &$row) { foreach ($rows as &$row) {
//Logging::info($row);
$clipSec = Application_Common_DateHelper::playlistTimeToSeconds($row['length']); $clipSec = Application_Common_DateHelper::playlistTimeToSeconds($row['length']);
$row['trackSec'] = $clipSec; $row['trackSec'] = $clipSec;
$row['cueInSec'] = Application_Common_DateHelper::playlistTimeToSeconds($row['cuein']); $row['cueInSec'] = Application_Common_DateHelper::playlistTimeToSeconds($row['cuein']);
$row['cueOutSec'] = Application_Common_DateHelper::playlistTimeToSeconds($row['cueout']); $row['cueOutSec'] = Application_Common_DateHelper::playlistTimeToSeconds($row['cueout']);
$trackoffset = $row['trackoffset'];
$offset += $clipSec; $offset += $clipSec;
$offset -= $trackoffset;
$offset_cliplength = Application_Common_DateHelper::secondsToPlaylistTime($offset); $offset_cliplength = Application_Common_DateHelper::secondsToPlaylistTime($offset);
//format the length for UI. //format the length for UI.

View File

@ -94,7 +94,7 @@ if (($i < count($items) -1) && ($items[$i+1]['type'] == 0)) {
'item2Url' => $nextFileUrl, 'item2Url' => $nextFileUrl,
'fadeOut' => $items[$i]['fadeout'], 'fadeOut' => $items[$i]['fadeout'],
'fadeIn' => $items[$i+1]['fadein'], 'fadeIn' => $items[$i+1]['fadein'],
'offset' => $items[$i]['trackSec'], 'offset' => $items[$i]['trackSec'] - $items[$i+1]['trackoffset'],
'cueIn1' => $items[$i]['cueInSec'], 'cueIn1' => $items[$i]['cueInSec'],
'cueOut1' => $items[$i]['cueOutSec'], 'cueOut1' => $items[$i]['cueOutSec'],
'cueIn2' => $items[$i+1]['cueInSec'], 'cueIn2' => $items[$i+1]['cueInSec'],

View File

@ -167,6 +167,7 @@ var AIRTIME = (function(AIRTIME){
function(json){ function(json){
$el.dialog('destroy'); $el.dialog('destroy');
$el.remove();
if (json.error !== undefined){ if (json.error !== undefined){
playlistError(json); playlistError(json);
@ -199,6 +200,7 @@ var AIRTIME = (function(AIRTIME){
function(json){ function(json){
$el.dialog('destroy'); $el.dialog('destroy');
$el.remove();
if (json.error !== undefined){ if (json.error !== undefined){
playlistError(json); playlistError(json);