-synchronize

This commit is contained in:
martin 2010-12-29 01:26:57 -05:00
parent fa106b1da1
commit 4bdcba83e2
5 changed files with 52 additions and 50 deletions

View file

@ -6,13 +6,21 @@
var day = s.substring(8, 10);
var hour = s.substring(11, 13);
var minute = s.substring(14, 16);
var sec = s.substring(17);
return Date.UTC(year, month, day, hour, minute, sec, 0);
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 schedulePosixTime;
var previousSong;
var currentSong;
var nextSong;
@ -40,17 +48,10 @@
}
function getCurrentPlayingItem(currentItem){
var clipLength = currentItem.clip_length;
var clHours = parseInt(clipLength.substring(0, 2));
var clMinutes = parseInt(clipLength.substring(3, 5));
var clSeconds = parseInt(clipLength.substring(6, 8));
var clMs = parseInt(clipLength.substring(9));
var songLengthMs = clMs + clSeconds*1000 + clMinutes*60*1000 + clHours*60*60*1000;
var songStartPosixTime = convertDateToPosixTime(currentItem.starts);
var songEndPosixTime = convertDateToPosixTime(currentItem.ends);
return {songLengthMs:songLengthMs, songStartPosixTime:songStartPosixTime, songEndPosixTime:songEndPosixTime};
return {songLengthMs:songEndPosixTime-songStartPosixTime, songStartPosixTime:songStartPosixTime, songEndPosixTime:songEndPosixTime};
}
@ -62,17 +63,36 @@
function parseItems(obj){
schedulePosixTime = convertDateToPosixTime(obj.schedulerTime);
if (obj.previous.length > 0){
previousSong = getCurrentPlayingItem(obj.previous[0]);
$("#previous").html(obj.schedulerTime + " " + schedulePosixTime + "<br>" +
obj.previous[0].clip_length + " " + previousSong.songLengthMs + "<br>" +
obj.previous[0].starts + " " + previousSong.songStartPosixTime + "<br>" +
obj.previous[0].ends + " " + previousSong.songEndPosixTime + "<br>" +
obj.previous[0].name + "<br>");
}
if (obj.current.length > 0){
currentSong = getCurrentPlayingItem(obj.current[0]);
$("#current").html(obj.schedulerTime + " " + schedulePosixTime + "<br>" +
obj.current[0].clip_length + " " + currentSong.songLengthMs + "<br>" +
obj.current[0].starts + " " + currentSong.songStartPosixTime + "<br>" +
obj.current[0].ends + " " + currentSong.songEndPosixTime + "<br>" +
obj.current[0].name + "<br>");
}
if (obj.next.length > 0){
nextSong = getCurrentPlayingItem(obj.next[0]);
$("#next").html(obj.schedulerTime + " " + schedulePosixTime + "<br>" +
obj.next[0].clip_length + " " + nextSong.songLengthMs + "<br>" +
obj.next[0].starts + " " + nextSong.songStartPosixTime + "<br>" +
obj.next[0].ends + " " + nextSong.songEndPosixTime + "<br>" +
obj.next[0].name + "<br>");
}
updateProgressBarValue();
}
function getScheduleFromServer(){
$.ajax({ url: "/Schedule/get-current-playlist/format/json", dataType:"json", success:function(data){
//alert(data);
parseItems(data.entries);
}});
}
@ -82,5 +102,9 @@
getScheduleFromServer();
});
</script>
<div id="previous" style="background: blue;"></div>
<div id="current" style="background: white;"></div>
<span class="progressBar" id="spaceused1">0%</span>
<div id="next" style="background: yellow;"></div>
</div>