CC-84: Smart Playlists

- drag and drop playlist that contains block
- audio preview of playlist that contains static block
This commit is contained in:
James 2012-07-27 11:51:50 -04:00
parent 7cde4ba2ba
commit 5becd70ab1
11 changed files with 244 additions and 87 deletions

View file

@ -98,27 +98,39 @@ class AudiopreviewController extends Zend_Controller_Action
$pl = new Application_Model_Playlist($playlistID); $pl = new Application_Model_Playlist($playlistID);
$result = Array(); $result = Array();
foreach ($pl->getContents(true) as $track) { foreach ($pl->getContents(true) as $ele) {
if ($ele['type'] == 2) {
$elementMap = array( 'element_title' => isset($track['track_title'])?$track['track_title']:"", // if element is a block expand and add
'element_artist' => isset($track['artist_name'])?$track['artist_name']:"", $bl = new Application_Model_Block($ele['item_id']);
'element_id' => isset($track['id'])?$track['id']:"", if ($bl->isStatic()) {
'element_position' => isset($track['position'])?$track['position']:"", foreach ($bl->getContents(true) as $track) {
); $result[] = $this->createElementMap($track);
$fileExtension = pathinfo($track['path'], PATHINFO_EXTENSION); }
if (strtolower($fileExtension) === 'mp3') { }
$elementMap['element_mp3'] = $track['item_id']; }else{
} else if (strtolower($fileExtension) === 'ogg') { $result[] = $this->createElementMap($ele);
$elementMap['element_oga'] = $track['item_id'];
} else {
//the media was neither mp3 or ogg
} }
$result[] = $elementMap;
} }
$this->_helper->json($result); $this->_helper->json($result);
} }
function createElementMap($track){
$elementMap = array( 'element_title' => isset($track['track_title'])?$track['track_title']:"",
'element_artist' => isset($track['artist_name'])?$track['artist_name']:"",
'element_id' => isset($track['id'])?$track['id']:"",
'element_position' => isset($track['position'])?$track['position']:"",
);
$fileExtension = pathinfo($track['path'], PATHINFO_EXTENSION);
if (strtolower($fileExtension) === 'mp3') {
$elementMap['element_mp3'] = $track['item_id'];
} else if (strtolower($fileExtension) === 'ogg') {
$elementMap['element_oga'] = $track['item_id'];
} else {
//the media was neither mp3 or ogg
}
return $elementMap;
}
/** /**
* Simply sets up the view to play the required show track. * Simply sets up the view to play the required show track.

View file

@ -189,7 +189,7 @@ class Application_Model_Block
*/ */
public function getContents($filterFiles=false) public function getContents($filterFiles=false)
{ {
Logging::log("Getting contents for playlist {$this->id}"); Logging::log("Getting contents for block {$this->id}");
$files = array(); $files = array();
$sql = <<<"EOT" $sql = <<<"EOT"
@ -197,13 +197,11 @@ class Application_Model_Block
f.id as item_id, f.track_title, f.artist_name as creator, f.file_exists as exists, f.filepath as path FROM cc_blockcontents AS pc f.id as item_id, f.track_title, f.artist_name as creator, f.file_exists as exists, f.filepath as path FROM cc_blockcontents AS pc
LEFT JOIN cc_files AS f ON pc.file_id=f.id WHERE pc.block_id = {$this->id}; LEFT JOIN cc_files AS f ON pc.file_id=f.id WHERE pc.block_id = {$this->id};
EOT; EOT;
Logging::debug($sql);
$con = Propel::getConnection(); $con = Propel::getConnection();
$rows = $con->query($sql)->fetchAll(); $rows = $con->query($sql)->fetchAll();
$offset = 0; $offset = 0;
foreach ($rows as &$row) { foreach ($rows as &$row) {
Logging::log($row);
$clipSec = Application_Common_DateHelper::playlistTimeToSeconds($row['length']); $clipSec = Application_Common_DateHelper::playlistTimeToSeconds($row['length']);
$offset += $clipSec; $offset += $clipSec;

View file

@ -172,22 +172,26 @@ class Application_Model_Playlist
$rows = $query->find($this->con); $rows = $query->find($this->con);
*/ */
$sql = <<<"EOT" $sql = <<<"EOT"
(SELECT * FROM
((SELECT pc.id as id, pc.type, pc.position, pc.cliplength as length, pc.cuein, pc.cueout, pc.fadein, pc.fadeout, ((SELECT pc.id as id, pc.type, pc.position, pc.cliplength as length, pc.cuein, pc.cueout, pc.fadein, pc.fadeout,
f.id as item_id, f.track_title, f.artist_name as creator, f.file_exists as exists, f.filepath as path FROM cc_playlistcontents AS pc f.id as item_id, f.track_title, f.artist_name as creator, f.file_exists as exists, f.filepath as path FROM cc_playlistcontents AS pc
JOIN cc_files AS f ON pc.file_id=f.id WHERE pc.playlist_id = {$this->id} AND type = 0) JOIN cc_files AS f ON pc.file_id=f.id WHERE pc.playlist_id = {$this->id} AND type = 0)
UNION ALL UNION ALL
(SELECT pc.id as id, pc.type, pc.position, pc.cliplength as length, pc.cuein, pc.cueout, pc.fadein, pc.fadeout, (SELECT pc.id as id, pc.type, pc.position, pc.cliplength as length, pc.cuein, pc.cueout, pc.fadein, pc.fadeout,
ws.id as item_id, (ws.name || ': ' || ws.url) as title, ws.login as creator, 't'::boolean as exists, ws.url as path FROM cc_playlistcontents AS pc ws.id as item_id, (ws.name || ': ' || ws.url) as title, ws.login as creator, 't'::boolean as exists, ws.url as path FROM cc_playlistcontents AS pc
JOIN cc_webstream AS ws on pc.file_id=ws.id WHERE pc.playlist_id = {$this->id} AND type = 1)); JOIN cc_webstream AS ws on pc.stream_id=ws.id WHERE pc.playlist_id = {$this->id} AND type = 1)
UNION ALL
(SELECT pc.id as id, pc.type, pc.position, pc.cliplength as length, pc.cuein, pc.cueout, pc.fadein, pc.fadeout,
bl.id as item_id, bl.name as title, sbj.login as creator, 't'::boolean as exists, NULL::text as path FROM cc_playlistcontents AS pc
JOIN cc_block AS bl on pc.block_id=bl.id
JOIN cc_subjs as sbj ON bl.creator_id=sbj.id WHERE pc.playlist_id = {$this->id} AND pc.type = 2)) as temp
ORDER BY temp.position);
EOT; EOT;
Logging::debug($sql);
$con = Propel::getConnection(); $con = Propel::getConnection();
$rows = $con->query($sql)->fetchAll(); $rows = $con->query($sql)->fetchAll();
$offset = 0; $offset = 0;
foreach ($rows as &$row) { foreach ($rows as &$row) {
Logging::log($row);
$clipSec = Application_Common_DateHelper::playlistTimeToSeconds($row['length']); $clipSec = Application_Common_DateHelper::playlistTimeToSeconds($row['length']);
$offset += $clipSec; $offset += $clipSec;
$offset_cliplength = Application_Common_DateHelper::secondsToPlaylistTime($offset); $offset_cliplength = Application_Common_DateHelper::secondsToPlaylistTime($offset);
@ -255,17 +259,26 @@ EOT;
return $this->pl->getDbLength(); return $this->pl->getDbLength();
} }
private function insertPlaylistElement($info, $type) private function insertPlaylistElement($info)
{ {
$row = new CcPlaylistcontents(); $row = new CcPlaylistcontents();
$row->setDbPlaylistId($this->id); $row->setDbPlaylistId($this->id);
$row->setDbFileId($info["id"]);
$row->setDbPosition($info["pos"]); $row->setDbPosition($info["pos"]);
$row->setDbCliplength($info["cliplength"]); $row->setDbCliplength($info["cliplength"]);
$row->setDbCuein($info["cuein"]); $row->setDbCuein($info["cuein"]);
$row->setDbCueout($info["cueout"]); $row->setDbCueout($info["cueout"]);
$row->setDbFadein($info["fadein"]); $row->setDbFadein($info["fadein"]);
$row->setDbFadeout($info["fadeout"]); $row->setDbFadeout($info["fadeout"]);
if ($info["ftype"] == "audioclip") {
$row->setDbFileId($info["id"]);
$type = 0;
} else if ($info["ftype"] == "stream") {
$row->setDbStreamId($info["id"]);
$type = 1;
} else if ($info["ftype"] == "block") {
$row->setDbBlockId($info["id"]);
$type = 2;
}
$row->setDbType($type); $row->setDbType($type);
$row->save($this->con); $row->save($this->con);
// above save result update on cc_playlist table on length column. // above save result update on cc_playlist table on length column.
@ -299,6 +312,7 @@ EOT;
$entry["pos"] = $pos; $entry["pos"] = $pos;
$entry["cliplength"] = $obj->getDbLength(); $entry["cliplength"] = $obj->getDbLength();
$entry["cueout"] = $obj->getDbLength(); $entry["cueout"] = $obj->getDbLength();
$entry["ftype"] = $objType;
} }
return $entry; return $entry;
} else { } else {
@ -380,9 +394,9 @@ EOT;
Logging::log("at position {$pos}"); Logging::log("at position {$pos}");
foreach ($p_items as $ac) { foreach ($p_items as $ac) {
$res = $this->insertPlaylistElement($this->buildEntry($ac, $pos), 0); $res = $this->insertPlaylistElement($this->buildEntry($ac, $pos));
$pos = $pos + 1; $pos = $pos + 1;
Logging::log("Adding audio file {$ac}"); Logging::log("Adding $ac[1] $ac[0]");
} }

View file

@ -275,7 +275,6 @@ class Application_Model_Schedule
%%join%% %%join%%
--JOIN cc_webstream AS ws ON (sched.stream_id = ws.id) --JOIN cc_webstream AS ws ON (sched.stream_id = ws.id)
RIGHT JOIN cc_show_instances AS si ON (si.id = sched.instance_id))
JOIN cc_show AS showt ON (showt.id = si.show_id) JOIN cc_show AS showt ON (showt.id = si.show_id)
) )
@ -289,14 +288,13 @@ class Application_Model_Schedule
$templateSql .= " AND show_id IN (".implode(",", $p_shows).")"; $templateSql .= " AND show_id IN (".implode(",", $p_shows).")";
} }
$templateSql .= " ORDER BY si.starts, sched.starts";
$filesSql = str_replace("%%columns%%", $filesSql = str_replace("%%columns%%",
"ft.track_title AS file_track_title, ft.artist_name AS file_artist_name, "ft.track_title AS file_track_title, ft.artist_name AS file_artist_name,
ft.album_title AS file_album_title, ft.length AS file_length, ft.file_exists AS file_exists", ft.album_title AS file_album_title, ft.length AS file_length, ft.file_exists AS file_exists",
$templateSql); $templateSql);
$filesSql= str_replace("%%join%%", $filesSql= str_replace("%%join%%",
"cc_schedule AS sched JOIN cc_files AS ft ON (sched.file_id = ft.id)", "cc_schedule AS sched JOIN cc_files AS ft ON (sched.file_id = ft.id)
RIGHT JOIN cc_show_instances AS si ON (si.id = sched.instance_id))",
$filesSql); $filesSql);
$streamSql = str_replace("%%columns%%", $streamSql = str_replace("%%columns%%",
@ -304,10 +302,11 @@ class Application_Model_Schedule
ws.description AS file_album_title, ws.length AS file_length, 't'::BOOL AS file_exists", ws.description AS file_album_title, ws.length AS file_length, 't'::BOOL AS file_exists",
$templateSql); $templateSql);
$streamSql = str_replace("%%join%%", $streamSql = str_replace("%%join%%",
"cc_schedule AS sched JOIN cc_webstream AS ws ON (sched.stream_id = ws.id)", "cc_schedule AS sched JOIN cc_webstream AS ws ON (sched.stream_id = ws.id)
JOIN cc_show_instances AS si ON (si.id = sched.instance_id))",
$streamSql); $streamSql);
$sql = "($filesSql) UNION ($streamSql)"; $sql = "SELECT * FROM (($filesSql) UNION ($streamSql)) as temp ORDER BY si_starts, sched_starts";
$rows = $con->query($sql)->fetchAll(PDO::FETCH_ASSOC); $rows = $con->query($sql)->fetchAll(PDO::FETCH_ASSOC);
return $rows; return $rows;

