rob@100: ////////////////////////////////////////////// rob@100: var socket = io.connect(); rob@100: ////////////////////////////////////////////// rob@100: // Sequencer Controls rob@100: var sstate=0; rob@100: rob@100: function setSpeed(s) { rob@100: socket.emit("setSpeed", s); rob@100: } rob@100: rob@100: function startSeq() { rob@100: //console.log("yeah") rob@100: // if (sstate==0){ rob@100: socket.emit("startSeq"); rob@100: // var sstate=1; rob@100: //} rob@100: } rob@100: rob@100: function stopSeq() { rob@100: //if (sstate==1){ rob@100: socket.emit("stopSeq") rob@100: // var sstate=0; rob@100: // } rob@100: } rob@100: rob@100: function resetSeq() { rob@100: // send reset message to server rob@100: socket.emit("resetSeq") rob@100: // clear all the indicators on the overview rob@100: for (i = 0; i < 64; i++) {$('#inner-'+i+"-0").css("visibility","hidden")} rob@100: for (i = 0; i < 64; i++) {$('#inner-'+i+"-1").css("visibility","hidden")} rob@100: for (i = 0; i < 64; i++) {$('#inner-'+i+"-2").css("visibility","hidden")} rob@100: for (i = 0; i < 64; i++) {$('#inner-'+i+"-3").css("visibility","hidden")} rob@100: } rob@100: rob@100: // hard-reset - reboot server rob@100: function breakSeq() { socket.emit("breakSeq") } rob@100: rob@100: ////////////////////////////////////////////// rob@100: // Chron Controls rob@100: function stopWatch(value) { socket.emit("stopWatch", value) } rob@100: ////////////////////////////////////////////// rob@100: // Metronome Controls rob@100: //socket.on("metroPulse", metronomeTick); rob@100: function metroStart(pulse) { socket.emit("metroStart", pulse);} rob@100: function metroStop() { socket.emit("metroStop");} rob@100: rob@100: ////////////////////////////////////////////// rob@100: // Latency "Pong" rob@100: socket.on("timeFromServer", function(n) { rob@100: socket.emit("clientTimeResponse",n); rob@100: //console.log(n); rob@100: }); rob@100: socket.on("latencyFromServer", function(latency) { rob@100: $("#client_latency").text(latency+"ms.") rob@100: }); rob@100: function getLatencies(x) { socket.emit("getLatencies", x); } rob@100: ////////////////////////////////////////////// rob@100: // Chronometer Controls rob@100: rob@100: function startChr() { socket.emit("startChr"); } rob@100: function stopChr() { socket.emit("stopChr"); } rob@100: function resetChr() { rob@100: socket.emit("resetChr"); rob@100: $("div#client_chronometer").text("00:00:00.0"); rob@100: } rob@100: rob@100: socket.on("chronFromServer", function(chron){ rob@100: $("div#c_chronometer").text(chron); rob@100: }); rob@100: rob@100: ////////////////////////////////////////////// rob@100: // SEQUENCER MONITOR rob@100: socket.on("pageFlipfromserver", sequenceMonitor); rob@100: function sequenceMonitor(group, unit,time,mm,seq,unitlast){ rob@100: // var n=6; var x=seq-1; var off=((x%n)+n)%n // thanks claudiusmaximus rob@100: if (group == 1) { turnmeoff = "#sqr"+unitlast+".sqa"} rob@100: if (group == 2) { turnmeoff = "#sqr"+unitlast+".sqb"} rob@100: if (group == 3) { turnmeoff = "#sqr"+unitlast+".sqc"} rob@100: if (group == 4) { turnmeoff = "#sqr"+unitlast+".sqd"} rob@100: $(turnmeoff).css({'color':'black'}) rob@100: rob@100: } rob@100: rob@100: // countdown to change rob@100: socket.on("countinFromServer", countinCtrl); rob@100: function countinCtrl(groupID, currentseconds,mm,text,colour,background,unit){ rob@100: //console.log("#count"+groupID) rob@100: // all counts to control page rob@100: $("#counttitle"+groupID).css('color','black'); rob@100: $("#counttitle"+groupID).text(text); rob@100: $("#count"+groupID).text(currentseconds).css('color','black'); rob@100: document.getElementById("count"+groupID).style.color=colour; rob@100: } rob@100: rob@100: rob@100: socket.on("counterText", function(group,unit,counter,seq,unitlast,transect){ rob@100: rob@100: $("div#transect").text("Transect: " + (transect+1) + " Unit: " + seq); rob@100: rob@100: if (group == 1) { $('#inner-'+unit+"-0").text(counter); rob@100: $("div#unitseq0").text((transect+1)+ " : " + (seq+1)); rob@100: $("div#timeleft1").text(counter); rob@100: if (counter == 0 ) { $('#inner-'+unit+"-0").css("visibility","hidden") rob@100: //console.log("------------------------- "+ unit) rob@100: } rob@100: else { $('#inner-'+unit+"-0").css({"color" : "yellow", "background":"black", "opacity" : "0.6", "border-radius":"10px", "visibility": "visible" }) } rob@100: } rob@100: rob@100: if (group == 2) { $('#inner-'+unit+"-1").text(counter); rob@100: $("div#unitseq1").text((transect+1)+ " : " + (seq+1)); rob@100: $("div#timeleft2").text(counter); rob@100: if (counter == 0 ) { $('#inner-'+unit+"-1").css("visibility","hidden") } rob@100: else { $('#inner-'+unit+"-1").css({"color":"yellow","background":"green", "opacity" : "0.6", "border-radius":"10px", "visibility": "visible"}) } rob@100: } rob@100: rob@100: if (group == 3) { $('#inner-'+unit+"-2").text(counter); rob@100: $("div#unitseq2").text((transect+1)+ " : " + (seq+1)); rob@100: $("div#timeleft3").text(counter); rob@100: if (counter == 0 ) { $('#inner-'+unit+"-2").css("visibility","hidden") } rob@100: else { $('#inner-'+unit+"-2").css({"color":"yellow","background":"blue", "opacity" : "0.6", "border-radius":"10px", "visibility": "visible"}) } rob@100: } rob@100: rob@100: if (group == 4) { $('#inner-'+unit+"-3").text(counter); rob@100: $("div#unitseq3").text((transect+1)+ " : " + (seq+1)); rob@100: $("div#timeleft4").text(counter); rob@100: if (counter == 0 ) { $('#inner-'+unit+"-3").css("visibility","hidden")} rob@100: else { $('#inner-'+unit+"-3").css({"color":"yellow","background":"red", "opacity" : "0.6", "border-radius":"10px", "visibility": "visible"}) } rob@100: } rob@100: } rob@100: ); rob@100: rob@100: /* rob@100: ////////////////////////////////////////////// rob@100: // CLient Popup window code rob@100: rob@100: function newPopup(url) { rob@100: popupWindow = window.open( rob@100: url,'popUpWindow','height=400,width=800,left=10,top=10,resizable=no,scrollbars=no,toolbar=no,menubar=no,location=no,titlebar=no,directories=no,status=yes')} rob@100: rob@100: */ rob@100: rob@100: //function pad2(number) { return (number < 10 ? '0' : '') + number } rob@100: //socket.on("pageFlipfromserver", pageTurn); rob@100: //function pageTurn (group,unit,time,mm) { rob@100: // var g= pad2(group); rob@100: // var groupPage=document.getElementById('group').value; rob@100: // $("#previewbox-"+group).html("") rob@100: // } rob@100: