Mercurial > hg > nodescore
diff www/m/js/nodescore-client.js @ 12:d2eda8be1fca
add phantomjs dependency for thumbnail preview generation
author | tzara <rc-web@kiben.net> |
---|---|
date | Sun, 08 Jul 2012 23:51:17 +0100 |
parents | |
children | e05eede75e0d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/www/m/js/nodescore-client.js Sun Jul 08 23:51:17 2012 +0100 @@ -0,0 +1,95 @@ +///////////////////////////////////////////////// +// connect to websocket + +var socket = io.connect(); + +//socket.on("metroPulse", metronomeTick); +///////////////////////////////////////////////// +socket.on("metroPulse", pulseInClient); +function pulseInClient(pulse,groupID,metrobeat){ + var groupPage=document.getElementById('group').value + if (groupID == groupPage) { + metronomeTick(1000, groupID, metrobeat); + } +} +///////////////////////////////////////////////// +function metroCss(beat, beatcolor,text){ + var color = beatcolor; + + $(".metrocase > div").each(function(){$(this).stop()}); + $(".metrocase > div").each(function(){$(this).css('background-color', beatcolor)}); + $(".metrocase > div").each(function(){$(this).text(" ")}); + $(".metrocase > div").each(function(){$(this).animate({opacity: 0.5}, + 50, + function() { $(this).animate({opacity:0.0}); } + ); + }) + } + + + +function metronomeTick(pulse, voice,metrobeat) { + console.log( voice+ " metronome tick" + metrobeat) + var color = "gray" + + metroCss(0, "red", "4") + +//if (metrobeat == 0) { +// metroCss(0, "gray", "1") + // } + + //if (metrobeat == 3) { +// metroCss(0, "white", "4") + // } + +// if (metrobeat == 1||metrobeat == 2){ +// $("#metronome"+metrobeat).stop(); +// $("#metronome"+metrobeat).css('background-color', color); +// $("#metronome"+metrobeat).text(" "); + //$("#metronome"+metrobeat).text(metrobeat+1); +// $("#metronome"+metrobeat).animate({opacity: 1}, +// 50, + // function() { $(this).animate({opacity:0.0}); } +// ); + // } +}; + +///////////////////////////////////////////////// + +// update the stopwatch value on the client page in line with server +socket.on("chronFromServer", function(chron) { + $("div#client_chronometer").text(chron); +}); + +///////////////////////////////////////////////// + +function pageFlip(unit) { + console.log("flipping page:"+ unit); + $('#sections').trigger('goto', [parseFloat(unit)]); + //metroStart(1000); + //document.getElementById("countdowncase").style.visibility="hidden"; +} + +///////////////////////////////////////////////// +// call the fancy jquery functions + +function slideTo (target) { $('#sections').trigger('goto', [target]); } +function pad2(number) { return (number < 10 ? '0' : '') + number } + +///////////////////////////////////////////////// + +socket.on("pageFlipfromserver", pageTurn); +function pageTurn (group,unit,time,mm) { + var groupPage=document.getElementById('group').value; + console.log("fromservercommand has been executed on client"); + if (group == groupPage) { + var g= pad2(group); + var p= pad2(unit); + pageFlip(unit); + } + else { + console.log("not for this group... ignoring... for group:" + group ); + } +} + +///////////////////////////////////////////////// \ No newline at end of file