diff --git a/application/controllers/ScheduleController.php b/application/controllers/ScheduleController.php
index 6cc2b0e49..0121038cb 100644
--- a/application/controllers/ScheduleController.php
+++ b/application/controllers/ScheduleController.php
@@ -178,6 +178,7 @@ class ScheduleController extends Zend_Controller_Action
public function getSchedulerTimeAction()
{
$this->view->headScript()->appendFile('/js/playlist/playlist.js','text/javascript');
+ $this->view->headScript()->appendFile('/js/progressbar/jquery.progressbar.min.js','text/javascript');
}
public function getCurrentPlaylistAction()
diff --git a/application/views/scripts/schedule/get-scheduler-time.phtml b/application/views/scripts/schedule/get-scheduler-time.phtml
index 48f23dee4..4152f4c54 100644
--- a/application/views/scripts/schedule/get-scheduler-time.phtml
+++ b/application/views/scripts/schedule/get-scheduler-time.phtml
@@ -6,5 +6,5 @@
});
-
+
diff --git a/public/js/playlist/playlist.js b/public/js/playlist/playlist.js
index b4ea360e4..4983117e5 100644
--- a/public/js/playlist/playlist.js
+++ b/public/js/playlist/playlist.js
@@ -1,142 +1,149 @@
-(function($) {
- // jQuery plugin definition
- $.fn.playlistViewer = function(params) {
- // merge default and user parameters
- params = $.extend( {minlength: 0, maxlength: 99999}, params);
+(function($) {
+ // jQuery plugin definition
+ $.fn.playlistViewer = function(params) {
+ var cc = this;
+ cc.estimatedSchedulePosixTime = -1;
+ cc.schedulePosixTime;
-
- var $t;
-
- // traverse all nodes
- return this.each(function() {
- // express a single node as a jQuery object
- $t = $(this);
-
- getScheduleFromServer();
- updateProgressBarValue();
- });
-
- function convertDateToPosixTime(s){
- var year = s.substring(0, 4);
- var month = s.substring(5, 7);
- var day = s.substring(8, 10);
- var hour = s.substring(11, 13);
- var minute = s.substring(14, 16);
- var sec = 0;
- var msec = 0;
- if (s.length >= 20){
- sec = s.substring(17, 19);
- msec = s.substring(20);
- } else {
- sec = s.substring(17);
- }
-
- return Date.UTC(year, month, day, hour, minute, sec, msec);
- }
-
- var estimatedSchedulePosixTime = -1;
- var schedulePosixTime;
-
- var previousSongs;
- var currentSong;
- var nextSongs;
-
- function secondsTimer(){
- estimatedSchedulePosixTime += 1000;
- updateProgressBarValue();
- }
-
- function updateProgressBarValue(){
- alert(estimatedSchedulePosixTime);
- if (estimatedSchedulePosixTime != -1){
- if (currentSong.length > 0){
- var percentDone = (estimatedSchedulePosixTime - currentSong[0].songStartPosixTime)/currentSong[0].songLengthMs*100;
- if (percentDone <= 100){
- //$('#spaceused1').progressBar(percentDone);
- } else {
- if (nextSongs.length > 0){
- currentSong[0] = nextSongs.shift();
- } else {
- currentSong = new Array();
- }
- //$('#spaceused1').progressBar(0);
- estimatedSchedulePosixTime = schedulePosixTime;
- }
- }
- updatePlaylist();
- }
- setTimeout(secondsTimer, 1000);
- }
-
- function createPlaylistElementString(song){
- return "Start time: " + song.starts + "
" +
- "End time: " + song.ends + "
" +
- "Clip length: " + song.clip_length + "
" +
- "Name: " + song.name + "
";
- }
-
- function updatePlaylist(){
- $('#previous').empty();
- $('#current').empty();
- $('#next').empty();
- for (var i=0; i 0){
- var nextItem = obj.next[0];
- }
- }
-
- function parseItems(obj){
- schedulePosixTime = convertDateToPosixTime(obj.schedulerTime);
+ cc.previousSongs;
+ cc.currentSong;
+ cc.nextSongs;
- if (estimatedSchedulePosixTime == -1)
- estimatedSchedulePosixTime = schedulePosixTime;
-
- previousSongs = obj.previous;
- currentSong = obj.current;
- nextSongs = obj.next;
-
- calcAdditionalData(previousSongs);
- calcAdditionalData(currentSong);
- calcAdditionalData(nextSongs);
-
- //updatePlaylist();
- //updateProgressBarValue();
- }
+ cc.currentElem;
- function getScheduleFromServer(){
- $.ajax({ url: "http://localhost/Schedule/get-current-playlist/format/json", dataType:"json", success:function(data){
- parseItems(data.entries);
- }});
- setTimeout(getScheduleFromServer, 5000);
- }
-
- };
-})(jQuery);
+ // traverse all nodes
+ return this.each(function() {
+ // express a single node as a jQuery object
+ cc.currentElem = $(this);
+
+ var prevDiv = document.createElement('div');
+ prevDiv.setAttribute("id", "previous");
+ $(cc.currentElem).append(prevDiv);
+
+ var currDiv = document.createElement('div');
+ currDiv.setAttribute("id", "current");
+ $(cc.currentElem).append(currDiv);
+
+ var nextDiv = document.createElement('div');
+ nextDiv.setAttribute("id", "next");
+ $(cc.currentElem).append(nextDiv);
+
+ $('#spaceused1').progressBar(0);
+
+ getScheduleFromServer();
+ updateProgressBarValue();
+ });
+
+ function convertDateToPosixTime(s){
+ var year = s.substring(0, 4);
+ var month = s.substring(5, 7);
+ var day = s.substring(8, 10);
+ var hour = s.substring(11, 13);
+ var minute = s.substring(14, 16);
+ var sec = 0;
+ var msec = 0;
+ if (s.length >= 20){
+ sec = s.substring(17, 19);
+ msec = s.substring(20);
+ } else {
+ sec = s.substring(17);
+ }
+
+ return Date.UTC(year, month, day, hour, minute, sec, msec);
+ }
+
+ function secondsTimer(){
+ cc.estimatedSchedulePosixTime += 1000;
+ updateProgressBarValue();
+ }
+
+ function updateProgressBarValue(){
+ if (cc.estimatedSchedulePosixTime != -1){
+ if (cc.currentSong.length > 0){
+ var percentDone = (cc.estimatedSchedulePosixTime - cc.currentSong[0].songStartPosixTime)/cc.currentSong[0].songLengthMs*100;
+ if (percentDone <= 100){
+ $('#spaceused1').progressBar(percentDone);
+ } else {
+ if (nextSongs.length > 0){
+ cc.currentSong[0] = cc.nextSongs.shift();
+ } else {
+ cc.currentSong = new Array();
+ }
+ $('#spaceused1').progressBar(0);
+ cc.estimatedSchedulePosixTime = cc.schedulePosixTime;
+ }
+ }
+ updatePlaylist();
+ }
+ setTimeout(secondsTimer, 1000);
+ }
+
+ function createPlaylistElementString(song){
+ return "Start time: " + song.starts + "
" +
+ "End time: " + song.ends + "
" +
+ "Clip length: " + song.clip_length + "
" +
+ "Name: " + song.name + "
";
+ }
+
+ function updatePlaylist(){
+ $('#previous').empty();
+ $('#current').empty();
+ $('#next').empty();
+ for (var i=0; i 0){
+ var nextItem = obj.next[0];
+ }
+ }
+
+ function parseItems(obj){
+ cc.schedulePosixTime = convertDateToPosixTime(obj.schedulerTime);
+
+ if (cc.estimatedSchedulePosixTime == -1)
+ cc.estimatedSchedulePosixTime = cc.schedulePosixTime;
+
+ cc.previousSongs = obj.previous;
+ cc.currentSong = obj.current;
+ cc.nextSongs = obj.next;
+
+ calcAdditionalData(cc.previousSongs);
+ calcAdditionalData(cc.currentSong);
+ calcAdditionalData(cc.nextSongs);
+ }
+
+ function getScheduleFromServer(){
+ $.ajax({ url: "http://localhost/Schedule/get-current-playlist/format/json", dataType:"json", success:function(data){
+ parseItems(data.entries);
+ }});
+ setTimeout(getScheduleFromServer, 5000);
+ }
+
+ };
+})(jQuery);