CC-2301 : working on creating a crossfade method for waveforms.
This commit is contained in:
parent
58957cc919
commit
b2a490ac47
|
@ -417,6 +417,33 @@ class PlaylistController extends Zend_Controller_Action
|
||||||
$this->playlistUnknownError($e);
|
$this->playlistUnknownError($e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setCrossFadeAction()
|
||||||
|
{
|
||||||
|
$id = $this->_getParam('id');
|
||||||
|
$fadeIn = $this->_getParam('fadeIn', 0);
|
||||||
|
$fadeOut = $this->_getParam('fadeOut', 0);
|
||||||
|
$type = $this->_getParam('type');
|
||||||
|
$offset = $this->_getParam('offset', 0);
|
||||||
|
|
||||||
|
try {
|
||||||
|
$obj = $this->getPlaylist($type);
|
||||||
|
$response = $obj->changeFadeInfo($id, $fadeIn, $fadeOut);
|
||||||
|
|
||||||
|
if (!isset($response["error"])) {
|
||||||
|
$this->createUpdateResponse($obj);
|
||||||
|
$this->view->response = $response;
|
||||||
|
} else {
|
||||||
|
$this->view->fade_error = $response["error"];
|
||||||
|
}
|
||||||
|
} catch (PlaylistOutDatedException $e) {
|
||||||
|
$this->playlistOutdated($e);
|
||||||
|
} catch (PlaylistNotFoundException $e) {
|
||||||
|
$this->playlistNotFound($type);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$this->playlistUnknownError($e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function getPlaylistFadesAction()
|
public function getPlaylistFadesAction()
|
||||||
{
|
{
|
||||||
|
|
|
@ -645,12 +645,39 @@ SQL;
|
||||||
|
|
||||||
return array($fadeIn, $fadeOut);
|
return array($fadeIn, $fadeOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* create a crossfade from item in cc_playlist_contents with $id1 to item $id2.
|
||||||
|
*
|
||||||
|
* $fadeOut length of fade out in seconds if $id1
|
||||||
|
* $fadeIn length of fade in in seconds of $id2
|
||||||
|
* $offset time in seconds from end of $id1 that $id2 will begin to play.
|
||||||
|
*/
|
||||||
|
public function createCrossfade($id1, $id2, $fadeIn, $fadeOut, $offset)
|
||||||
|
{
|
||||||
|
$this->con->beginTransaction();
|
||||||
|
|
||||||
|
try {
|
||||||
|
$this->changeFadeInfo($id1, null, $fadeOut);
|
||||||
|
$this->changeFadeInfo($id2, $fadeIn, null);
|
||||||
|
|
||||||
|
$item = CcPlaylistcontentsQuery::create()->findPK($id2);
|
||||||
|
$item->setDbOffset($offset);
|
||||||
|
$item->save($this->con);
|
||||||
|
|
||||||
|
$this->con->commit();
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$this->con->rollback();
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change fadeIn and fadeOut values for playlist Element
|
* Change fadeIn and fadeOut values for playlist Element
|
||||||
*
|
*
|
||||||
* @param int $pos
|
* @param int $id
|
||||||
* position of audioclip in playlist
|
* id of audioclip in playlist contents table.
|
||||||
* @param string $fadeIn
|
* @param string $fadeIn
|
||||||
* new value in ss.ssssss or extent format
|
* new value in ss.ssssss or extent format
|
||||||
* @param string $fadeOut
|
* @param string $fadeOut
|
||||||
|
|
Loading…
Reference in New Issue