View file

@ -147,9 +147,53 @@ class Application_Model_Scheduler
$files[] = $data; $files[] = $data;
} }
} else if ($type === "playlist") { } else if ($type === "playlist") {
$pl = new Application_Model_Playlist($id);
$contents = $pl->getContents();
foreach ($contents as $plItem) {
if ($plItem['type'] == 0){
$data["id"] = $plItem['item_id'];
$data["cliplength"] = $plItem['length'];
$data["cuein"] = $plItem['cuein'];
$data["cueout"] = $plItem['cueout'];
$data["fadein"] = $plItem['fadein'];
$data["fadeout"] = $plItem['fadeout'];
$data["type"] = 0;
$files[] = $data;
} else if ($plItem['type'] == 2) {
// if it's a block
$bl = new Application_Model_Block($plItem['item_id']);
if ($bl->isStatic()) {
foreach ($bl->getContents() as $track) {
$data["id"] = $track['item_id'];
$data["cliplength"] = $track['length'];
$data["cuein"] = $track['cuein'];
$data["cueout"] = $track['cueout'];
$data["fadein"] = $track['fadein'];
$data["fadeout"] = $track['fadeout'];
$data["type"] = 0;
$files[] = $data;
}
} else {
$dynamicFiles = $bl->getListOfFilesUnderLimit();
foreach ($dynamicFiles as $fileId=>$f) {
$file = CcFilesQuery::create()->findPk($fileId);
if (isset($file) && $file->getDbFileExists()) {
$data["id"] = $file->getDbId();
$data["cliplength"] = $file->getDbLength();
$data["cuein"] = "00:00:00";
$data["cueout"] = "00:00:00";
$data["fadein"] = "00:00:00";
$data["fadeout"] = "00:00:00";
$data["type"] = 0;
$files[] = $data;
}
}
}
}
}
// find if the playslit is static or dynamic // find if the playslit is static or dynamic
$c = new Criteria(); /*$c = new Criteria();
$c->add(CcPlaylistPeer::ID, $id); $c->add(CcPlaylistPeer::ID, $id);
$pl = CcPlaylistPeer::doSelect($c); $pl = CcPlaylistPeer::doSelect($c);
$playlistType = $pl[0]->getDbType(); $playlistType = $pl[0]->getDbType();
@ -166,11 +210,11 @@ class Application_Model_Scheduler
if (is_null($contents)) { if (is_null($contents)) {
throw new Exception("A selected Playlist does not exist!"); throw new Exception("A selected Playlist does not exist!");
} }*/
foreach ($contents as $fileId => $plItem) { /*foreach ($contents as $fileId => $plItem) {
$data = $this->fileInfo; $data = $this->fileInfo;
if ($playlistType == "static"){ if ($plItem['type'] == 0){
$file = $plItem->getCcFiles($this->con); $file = $plItem->getCcFiles($this->con);
if (isset($file) && $file->getDbFileExists()) { if (isset($file) && $file->getDbFileExists()) {
$data["id"] = $plItem->getDbFileId(); $data["id"] = $plItem->getDbFileId();
@ -189,7 +233,7 @@ class Application_Model_Scheduler
} }
} }
$files[] = $data; $files[] = $data;
} }*/
} else if ($type == "stream") { } else if ($type == "stream") {
//need to return //need to return
$stream = CcWebstreamQuery::create()->findPK($id, $this->con); $stream = CcWebstreamQuery::create()->findPK($id, $this->con);
@ -213,7 +257,6 @@ class Application_Model_Scheduler
$files[] = $data; $files[] = $data;
} }
} }
return $files; return $files;
} }

