Mercurial > hg > nodescore
diff nodescore.js @ 8:83dfd5f7186a
transport control mods
author | tzara <rc-web@kiben.net> |
---|---|
date | Thu, 05 Jul 2012 17:38:59 +0100 |
parents | 69d572729f5d |
children | cd847f789b53 |
line wrap: on
line diff
--- a/nodescore.js Wed Jul 04 22:08:35 2012 +0000 +++ b/nodescore.js Thu Jul 05 17:38:59 2012 +0100 @@ -20,7 +20,7 @@ clientFiles.serve(request, response); }); }); -httpServer.listen(8889); +httpServer.listen(8000); //////////////////////////////////////////// // connect to websockets @@ -35,12 +35,12 @@ //////////////////////////////////////////// // metronome //////////////////////////////////////////// - + socket.on('metroStop', stopMetro) function stopMetro () { metroState=0; }; - socket.on('metroStop', stopMetro) + //////////////////////////////////////////// // Chronometer //////////////////////////////////////////// @@ -57,13 +57,19 @@ chronstate = 1; chronometer();} } // if not already started start the chronometer function stopChr() { chronstate = 0; } // stop the chronometer - function resetChr() { clearInterval(); - var zecsec = 0; var seconds = 0; - var mins = 0; var hours = 0; - var chronstate = 0; } - + function resetChr() { console.log("reset"); + clearInterval(); + chronstate = 0; + zecsec = 0; seconds = 0; + mins = 0; hours = 0; + chronstate = 0; + var chron = pad(hours) +":"+pad(mins)+ ':'+ pad(seconds)+ ":"+ zecsec + socket.broadcast.emit('chronFromServer', chron) + socket.emit('chronFromServer', chron) + } + function chronometer() { - clearInterval(); + if (chronstate==1){ zecsec += 1; // set tenths of a second if(zecsec > 9) { zecsec = 0; seconds += 1;} @@ -125,17 +131,22 @@ var seqB = { metrobeat:0, voice:2, name: "B", counter: 0, mm: 60, beatsinbar: 4, durations: srcsqr[1], units: [3,2,1,1,2,3]}; var seqC = { metrobeat:0, voice:3, name: "C", counter: 0, mm: 60, beatsinbar: 4, durations: srcsqr[2], units: [4,5,6,5,4,2]}; var seqD = { metrobeat:0, voice:4, name: "D", counter: 0, mm: 60, beatsinbar: 4, durations: srcsqr[3], units: [2,3,4,2,3,1]}; - + + var tock ; var countdowntick; - countdowntick = function(seq){ + + var countdowntick = function(seq){ + var outcount = 12; var incount=12; var time = ((seq.durations[seq.counter]+1) *timemultiplier) + 30000 + (outcount*1000); var ztime = time; var totaltime = time/1000 var unit = seq.units[seq.counter]; var tempoms = 60000/seq.mm + - setInterval(function(){ + + var tock = setInterval(function(){ if (ztime >= 0 ){ // basic unit is still the second/1000ms - change this to tempoms? no i dont think so @@ -175,17 +186,18 @@ socket.emit("pageFlipfromserver", seq.voice, unit, time, seq.mm,seq.counter); step(seq); } - + + if (ztime < 0){} // decrement the time - ztime -= 1000 + ztime -= 1000 + },tempoms) - }; + }; var step; step = function (seq) { console.log(seq.voice) - // add 30 seconds to the base magic square duration clearInterval(countdowntick); countdowntick(seq) }; @@ -201,15 +213,26 @@ metroState=1; sequencerState=1; startSeq(); + ztime =-1; } }); socket.on('stopSeq', function () { - clearInterval(countdowntick); + clearInterval(tock); sequencerState=0; - metroState=0; + stopChr(); + stopMetro(); + }); + + socket.on('resetSeq', function () { + console.log("rrrrreset") + resetChr(); + + }); + + }); var chat = io.of('/chat');