From e580c5ae0d5707b27d3673f1e04b364983b5baec Mon Sep 17 00:00:00 2001 From: martin Date: Tue, 23 Aug 2011 12:45:03 -0400 Subject: [PATCH] CC-2438: Add a button to listen to the stream immediately -initial commit --- airtime_mvc/application/Bootstrap.php | 26 +++++----- .../controllers/LibraryController.php | 1 - .../js/airtime/dashboard/helperfunctions.js | 47 +++++++++++++++---- .../public/js/airtime/dashboard/playlist.js | 4 ++ 4 files changed, 55 insertions(+), 23 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 1bf0abc88..e5fa1f5da 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -48,36 +48,38 @@ $front->registerPlugin(new RabbitMqPlugin()); Actions that return JSON will not use the bootstrap class! */ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { - protected function _initDoctype() + protected function _initDoctype() { $this->bootstrap('view'); $view = $this->getResource('view'); $view->doctype('XHTML1_STRICT'); } - protected function _initHeadLink() - { - $view = $this->getResource('view'); + protected function _initHeadLink() + { + $view = $this->getResource('view'); $baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl(); - $view->headLink()->appendStylesheet($baseUrl.'/css/redmond/jquery-ui-1.8.8.custom.css'); + $view->headLink()->appendStylesheet($baseUrl.'/css/redmond/jquery-ui-1.8.8.custom.css'); $view->headLink()->appendStylesheet($baseUrl.'/css/pro_dropdown_3.css'); - $view->headLink()->appendStylesheet($baseUrl.'/css/styles.css'); - } + $view->headLink()->appendStylesheet($baseUrl.'/css/styles.css'); + } - protected function _initHeadScript() - { - $view = $this->getResource('view'); + protected function _initHeadScript() + { + $view = $this->getResource('view'); $baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl(); $view->headScript()->appendFile($baseUrl.'/js/libs/jquery-1.5.2.min.js','text/javascript'); - $view->headScript()->appendFile($baseUrl.'/js/libs/jquery-ui-1.8.11.custom.min.js','text/javascript'); + $view->headScript()->appendFile($baseUrl.'/js/libs/jquery-ui-1.8.11.custom.min.js','text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/libs/jquery.stickyPanel.js','text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/qtip/jquery.qtip-1.0.0.min.js','text/javascript'); + $view->headScript()->appendFile($baseUrl.'/js/jplayer/jquery.jplayer.min.js'); + //scripts for now playing bar $view->headScript()->appendFile($baseUrl.'/js/airtime/dashboard/helperfunctions.js','text/javascript'); - $view->headScript()->appendFile($baseUrl.'/js/airtime/dashboard/playlist.js','text/javascript'); + $view->headScript()->appendFile($baseUrl.'/js/airtime/dashboard/playlist.js','text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/airtime/common/common.js','text/javascript'); } diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index 67efa7638..4f91d1c5a 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -25,7 +25,6 @@ class LibraryController extends Zend_Controller_Action $baseUrl = $request->getBaseUrl(); $this->view->headScript()->appendFile($baseUrl.'/js/contextmenu/jjmenu.js','text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/jplayer/jquery.jplayer.min.js'); $this->view->headScript()->appendFile($baseUrl.'/js/datatables/js/jquery.dataTables.js','text/javascript'); $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.pluginAPI.js','text/javascript'); $this->view->headScript()->appendFile($baseUrl.'/js/datatables/plugin/dataTables.fnSetFilteringDelay.js','text/javascript'); diff --git a/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js b/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js index 1b0747e1d..85fbbb18c 100644 --- a/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js +++ b/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js @@ -141,6 +141,36 @@ function getFileExt(filename){ return filename.split('.').pop(); } +function audioStream(){ + + if ($("#jquery_jplayer_1").data("jPlayer") && $("#jquery_jplayer_1").data("jPlayer").status.paused != true){ + $('#jquery_jplayer_1').jPlayer('clearMedia'); + $('#jquery_jplayer_1').jPlayer('destroy'); + return; + } + + var uri = "http://localhost:8000/airtime_128.ogg"; + var ext = getFileExt(uri); + + var media; + var supplied; + if (ext == "ogg"){ + media = {oga:uri}; + supplied = "oga"; + } else { + media = {mp3:uri}; + supplied = "mp3"; + } + + $("#jquery_jplayer_1").jPlayer({ + ready: function () { + $(this).jPlayer("setMedia", media).jPlayer("play"); + }, + swfPath: "/js/jplayer", + supplied: supplied + }); +} + function audioPreview(filename, elemID){ var elems = $('.ui-icon.ui-icon-pause'); @@ -164,17 +194,14 @@ function audioPreview(filename, elemID){ supplied = "mp3"; } - //$('#jquery_jplayer_1').jPlayer('stop'); - $("#jquery_jplayer_1").jPlayer("destroy"); - $("#jquery_jplayer_1").jPlayer({ - ready: function () { - //alert(media); - $(this).jPlayer("setMedia", media).jPlayer("play"); - }, + $("#jquery_jplayer_1").jPlayer("destroy"); + $("#jquery_jplayer_1").jPlayer({ + ready: function () { + $(this).jPlayer("setMedia", media).jPlayer("play"); + }, swfPath: "/js/jplayer", - supplied: supplied - }); + supplied: supplied + }); - //$('#jquery_jplayer_1').jPlayer('setMedia', media).jPlayer('play'); $('#'+elemID+' div.list-item-container a span').attr("class", "ui-icon ui-icon-pause"); } diff --git a/airtime_mvc/public/js/airtime/dashboard/playlist.js b/airtime_mvc/public/js/airtime/dashboard/playlist.js index d45e0520d..0f58b6d43 100644 --- a/airtime_mvc/public/js/airtime/dashboard/playlist.js +++ b/airtime_mvc/public/js/airtime/dashboard/playlist.js @@ -257,6 +257,10 @@ function init() { secondsTimer(); setupQtip(); + + $('#on-air-info').click(function() { + audioStream() + }); } $(document).ready(function() {