View file

@ -42,6 +42,7 @@ class CcPlaylistcontentsTableMap extends TableMap {
$this->addForeignKey('PLAYLIST_ID', 'DbPlaylistId', 'INTEGER', 'cc_playlist', 'ID', false, null, null); $this->addForeignKey('PLAYLIST_ID', 'DbPlaylistId', 'INTEGER', 'cc_playlist', 'ID', false, null, null);
$this->addForeignKey('FILE_ID', 'DbFileId', 'INTEGER', 'cc_files', 'ID', false, null, null); $this->addForeignKey('FILE_ID', 'DbFileId', 'INTEGER', 'cc_files', 'ID', false, null, null);
$this->addForeignKey('BLOCK_ID', 'DbBlockId', 'INTEGER', 'cc_block', 'ID', false, null, null); $this->addForeignKey('BLOCK_ID', 'DbBlockId', 'INTEGER', 'cc_block', 'ID', false, null, null);
$this->addColumn('STREAM_ID', 'DbStreamId', 'INTEGER', false, null, null);
$this->addColumn('TYPE', 'DbType', 'SMALLINT', true, null, 0); $this->addColumn('TYPE', 'DbType', 'SMALLINT', true, null, 0);
$this->addColumn('POSITION', 'DbPosition', 'INTEGER', false, null, null); $this->addColumn('POSITION', 'DbPosition', 'INTEGER', false, null, null);
$this->addColumn('CLIPLENGTH', 'DbCliplength', 'VARCHAR', false, null, '00:00:00'); $this->addColumn('CLIPLENGTH', 'DbCliplength', 'VARCHAR', false, null, '00:00:00');

View file

@ -48,6 +48,12 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
*/ */
protected $block_id; protected $block_id;
/**
* The value for the stream_id field.
* @var int
*/
protected $stream_id;
/** /**
* The value for the type field. * The value for the type field.
* Note: this column has a database default value of: 0 * Note: this column has a database default value of: 0
@ -194,6 +200,16 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
return $this->block_id; return $this->block_id;
} }
/**
* Get the [stream_id] column value.
*
* @return int
*/
public function getDbStreamId()
{
return $this->stream_id;
}
/** /**
* Get the [type] column value. * Get the [type] column value.
* *
@ -402,6 +418,26 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
return $this; return $this;
} // setDbBlockId() } // setDbBlockId()
/**
* Set the value of [stream_id] column.
*
* @param int $v new value
* @return CcPlaylistcontents The current object (for fluent API support)
*/
public function setDbStreamId($v)
{
if ($v !== null) {
$v = (int) $v;
}
if ($this->stream_id !== $v) {
$this->stream_id = $v;
$this->modifiedColumns[] = CcPlaylistcontentsPeer::STREAM_ID;
}
return $this;
} // setDbStreamId()
/** /**
* Set the value of [type] column. * Set the value of [type] column.
* *
@ -662,13 +698,14 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$this->playlist_id = ($row[$startcol + 1] !== null) ? (int) $row[$startcol + 1] : null; $this->playlist_id = ($row[$startcol + 1] !== null) ? (int) $row[$startcol + 1] : null;
$this->file_id = ($row[$startcol + 2] !== null) ? (int) $row[$startcol + 2] : null; $this->file_id = ($row[$startcol + 2] !== null) ? (int) $row[$startcol + 2] : null;
$this->block_id = ($row[$startcol + 3] !== null) ? (int) $row[$startcol + 3] : null; $this->block_id = ($row[$startcol + 3] !== null) ? (int) $row[$startcol + 3] : null;
$this->type = ($row[$startcol + 4] !== null) ? (int) $row[$startcol + 4] : null; $this->stream_id = ($row[$startcol + 4] !== null) ? (int) $row[$startcol + 4] : null;
$this->position = ($row[$startcol + 5] !== null) ? (int) $row[$startcol + 5] : null; $this->type = ($row[$startcol + 5] !== null) ? (int) $row[$startcol + 5] : null;
$this->cliplength = ($row[$startcol + 6] !== null) ? (string) $row[$startcol + 6] : null; $this->position = ($row[$startcol + 6] !== null) ? (int) $row[$startcol + 6] : null;
$this->cuein = ($row[$startcol + 7] !== null) ? (string) $row[$startcol + 7] : null; $this->cliplength = ($row[$startcol + 7] !== null) ? (string) $row[$startcol + 7] : null;
$this->cueout = ($row[$startcol + 8] !== null) ? (string) $row[$startcol + 8] : null; $this->cuein = ($row[$startcol + 8] !== null) ? (string) $row[$startcol + 8] : null;
$this->fadein = ($row[$startcol + 9] !== null) ? (string) $row[$startcol + 9] : null; $this->cueout = ($row[$startcol + 9] !== null) ? (string) $row[$startcol + 9] : null;
$this->fadeout = ($row[$startcol + 10] !== null) ? (string) $row[$startcol + 10] : null; $this->fadein = ($row[$startcol + 10] !== null) ? (string) $row[$startcol + 10] : null;
$this->fadeout = ($row[$startcol + 11] !== null) ? (string) $row[$startcol + 11] : null;
$this->resetModified(); $this->resetModified();
$this->setNew(false); $this->setNew(false);
@ -677,7 +714,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$this->ensureConsistency(); $this->ensureConsistency();
} }
return $startcol + 11; // 11 = CcPlaylistcontentsPeer::NUM_COLUMNS - CcPlaylistcontentsPeer::NUM_LAZY_LOAD_COLUMNS). return $startcol + 12; // 12 = CcPlaylistcontentsPeer::NUM_COLUMNS - CcPlaylistcontentsPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) { } catch (Exception $e) {
throw new PropelException("Error populating CcPlaylistcontents object", $e); throw new PropelException("Error populating CcPlaylistcontents object", $e);
@ -1053,24 +1090,27 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
return $this->getDbBlockId(); return $this->getDbBlockId();
break; break;
case 4: case 4:
return $this->getDbType(); return $this->getDbStreamId();
break; break;
case 5: case 5:
return $this->getDbPosition(); return $this->getDbType();
break; break;
case 6: case 6:
return $this->getDbCliplength(); return $this->getDbPosition();
break; break;
case 7: case 7:
return $this->getDbCuein(); return $this->getDbCliplength();
break; break;
case 8: case 8:
return $this->getDbCueout(); return $this->getDbCuein();
break; break;
case 9: case 9:
return $this->getDbFadein(); return $this->getDbCueout();
break; break;
case 10: case 10:
return $this->getDbFadein();
break;
case 11:
return $this->getDbFadeout(); return $this->getDbFadeout();
break; break;
default: default:
@ -1101,13 +1141,14 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$keys[1] => $this->getDbPlaylistId(), $keys[1] => $this->getDbPlaylistId(),
$keys[2] => $this->getDbFileId(), $keys[2] => $this->getDbFileId(),
$keys[3] => $this->getDbBlockId(), $keys[3] => $this->getDbBlockId(),
$keys[4] => $this->getDbType(), $keys[4] => $this->getDbStreamId(),
$keys[5] => $this->getDbPosition(), $keys[5] => $this->getDbType(),
$keys[6] => $this->getDbCliplength(), $keys[6] => $this->getDbPosition(),
$keys[7] => $this->getDbCuein(), $keys[7] => $this->getDbCliplength(),
$keys[8] => $this->getDbCueout(), $keys[8] => $this->getDbCuein(),
$keys[9] => $this->getDbFadein(), $keys[9] => $this->getDbCueout(),
$keys[10] => $this->getDbFadeout(), $keys[10] => $this->getDbFadein(),
$keys[11] => $this->getDbFadeout(),
); );
if ($includeForeignObjects) { if ($includeForeignObjects) {
if (null !== $this->aCcFiles) { if (null !== $this->aCcFiles) {
@ -1163,24 +1204,27 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$this->setDbBlockId($value); $this->setDbBlockId($value);
break; break;
case 4: case 4:
$this->setDbType($value); $this->setDbStreamId($value);
break; break;
case 5: case 5:
$this->setDbPosition($value); $this->setDbType($value);
break; break;
case 6: case 6:
$this->setDbCliplength($value); $this->setDbPosition($value);
break; break;
case 7: case 7:
$this->setDbCuein($value); $this->setDbCliplength($value);
break; break;
case 8: case 8:
$this->setDbCueout($value); $this->setDbCuein($value);
break; break;
case 9: case 9:
$this->setDbFadein($value); $this->setDbCueout($value);
break; break;
case 10: case 10:
$this->setDbFadein($value);
break;
case 11:
$this->setDbFadeout($value); $this->setDbFadeout($value);
break; break;
} // switch() } // switch()
@ -1211,13 +1255,14 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
if (array_key_exists($keys[1], $arr)) $this->setDbPlaylistId($arr[$keys[1]]); if (array_key_exists($keys[1], $arr)) $this->setDbPlaylistId($arr[$keys[1]]);
if (array_key_exists($keys[2], $arr)) $this->setDbFileId($arr[$keys[2]]); if (array_key_exists($keys[2], $arr)) $this->setDbFileId($arr[$keys[2]]);
if (array_key_exists($keys[3], $arr)) $this->setDbBlockId($arr[$keys[3]]); if (array_key_exists($keys[3], $arr)) $this->setDbBlockId($arr[$keys[3]]);
if (array_key_exists($keys[4], $arr)) $this->setDbType($arr[$keys[4]]); if (array_key_exists($keys[4], $arr)) $this->setDbStreamId($arr[$keys[4]]);
if (array_key_exists($keys[5], $arr)) $this->setDbPosition($arr[$keys[5]]); if (array_key_exists($keys[5], $arr)) $this->setDbType($arr[$keys[5]]);
if (array_key_exists($keys[6], $arr)) $this->setDbCliplength($arr[$keys[6]]); if (array_key_exists($keys[6], $arr)) $this->setDbPosition($arr[$keys[6]]);
if (array_key_exists($keys[7], $arr)) $this->setDbCuein($arr[$keys[7]]); if (array_key_exists($keys[7], $arr)) $this->setDbCliplength($arr[$keys[7]]);
if (array_key_exists($keys[8], $arr)) $this->setDbCueout($arr[$keys[8]]); if (array_key_exists($keys[8], $arr)) $this->setDbCuein($arr[$keys[8]]);
if (array_key_exists($keys[9], $arr)) $this->setDbFadein($arr[$keys[9]]); if (array_key_exists($keys[9], $arr)) $this->setDbCueout($arr[$keys[9]]);
if (array_key_exists($keys[10], $arr)) $this->setDbFadeout($arr[$keys[10]]); if (array_key_exists($keys[10], $arr)) $this->setDbFadein($arr[$keys[10]]);
if (array_key_exists($keys[11], $arr)) $this->setDbFadeout($arr[$keys[11]]);
} }
/** /**
@ -1233,6 +1278,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
if ($this->isColumnModified(CcPlaylistcontentsPeer::PLAYLIST_ID)) $criteria->add(CcPlaylistcontentsPeer::PLAYLIST_ID, $this->playlist_id); if ($this->isColumnModified(CcPlaylistcontentsPeer::PLAYLIST_ID)) $criteria->add(CcPlaylistcontentsPeer::PLAYLIST_ID, $this->playlist_id);
if ($this->isColumnModified(CcPlaylistcontentsPeer::FILE_ID)) $criteria->add(CcPlaylistcontentsPeer::FILE_ID, $this->file_id); if ($this->isColumnModified(CcPlaylistcontentsPeer::FILE_ID)) $criteria->add(CcPlaylistcontentsPeer::FILE_ID, $this->file_id);
if ($this->isColumnModified(CcPlaylistcontentsPeer::BLOCK_ID)) $criteria->add(CcPlaylistcontentsPeer::BLOCK_ID, $this->block_id); if ($this->isColumnModified(CcPlaylistcontentsPeer::BLOCK_ID)) $criteria->add(CcPlaylistcontentsPeer::BLOCK_ID, $this->block_id);
if ($this->isColumnModified(CcPlaylistcontentsPeer::STREAM_ID)) $criteria->add(CcPlaylistcontentsPeer::STREAM_ID, $this->stream_id);
if ($this->isColumnModified(CcPlaylistcontentsPeer::TYPE)) $criteria->add(CcPlaylistcontentsPeer::TYPE, $this->type); if ($this->isColumnModified(CcPlaylistcontentsPeer::TYPE)) $criteria->add(CcPlaylistcontentsPeer::TYPE, $this->type);
if ($this->isColumnModified(CcPlaylistcontentsPeer::POSITION)) $criteria->add(CcPlaylistcontentsPeer::POSITION, $this->position); if ($this->isColumnModified(CcPlaylistcontentsPeer::POSITION)) $criteria->add(CcPlaylistcontentsPeer::POSITION, $this->position);
if ($this->isColumnModified(CcPlaylistcontentsPeer::CLIPLENGTH)) $criteria->add(CcPlaylistcontentsPeer::CLIPLENGTH, $this->cliplength); if ($this->isColumnModified(CcPlaylistcontentsPeer::CLIPLENGTH)) $criteria->add(CcPlaylistcontentsPeer::CLIPLENGTH, $this->cliplength);
@ -1304,6 +1350,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$copyObj->setDbPlaylistId($this->playlist_id); $copyObj->setDbPlaylistId($this->playlist_id);
$copyObj->setDbFileId($this->file_id); $copyObj->setDbFileId($this->file_id);
$copyObj->setDbBlockId($this->block_id); $copyObj->setDbBlockId($this->block_id);
$copyObj->setDbStreamId($this->stream_id);
$copyObj->setDbType($this->type); $copyObj->setDbType($this->type);
$copyObj->setDbPosition($this->position); $copyObj->setDbPosition($this->position);
$copyObj->setDbCliplength($this->cliplength); $copyObj->setDbCliplength($this->cliplength);
@ -1514,6 +1561,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$this->playlist_id = null; $this->playlist_id = null;
$this->file_id = null; $this->file_id = null;
$this->block_id = null; $this->block_id = null;
$this->stream_id = null;
$this->type = null; $this->type = null;
$this->position = null; $this->position = null;
$this->cliplength = null; $this->cliplength = null;

View file

@ -26,7 +26,7 @@ abstract class BaseCcPlaylistcontentsPeer {
const TM_CLASS = 'CcPlaylistcontentsTableMap'; const TM_CLASS = 'CcPlaylistcontentsTableMap';
/** The total number of columns. */ /** The total number of columns. */
const NUM_COLUMNS = 11; const NUM_COLUMNS = 12;
/** The number of lazy-loaded columns. */ /** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0; const NUM_LAZY_LOAD_COLUMNS = 0;
@ -43,6 +43,9 @@ abstract class BaseCcPlaylistcontentsPeer {
/** the column name for the BLOCK_ID field */ /** the column name for the BLOCK_ID field */
const BLOCK_ID = 'cc_playlistcontents.BLOCK_ID'; const BLOCK_ID = 'cc_playlistcontents.BLOCK_ID';
/** the column name for the STREAM_ID field */
const STREAM_ID = 'cc_playlistcontents.STREAM_ID';
/** the column name for the TYPE field */ /** the column name for the TYPE field */
const TYPE = 'cc_playlistcontents.TYPE'; const TYPE = 'cc_playlistcontents.TYPE';
@ -80,12 +83,12 @@ abstract class BaseCcPlaylistcontentsPeer {
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/ */
private static $fieldNames = array ( private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('DbId', 'DbPlaylistId', 'DbFileId', 'DbBlockId', 'DbType', 'DbPosition', 'DbCliplength', 'DbCuein', 'DbCueout', 'DbFadein', 'DbFadeout', ), BasePeer::TYPE_PHPNAME => array ('DbId', 'DbPlaylistId', 'DbFileId', 'DbBlockId', 'DbStreamId', 'DbType', 'DbPosition', 'DbCliplength', 'DbCuein', 'DbCueout', 'DbFadein', 'DbFadeout', ),
BasePeer::TYPE_STUDLYPHPNAME => array ('dbId', 'dbPlaylistId', 'dbFileId', 'dbBlockId', 'dbType', 'dbPosition', 'dbCliplength', 'dbCuein', 'dbCueout', 'dbFadein', 'dbFadeout', ), BasePeer::TYPE_STUDLYPHPNAME => array ('dbId', 'dbPlaylistId', 'dbFileId', 'dbBlockId', 'dbStreamId', 'dbType', 'dbPosition', 'dbCliplength', 'dbCuein', 'dbCueout', 'dbFadein', 'dbFadeout', ),
BasePeer::TYPE_COLNAME => array (self::ID, self::PLAYLIST_ID, self::FILE_ID, self::BLOCK_ID, self::TYPE, self::POSITION, self::CLIPLENGTH, self::CUEIN, self::CUEOUT, self::FADEIN, self::FADEOUT, ), BasePeer::TYPE_COLNAME => array (self::ID, self::PLAYLIST_ID, self::FILE_ID, self::BLOCK_ID, self::STREAM_ID, self::TYPE, self::POSITION, self::CLIPLENGTH, self::CUEIN, self::CUEOUT, self::FADEIN, self::FADEOUT, ),
BasePeer::TYPE_RAW_COLNAME => array ('ID', 'PLAYLIST_ID', 'FILE_ID', 'BLOCK_ID', 'TYPE', 'POSITION', 'CLIPLENGTH', 'CUEIN', 'CUEOUT', 'FADEIN', 'FADEOUT', ), BasePeer::TYPE_RAW_COLNAME => array ('ID', 'PLAYLIST_ID', 'FILE_ID', 'BLOCK_ID', 'STREAM_ID', 'TYPE', 'POSITION', 'CLIPLENGTH', 'CUEIN', 'CUEOUT', 'FADEIN', 'FADEOUT', ),
BasePeer::TYPE_FIELDNAME => array ('id', 'playlist_id', 'file_id', 'block_id', 'type', 'position', 'cliplength', 'cuein', 'cueout', 'fadein', 'fadeout', ), BasePeer::TYPE_FIELDNAME => array ('id', 'playlist_id', 'file_id', 'block_id', 'stream_id', 'type', 'position', 'cliplength', 'cuein', 'cueout', 'fadein', 'fadeout', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ) BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, )
); );
/** /**
@ -95,12 +98,12 @@ abstract class BaseCcPlaylistcontentsPeer {
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/ */
private static $fieldKeys = array ( private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('DbId' => 0, 'DbPlaylistId' => 1, 'DbFileId' => 2, 'DbBlockId' => 3, 'DbType' => 4, 'DbPosition' => 5, 'DbCliplength' => 6, 'DbCuein' => 7, 'DbCueout' => 8, 'DbFadein' => 9, 'DbFadeout' => 10, ), BasePeer::TYPE_PHPNAME => array ('DbId' => 0, 'DbPlaylistId' => 1, 'DbFileId' => 2, 'DbBlockId' => 3, 'DbStreamId' => 4, 'DbType' => 5, 'DbPosition' => 6, 'DbCliplength' => 7, 'DbCuein' => 8, 'DbCueout' => 9, 'DbFadein' => 10, 'DbFadeout' => 11, ),
BasePeer::TYPE_STUDLYPHPNAME => array ('dbId' => 0, 'dbPlaylistId' => 1, 'dbFileId' => 2, 'dbBlockId' => 3, 'dbType' => 4, 'dbPosition' => 5, 'dbCliplength' => 6, 'dbCuein' => 7, 'dbCueout' => 8, 'dbFadein' => 9, 'dbFadeout' => 10, ), BasePeer::TYPE_STUDLYPHPNAME => array ('dbId' => 0, 'dbPlaylistId' => 1, 'dbFileId' => 2, 'dbBlockId' => 3, 'dbStreamId' => 4, 'dbType' => 5, 'dbPosition' => 6, 'dbCliplength' => 7, 'dbCuein' => 8, 'dbCueout' => 9, 'dbFadein' => 10, 'dbFadeout' => 11, ),
BasePeer::TYPE_COLNAME => array (self::ID => 0, self::PLAYLIST_ID => 1, self::FILE_ID => 2, self::BLOCK_ID => 3, self::TYPE => 4, self::POSITION => 5, self::CLIPLENGTH => 6, self::CUEIN => 7, self::CUEOUT => 8, self::FADEIN => 9, self::FADEOUT => 10, ), BasePeer::TYPE_COLNAME => array (self::ID => 0, self::PLAYLIST_ID => 1, self::FILE_ID => 2, self::BLOCK_ID => 3, self::STREAM_ID => 4, self::TYPE => 5, self::POSITION => 6, self::CLIPLENGTH => 7, self::CUEIN => 8, self::CUEOUT => 9, self::FADEIN => 10, self::FADEOUT => 11, ),
BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'PLAYLIST_ID' => 1, 'FILE_ID' => 2, 'BLOCK_ID' => 3, 'TYPE' => 4, 'POSITION' => 5, 'CLIPLENGTH' => 6, 'CUEIN' => 7, 'CUEOUT' => 8, 'FADEIN' => 9, 'FADEOUT' => 10, ), BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'PLAYLIST_ID' => 1, 'FILE_ID' => 2, 'BLOCK_ID' => 3, 'STREAM_ID' => 4, 'TYPE' => 5, 'POSITION' => 6, 'CLIPLENGTH' => 7, 'CUEIN' => 8, 'CUEOUT' => 9, 'FADEIN' => 10, 'FADEOUT' => 11, ),
BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'playlist_id' => 1, 'file_id' => 2, 'block_id' => 3, 'type' => 4, 'position' => 5, 'cliplength' => 6, 'cuein' => 7, 'cueout' => 8, 'fadein' => 9, 'fadeout' => 10, ), BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'playlist_id' => 1, 'file_id' => 2, 'block_id' => 3, 'stream_id' => 4, 'type' => 5, 'position' => 6, 'cliplength' => 7, 'cuein' => 8, 'cueout' => 9, 'fadein' => 10, 'fadeout' => 11, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ) BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, )
); );
/** /**
@ -176,6 +179,7 @@ abstract class BaseCcPlaylistcontentsPeer {
$criteria->addSelectColumn(CcPlaylistcontentsPeer::PLAYLIST_ID); $criteria->addSelectColumn(CcPlaylistcontentsPeer::PLAYLIST_ID);
$criteria->addSelectColumn(CcPlaylistcontentsPeer::FILE_ID); $criteria->addSelectColumn(CcPlaylistcontentsPeer::FILE_ID);
$criteria->addSelectColumn(CcPlaylistcontentsPeer::BLOCK_ID); $criteria->addSelectColumn(CcPlaylistcontentsPeer::BLOCK_ID);
$criteria->addSelectColumn(CcPlaylistcontentsPeer::STREAM_ID);
$criteria->addSelectColumn(CcPlaylistcontentsPeer::TYPE); $criteria->addSelectColumn(CcPlaylistcontentsPeer::TYPE);
$criteria->addSelectColumn(CcPlaylistcontentsPeer::POSITION); $criteria->addSelectColumn(CcPlaylistcontentsPeer::POSITION);
$criteria->addSelectColumn(CcPlaylistcontentsPeer::CLIPLENGTH); $criteria->addSelectColumn(CcPlaylistcontentsPeer::CLIPLENGTH);
@ -188,6 +192,7 @@ abstract class BaseCcPlaylistcontentsPeer {
$criteria->addSelectColumn($alias . '.PLAYLIST_ID'); $criteria->addSelectColumn($alias . '.PLAYLIST_ID');
$criteria->addSelectColumn($alias . '.FILE_ID'); $criteria->addSelectColumn($alias . '.FILE_ID');
$criteria->addSelectColumn($alias . '.BLOCK_ID'); $criteria->addSelectColumn($alias . '.BLOCK_ID');
$criteria->addSelectColumn($alias . '.STREAM_ID');
$criteria->addSelectColumn($alias . '.TYPE'); $criteria->addSelectColumn($alias . '.TYPE');
$criteria->addSelectColumn($alias . '.POSITION'); $criteria->addSelectColumn($alias . '.POSITION');
$criteria->addSelectColumn($alias . '.CLIPLENGTH'); $criteria->addSelectColumn($alias . '.CLIPLENGTH');

View file

@ -10,6 +10,7 @@
* @method CcPlaylistcontentsQuery orderByDbPlaylistId($order = Criteria::ASC) Order by the playlist_id column * @method CcPlaylistcontentsQuery orderByDbPlaylistId($order = Criteria::ASC) Order by the playlist_id column
* @method CcPlaylistcontentsQuery orderByDbFileId($order = Criteria::ASC) Order by the file_id column * @method CcPlaylistcontentsQuery orderByDbFileId($order = Criteria::ASC) Order by the file_id column
* @method CcPlaylistcontentsQuery orderByDbBlockId($order = Criteria::ASC) Order by the block_id column * @method CcPlaylistcontentsQuery orderByDbBlockId($order = Criteria::ASC) Order by the block_id column
* @method CcPlaylistcontentsQuery orderByDbStreamId($order = Criteria::ASC) Order by the stream_id column
* @method CcPlaylistcontentsQuery orderByDbType($order = Criteria::ASC) Order by the type column * @method CcPlaylistcontentsQuery orderByDbType($order = Criteria::ASC) Order by the type column
* @method CcPlaylistcontentsQuery orderByDbPosition($order = Criteria::ASC) Order by the position column * @method CcPlaylistcontentsQuery orderByDbPosition($order = Criteria::ASC) Order by the position column
* @method CcPlaylistcontentsQuery orderByDbCliplength($order = Criteria::ASC) Order by the cliplength column * @method CcPlaylistcontentsQuery orderByDbCliplength($order = Criteria::ASC) Order by the cliplength column
@ -22,6 +23,7 @@
* @method CcPlaylistcontentsQuery groupByDbPlaylistId() Group by the playlist_id column * @method CcPlaylistcontentsQuery groupByDbPlaylistId() Group by the playlist_id column
* @method CcPlaylistcontentsQuery groupByDbFileId() Group by the file_id column * @method CcPlaylistcontentsQuery groupByDbFileId() Group by the file_id column
* @method CcPlaylistcontentsQuery groupByDbBlockId() Group by the block_id column * @method CcPlaylistcontentsQuery groupByDbBlockId() Group by the block_id column
* @method CcPlaylistcontentsQuery groupByDbStreamId() Group by the stream_id column
* @method CcPlaylistcontentsQuery groupByDbType() Group by the type column * @method CcPlaylistcontentsQuery groupByDbType() Group by the type column
* @method CcPlaylistcontentsQuery groupByDbPosition() Group by the position column * @method CcPlaylistcontentsQuery groupByDbPosition() Group by the position column
* @method CcPlaylistcontentsQuery groupByDbCliplength() Group by the cliplength column * @method CcPlaylistcontentsQuery groupByDbCliplength() Group by the cliplength column
@ -53,6 +55,7 @@
* @method CcPlaylistcontents findOneByDbPlaylistId(int $playlist_id) Return the first CcPlaylistcontents filtered by the playlist_id column * @method CcPlaylistcontents findOneByDbPlaylistId(int $playlist_id) Return the first CcPlaylistcontents filtered by the playlist_id column
* @method CcPlaylistcontents findOneByDbFileId(int $file_id) Return the first CcPlaylistcontents filtered by the file_id column * @method CcPlaylistcontents findOneByDbFileId(int $file_id) Return the first CcPlaylistcontents filtered by the file_id column
* @method CcPlaylistcontents findOneByDbBlockId(int $block_id) Return the first CcPlaylistcontents filtered by the block_id column * @method CcPlaylistcontents findOneByDbBlockId(int $block_id) Return the first CcPlaylistcontents filtered by the block_id column
* @method CcPlaylistcontents findOneByDbStreamId(int $stream_id) Return the first CcPlaylistcontents filtered by the stream_id column
* @method CcPlaylistcontents findOneByDbType(int $type) Return the first CcPlaylistcontents filtered by the type column * @method CcPlaylistcontents findOneByDbType(int $type) Return the first CcPlaylistcontents filtered by the type column
* @method CcPlaylistcontents findOneByDbPosition(int $position) Return the first CcPlaylistcontents filtered by the position column * @method CcPlaylistcontents findOneByDbPosition(int $position) Return the first CcPlaylistcontents filtered by the position column
* @method CcPlaylistcontents findOneByDbCliplength(string $cliplength) Return the first CcPlaylistcontents filtered by the cliplength column * @method CcPlaylistcontents findOneByDbCliplength(string $cliplength) Return the first CcPlaylistcontents filtered by the cliplength column
@ -65,6 +68,7 @@
* @method array findByDbPlaylistId(int $playlist_id) Return CcPlaylistcontents objects filtered by the playlist_id column * @method array findByDbPlaylistId(int $playlist_id) Return CcPlaylistcontents objects filtered by the playlist_id column
* @method array findByDbFileId(int $file_id) Return CcPlaylistcontents objects filtered by the file_id column * @method array findByDbFileId(int $file_id) Return CcPlaylistcontents objects filtered by the file_id column
* @method array findByDbBlockId(int $block_id) Return CcPlaylistcontents objects filtered by the block_id column * @method array findByDbBlockId(int $block_id) Return CcPlaylistcontents objects filtered by the block_id column
* @method array findByDbStreamId(int $stream_id) Return CcPlaylistcontents objects filtered by the stream_id column
* @method array findByDbType(int $type) Return CcPlaylistcontents objects filtered by the type column * @method array findByDbType(int $type) Return CcPlaylistcontents objects filtered by the type column
* @method array findByDbPosition(int $position) Return CcPlaylistcontents objects filtered by the position column * @method array findByDbPosition(int $position) Return CcPlaylistcontents objects filtered by the position column
* @method array findByDbCliplength(string $cliplength) Return CcPlaylistcontents objects filtered by the cliplength column * @method array findByDbCliplength(string $cliplength) Return CcPlaylistcontents objects filtered by the cliplength column
@ -291,6 +295,37 @@ abstract class BaseCcPlaylistcontentsQuery extends ModelCriteria
return $this->addUsingAlias(CcPlaylistcontentsPeer::BLOCK_ID, $dbBlockId, $comparison); return $this->addUsingAlias(CcPlaylistcontentsPeer::BLOCK_ID, $dbBlockId, $comparison);
} }
/**
* Filter the query on the stream_id column
*
* @param int|array $dbStreamId The value to use as filter.
* Accepts an associative array('min' => $minValue, 'max' => $maxValue)
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
*
* @return CcPlaylistcontentsQuery The current query, for fluid interface
*/
public function filterByDbStreamId($dbStreamId = null, $comparison = null)
{
if (is_array($dbStreamId)) {
$useMinMax = false;
if (isset($dbStreamId['min'])) {
$this->addUsingAlias(CcPlaylistcontentsPeer::STREAM_ID, $dbStreamId['min'], Criteria::GREATER_EQUAL);
$useMinMax = true;
}
if (isset($dbStreamId['max'])) {
$this->addUsingAlias(CcPlaylistcontentsPeer::STREAM_ID, $dbStreamId['max'], Criteria::LESS_EQUAL);
$useMinMax = true;
}
if ($useMinMax) {
return $this;
}
if (null === $comparison) {
$comparison = Criteria::IN;
}
}
return $this->addUsingAlias(CcPlaylistcontentsPeer::STREAM_ID, $dbStreamId, $comparison);
}
/** /**
* Filter the query on the type column * Filter the query on the type column
* *

View file

@ -212,6 +212,7 @@
<column name="playlist_id" phpName="DbPlaylistId" type="INTEGER" required="false"/> <column name="playlist_id" phpName="DbPlaylistId" type="INTEGER" required="false"/>
<column name="file_id" phpName="DbFileId" type="INTEGER" required="false"/> <column name="file_id" phpName="DbFileId" type="INTEGER" required="false"/>
<column name="block_id" phpName="DbBlockId" type="INTEGER" required="false"/> <column name="block_id" phpName="DbBlockId" type="INTEGER" required="false"/>
<column name="stream_id" phpName="DbStreamId" type="INTEGER" required="false"/>
<!-- What type of item is stored in the playlist. <!-- What type of item is stored in the playlist.
0: audiotrack 0: audiotrack
1: webstream 1: webstream

View file

@ -289,6 +289,7 @@ CREATE TABLE "cc_playlistcontents"
"playlist_id" INTEGER, "playlist_id" INTEGER,
"file_id" INTEGER, "file_id" INTEGER,
"block_id" INTEGER, "block_id" INTEGER,
"stream_id" INTEGER,
"type" INT2 default 0 NOT NULL, "type" INT2 default 0 NOT NULL,
"position" INTEGER, "position" INTEGER,
"cliplength" interval default '00:00:00', "cliplength" interval default '00:00:00',