+ moveAudioClip preserve playlistElement gunids now.
This commit is contained in:
tomas 2005-03-10 01:14:10 +00:00
parent 012f2b267e
commit 546999a62b

View file

@ -23,7 +23,7 @@
Author : $Author: tomas $ Author : $Author: tomas $
Version : $Revision: 1.7 $ Version : $Revision: 1.8 $
Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/Playlist.php,v $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/Playlist.php,v $
------------------------------------------------------------------------------*/ ------------------------------------------------------------------------------*/
@ -148,6 +148,7 @@ class Playlist extends StoredFile{
* @param acTit string - audioClip title * @param acTit string - audioClip title
* @param fadeIn string - fadein value in ss.ssssss or extent format * @param fadeIn string - fadein value in ss.ssssss or extent format
* @param fadeOut string - fadeout value in ss.ssssss or extent format * @param fadeOut string - fadeout value in ss.ssssss or extent format
* @param plElGunid string - optional playlist element gunid
* @return array with fields: * @return array with fields:
* <ul> * <ul>
* <li>plElId int - record id of playlistElement</li> * <li>plElId int - record id of playlistElement</li>
@ -156,15 +157,15 @@ class Playlist extends StoredFile{
* <li>fadeOutId int - record id</li> * <li>fadeOutId int - record id</li>
* </ul> * </ul>
*/ */
function insertPlaylistElement($parid, $offset, function insertPlaylistElement($parid, $offset, $acGunid, $acLen, $acTit,
$acGunid, $acLen, $acTit, $fadeIn=NULL, $fadeOut=NULL) $fadeIn=NULL, $fadeOut=NULL, $plElGunid=NULL)
{ {
// insert playlistElement // insert playlistElement
$r = $this->md->insertMetadataEl($parid, 'playlistElement'); $r = $this->md->insertMetadataEl($parid, 'playlistElement');
if(PEAR::isError($r)){ return $r; } if(PEAR::isError($r)){ return $r; }
$plElId = $r; $plElId = $r;
// create and insert gunid (id attribute) // create and insert gunid (id attribute)
$plElGunid = StoredFile::_createGunid(); if(is_null($plElGunid)) $plElGunid = StoredFile::_createGunid();
$r = $this->md->insertMetadataEl($plElId, 'id', $plElGunid, 'A'); $r = $this->md->insertMetadataEl($plElId, 'id', $plElGunid, 'A');
if(PEAR::isError($r)){ return $r; } if(PEAR::isError($r)){ return $r; }
// insert relativeOffset // insert relativeOffset
@ -273,9 +274,10 @@ class Playlist extends StoredFile{
* @param acId string, local ID of added file * @param acId string, local ID of added file
* @param fadeIn string, optional, in time format hh:mm:ss.ssssss * @param fadeIn string, optional, in time format hh:mm:ss.ssssss
* @param fadeOut string, dtto * @param fadeOut string, dtto
* @param plElGunid string - optional playlist element gunid
* @return string, generated playlistElement gunid * @return string, generated playlistElement gunid
*/ */
function addAudioClip($acId, $fadeIn=NULL, $fadeOut=NULL) function addAudioClip($acId, $fadeIn=NULL, $fadeOut=NULL, $plElGunid=NULL)
{ {
$plGunid = $this->gunid; $plGunid = $this->gunid;
// get information about audioClip // get information about audioClip
@ -290,7 +292,7 @@ class Playlist extends StoredFile{
// insert new playlist element // insert new playlist element
$offset = $plLen; $offset = $plLen;
$plElInfo = $this->insertPlaylistElement($parid, $offset, $plElInfo = $this->insertPlaylistElement($parid, $offset,
$acGunid, $acLen, $acTit, $fadeIn, $fadeOut); $acGunid, $acLen, $acTit, $fadeIn, $fadeOut, $plElGunid);
if(PEAR::isError($plElInfo)){ return $plElInfo; } if(PEAR::isError($plElInfo)){ return $plElInfo; }
extract($plElInfo); // 'plElId', 'plElGunid', 'fadeInId', 'fadeOutId' extract($plElInfo); // 'plElId', 'plElGunid', 'fadeInId', 'fadeOutId'
@ -392,9 +394,9 @@ class Playlist extends StoredFile{
$fiGunid = StoredFile::_createGunid(); $fiGunid = StoredFile::_createGunid();
$r = $this->_getMidOrInsert('id', $fiMid, $fiGunid, 'A'); $r = $this->_getMidOrInsert('id', $fiMid, $fiGunid, 'A');
if(PEAR::isError($r)){ return $r; } if(PEAR::isError($r)){ return $r; }
$fadeInId = $this->_getMidOrInsert('fadeIn', $fiMid, NULL, 'A'); $fadeInId = $this->_getMidOrInsert('fadeIn', $fiMid, $fadeIn, 'A');
if(PEAR::isError($fadeInId)){ return $fadeInId; } if(PEAR::isError($fadeInId)){ return $fadeInId; }
$fadeOutId = $this->_getMidOrInsert('fadeOut', $fiMid, NULL, 'A'); $fadeOutId = $this->_getMidOrInsert('fadeOut', $fiMid, $fadeOut, 'A');
if(PEAR::isError($fadeOutId)){ return $fadeOutId; } if(PEAR::isError($fadeOutId)){ return $fadeOutId; }
$r = $this->_setValueOrInsert( $r = $this->_setValueOrInsert(
$fadeInId, $fadeIn, $fiMid, 'fadeIn'); $fadeInId, $fadeIn, $fiMid, 'fadeIn');
@ -437,6 +439,9 @@ class Playlist extends StoredFile{
array_splice($els, $newPos-1, 0, $movedel); array_splice($els, $newPos-1, 0, $movedel);
// var_dump($els); // var_dump($els);
foreach($els as $i=>$el){ foreach($els as $i=>$el){
$plElGunid2 = $el['attrs']['id'];
$fadeIn = NULL;
$fadeOut = NULL;
foreach($el['children'] as $j=>$af){ foreach($el['children'] as $j=>$af){
if($af['elementname'] == 'audioclip'){ if($af['elementname'] == 'audioclip'){
$acGunid = $af['attrs']['id']; $acGunid = $af['attrs']['id'];
@ -447,7 +452,13 @@ class Playlist extends StoredFile{
} }
} }
$acId = $this->gb->_idFromGunid($acGunid); $acId = $this->gb->_idFromGunid($acGunid);
$r = $this->addAudioClip($acId, $fadeIn, $fadeOut); if(PEAR::isError($acId)){ return $acId; }
if(is_null($acId)){
return PEAR::raiseError(
"Playlist::moveAudioClip: null audioClip gunid"
);
}
$r = $this->addAudioClip($acId, $fadeIn, $fadeOut, $plElGunid2);
if(PEAR::isError($r)){ return $r; } if(PEAR::isError($r)){ return $r; }
} }
return TRUE; return TRUE;