-currently playing + playlist now available (as a Jquery plugin!). Next step is to improve UI.

This commit is contained in:
mkonecny 2010-12-30 11:42:31 -05:00
parent ffa508de34
commit 4ac347cb65
3 changed files with 21 additions and 16 deletions

View file

@ -452,7 +452,7 @@ class Schedule {
$sql = "SELECT * FROM $CC_CONFIG[scheduleTable], $CC_CONFIG[filesTable]" $sql = "SELECT * FROM $CC_CONFIG[scheduleTable], $CC_CONFIG[filesTable]"
." WHERE ($CC_CONFIG[scheduleTable].ends < TIMESTAMP '$timeNow')" ." WHERE ($CC_CONFIG[scheduleTable].ends < TIMESTAMP '$timeNow')"
." AND ($CC_CONFIG[scheduleTable].file_id = $CC_CONFIG[filesTable].id)" ." AND ($CC_CONFIG[scheduleTable].file_id = $CC_CONFIG[filesTable].id)"
." ORDER BY $CC_CONFIG[scheduleTable].id" ." ORDER BY $CC_CONFIG[scheduleTable].starts DESC"
." LIMIT $prevCount"; ." LIMIT $prevCount";
$rows = $CC_DBC->GetAll($sql); $rows = $CC_DBC->GetAll($sql);
return $rows; return $rows;
@ -474,7 +474,7 @@ class Schedule {
$sql = "SELECT * FROM $CC_CONFIG[scheduleTable], $CC_CONFIG[filesTable]" $sql = "SELECT * FROM $CC_CONFIG[scheduleTable], $CC_CONFIG[filesTable]"
." WHERE ($CC_CONFIG[scheduleTable].starts > TIMESTAMP '$timeNow')" ." WHERE ($CC_CONFIG[scheduleTable].starts > TIMESTAMP '$timeNow')"
." AND ($CC_CONFIG[scheduleTable].file_id = $CC_CONFIG[filesTable].id)" ." AND ($CC_CONFIG[scheduleTable].file_id = $CC_CONFIG[filesTable].id)"
." ORDER BY $CC_CONFIG[scheduleTable].id" ." ORDER BY $CC_CONFIG[scheduleTable].starts"
." LIMIT $nextCount"; ." LIMIT $nextCount";
$rows = $CC_DBC->GetAll($sql); $rows = $CC_DBC->GetAll($sql);
return $rows; return $rows;

View file

@ -6,5 +6,4 @@
}); });
</script> </script>
<div id="list0"></div> <div id="list0"></div>
<div id="spaceused1"></div>
</div> </div>

View file

@ -20,15 +20,23 @@
prevDiv.setAttribute("id", "previous"); prevDiv.setAttribute("id", "previous");
$(cc.currentElem).append(prevDiv); $(cc.currentElem).append(prevDiv);
var currParentDiv = document.createElement('div');
currParentDiv.setAttribute("style", "background-color:#bbbbbb;");
$(cc.currentElem).append(currParentDiv);
var currDiv = document.createElement('div'); var currDiv = document.createElement('div');
currDiv.setAttribute("id", "current"); currDiv.setAttribute("id", "current");
$(cc.currentElem).append(currDiv); $(currParentDiv).append(currDiv);
var nextDiv = document.createElement('div');
nextDiv.setAttribute("id", "progressbar");
$(currParentDiv).append(nextDiv);
var nextDiv = document.createElement('div'); var nextDiv = document.createElement('div');
nextDiv.setAttribute("id", "next"); nextDiv.setAttribute("id", "next");
$(cc.currentElem).append(nextDiv); $(cc.currentElem).append(nextDiv);
$('#spaceused1').progressBar(0); $('#progressbar').progressBar(0);
getScheduleFromServer(); getScheduleFromServer();
updateProgressBarValue(); updateProgressBarValue();
@ -40,13 +48,10 @@
var day = s.substring(8, 10); var day = s.substring(8, 10);
var hour = s.substring(11, 13); var hour = s.substring(11, 13);
var minute = s.substring(14, 16); var minute = s.substring(14, 16);
var sec = 0; var sec = s.substring(17, 19);
var msec = 0; var msec = 0;
if (s.length >= 20){ if (s.length >= 20){
sec = s.substring(17, 19);
msec = s.substring(20); msec = s.substring(20);
} else {
sec = s.substring(17);
} }
return Date.UTC(year, month, day, hour, minute, sec, msec); return Date.UTC(year, month, day, hour, minute, sec, msec);
@ -62,17 +67,21 @@
if (cc.currentSong.length > 0){ if (cc.currentSong.length > 0){
var percentDone = (cc.estimatedSchedulePosixTime - cc.currentSong[0].songStartPosixTime)/cc.currentSong[0].songLengthMs*100; var percentDone = (cc.estimatedSchedulePosixTime - cc.currentSong[0].songStartPosixTime)/cc.currentSong[0].songLengthMs*100;
if (percentDone <= 100){ if (percentDone <= 100){
$('#spaceused1').progressBar(percentDone); $('#progressbar').progressBar(percentDone);
} else { } else {
if (nextSongs.length > 0){ if (cc.nextSongs.length > 0){
cc.currentSong[0] = cc.nextSongs.shift(); cc.currentSong[0] = cc.nextSongs.shift();
} else { } else {
cc.currentSong = new Array(); cc.currentSong = new Array();
} }
$('#spaceused1').progressBar(0); $('#progressbar').progressBar(0);
//at the end of each song we are updating the
//server time we have been estimating client-side
//with the real server time.
cc.estimatedSchedulePosixTime = cc.schedulePosixTime; cc.estimatedSchedulePosixTime = cc.schedulePosixTime;
} }
} } else
$('#progressbar').progressBar(0);
updatePlaylist(); updatePlaylist();
} }
setTimeout(secondsTimer, 1000); setTimeout(secondsTimer, 1000);
@ -93,19 +102,16 @@
var divElem = document.createElement('div'); var divElem = document.createElement('div');
divElem.innerHTML = createPlaylistElementString(cc.previousSongs[i]); divElem.innerHTML = createPlaylistElementString(cc.previousSongs[i]);
$('#previous').append(divElem); $('#previous').append(divElem);
//cc.currentElem.html(createPlaylistElementString(previousSongs[i]));
} }
for (var i=0; i<cc.currentSong.length; i++){ for (var i=0; i<cc.currentSong.length; i++){
var divElem = document.createElement('div'); var divElem = document.createElement('div');
divElem.innerHTML = createPlaylistElementString(cc.currentSong[i]); divElem.innerHTML = createPlaylistElementString(cc.currentSong[i]);
$('#current').append(divElem); $('#current').append(divElem);
//cc.currentElem.html(createPlaylistElementString(currentSong[i]));
} }
for (var i=0; i<cc.nextSongs.length; i++){ for (var i=0; i<cc.nextSongs.length; i++){
var divElem = document.createElement('div'); var divElem = document.createElement('div');
divElem.innerHTML = createPlaylistElementString(cc.nextSongs[i]); divElem.innerHTML = createPlaylistElementString(cc.nextSongs[i]);
$('#next').append(divElem); $('#next').append(divElem);
//cc.currentElem.html(createPlaylistElementString(nextSongs[i]));
} }
} }