CC-2430: Preview tracks in the library + better preview (ability to jump around in clip)

- updated player ui so it matches demo code
- can play any song from the library or playlist builder, but not very usable
This commit is contained in:
Daniel 2012-02-24 18:24:24 -05:00
parent 1aab682104
commit b8452928da
4 changed files with 677 additions and 17 deletions

View File

@ -15,7 +15,7 @@ class PlaylistController extends Zend_Controller_Action
->addActionContext('new', 'json')
->addActionContext('edit', 'json')
->addActionContext('delete', 'json')
->addActionContext('play', 'json')
->addActionContext('play', 'json')
->addActionContext('set-playlist-fades', 'json')
->addActionContext('get-playlist-fades', 'json')
->addActionContext('set-playlist-name', 'json')
@ -112,10 +112,10 @@ class PlaylistController extends Zend_Controller_Action
$baseUrl = $request->getBaseUrl();
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/spl.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/playlist_jplayer_preview.js?'.filemtime($baseDir.'/js/airtime/library/playlist_jplayer_preview.js'), 'text/javascript');
$this->view->headLink()->appendStylesheet($baseUrl.'/css/playlist_builder.css?'.$CC_CONFIG['airtime_version']);
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/preview.js?'.filemtime($baseDir.'/js/airtime/library/preview.js'), 'text/javascript');
$this->view->headLink()->appendStylesheet($baseUrl.'/css/playlist_builder.css?'.$CC_CONFIG['airtime_version']);
$this->_helper->viewRenderer->setResponseSegment('spl');
$this->_helper->viewRenderer->setResponseSegment('spl');
try {
if (isset($this->pl_sess->id)) {
@ -199,18 +199,20 @@ class PlaylistController extends Zend_Controller_Action
public function audioPreviewPlayerAction()
{
Logging::log("PlaylistControler::in the play action");
$fileName = $this->_getParam('elementFilename');
$playlistIndex = $this->_getParam('elemIndexString');
$request = $this->getRequest();
Logging::log("PlaylistControler::in the play action");
$fileName = $this->_getParam('filename');
$playlistIndex = $this->_getParam('index');
$request = $this->getRequest();
$baseUrl = $request->getBaseUrl();
$baseDir = dirname($_SERVER['SCRIPT_FILENAME']);
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/playlist_jplayer_preview.js?'.filemtime($baseDir.'/js/airtime/library/playlist_jplayer_preview.js'),'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/preview_jplayer.js?'.filemtime($baseDir.'/js/airtime/library/preview_jplayer.js'),'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'/js/jplayer/jquery.jplayer.min.js?'.filemtime($baseDir.'/js/jplayer/jquery.jplayer.min.js'),'text/javascript');
//$this->view->headScript()->appendFile($baseUrl.'/js/jplayer/jquery.jplayer.inspector.js?'.filemtime($baseDir.'/js/jplayer/jquery.jplayer.inspector.js'),'text/javascript');
$this->view->headLink()->appendStylesheet($baseUrl.'/js/jplayer/skin/jplayer.blue.monday.css?'.filemtime($baseDir.'/js/jplayer/skin/jplayer.blue.monday.css'));
$this->_helper->layout->setLayout('bare');
$this->_helper->layout->setLayout('audioPlayer');
$logo = Application_Model_Preference::GetStationLogo();
if($logo){
@ -218,8 +220,8 @@ class PlaylistController extends Zend_Controller_Action
} else {
$this->view->logo = "$baseUrl/css/images/airtime_logo_jp.png";
}
$this->view->fileName = $fileName;
$this->view->playlistIndex= $playlistIndex;
$this->view->fileName = $fileName;
$this->view->playlistIndex= $playlistIndex;
}
public function addItemsAction()

View File

@ -395,6 +395,7 @@ class Application_Model_StoredFile {
}
private function constructGetFileUrl($p_serverName, $p_serverPort){
Logging::log("getting media! - 2");
return "http://$p_serverName:$p_serverPort/api/get-media/file/".$this->getGunId().".".$this->getFileExtension();
}
@ -404,6 +405,7 @@ class Application_Model_StoredFile {
*/
public function getRelativeFileUrl($baseUrl)
{
Logging::log("getting media!");
return $baseUrl."/api/get-media/file/".$this->getGunId().".".$this->getFileExtension();
}
@ -656,7 +658,8 @@ class Application_Model_StoredFile {
if($type == "au") {
$audioFile = $audioResults[$row['id']-1]['gunid'].".".pathinfo($audioResults[$row['id']-1]['filepath'], PATHINFO_EXTENSION);
$row['image'] = '<img src="/css/images/big_play_arrow.png" onClick="audioPreview(\''.$audioFile.'\', \'spl_'.$row['id'].'\')">';
$row['image'] = '<img src="/css/images/big_play_arrow.png" onClick="open_audio_preview(\''.$audioFile.'\', \'spl_'.$row['id'].'\')">';
}
else {
$row['image'] = '<img src="/css/images/icon_playlist.png">';

View File

@ -0,0 +1,33 @@
<div id="content" class="jp-container">
<span class='filename'><?php echo "$this->fileName" ?></span>
<div id="jquery_jplayer_1" class="jp-jplayer"></div>
<div id="jp_container_1" class="jp-audio">
<div class="jp-type-single">
<div class="jp-gui jp-interface">
<ul class="jp-controls">
<li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
<li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
<li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li>
<li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li>
<li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li>
<li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</a></li>
</ul>
<div class="jp-progress">
<div class="jp-seek-bar">
<div class="jp-play-bar"></div>
</div>
</div>
<div class="jp-volume-bar">
<div class="jp-volume-bar-value"></div>
</div>
<div class="jp-time-holder">
<div class="jp-current-time"></div>
<div class="jp-duration"></div>
<ul class="jp-toggles">
<li><a href="javascript:;" class="jp-repeat" tabindex="1" title="repeat">repeat</a></li>
<li><a href="javascript:;" class="jp-repeat-off" tabindex="1" title="repeat off">repeat off</a></li>
</ul>
</div>
</div>
</div>

File diff suppressed because one or more lines are too long