Mercurial > hg > nodescore
diff nodescore.js @ 39:3ba24da53406
still trying to sort memory leak... js closures will kill me
addedb screenshot
author | tzara <rc-web@kiben.net> |
---|---|
date | Thu, 23 Aug 2012 08:40:55 +0000 |
parents | ea8d61c851c0 |
children | 56767c69b7c4 |
line wrap: on
line diff
--- a/nodescore.js Wed Aug 22 12:51:28 2012 +0000 +++ b/nodescore.js Thu Aug 23 08:40:55 2012 +0000 @@ -83,38 +83,38 @@ function pad(number) { return (number < 10 ? '0' : '') + number } // the chronometer initial states - var chronstate = 0; var zecsec = 0; var seconds = -20; + var chronstate = 0; var zecsec = 0; var seconds = 0; var mins = 0; var hours = 0; - function startChr() { if (chronstate !== 1) { + function startChr() { if (chronstate !== 1) { chronstate = 1; chronometer();} } // if not already started start the chronometer - function stopChr() { chronstate = 0; } // stop the chronometer - function resetChr() { console.log("reset"); - clearInterval(); + + function stopChr() { chronstate = 0; } + // stop the chronometer + + function resetChr() {//clearInterval(); chronstate = 0; zecsec = 0; seconds = 0; mins = 0; hours = 0; chronstate = 0; var chron = pad(hours) +":"+pad(mins)+ ':'+ pad(seconds)+ ":"+ zecsec + // send 0.0.0 values to display socket.broadcast.emit('chronFromServer', chron) socket.emit('chronFromServer', chron) } - var ding + var dater function dateTime() { - - ding = setInterval( function () { + dater = setInterval( function () { var datetime= new Date(); var now=datetime.toString() -// console.log(now); socket.broadcast.emit("dateTime", now); -// socket.emit("dateTime", now); + socket.emit("dateTime", now); }, 1000)} - clearInterval(ding); + clearInterval(dater); dateTime() - function chronometer() { @@ -156,7 +156,7 @@ 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 countdowntick = function(seq){ + var countdowntick = function(seq){ var outcount = 12; var incount=12; var time = ((seq.durations[seq.counter]+1) *timemultiplier) + 30000 + (outcount*1000); @@ -166,8 +166,8 @@ // initiate first page here socket.broadcast.emit("pageFlipfromserver", seq.voice, unit, time, seq.mm,seq.counter); - - var tock = setInterval(function(){ + + function sequenCer() { if (ztime >= 0 ){ @@ -176,86 +176,98 @@ //////////////////////////////////////////// var counter = ztime/1000 - socket.broadcast.emit('counterText', seq.voice, seq.counter, counter); + // + if (counter >= 0 ){ + socket.broadcast.emit('counterText', seq.voice, seq.counter, counter); + socket.emit('counterText', seq.voice, seq.counter, counter); + + if (counter <= outcount ) { + socket.broadcast.emit('countinFromServer', seq.voice, counter, "","stop in:", "red", "transparent"); + } + + if (counter > (totaltime)-incount && counter <= totaltime ) { + socket.broadcast.emit('countinFromServer', seq.voice, counter-(totaltime-incount), "","play in:", "green","transparent"); + socket.emit('countinFromServer', seq.voice, counter-(totaltime-incount), "","play in:", "green","transparent"); + + } + + if (counter == (totaltime)-incount ) { + socket.broadcast.emit('countinFromServer', seq.voice, "+", "","playing..", "green","black"); + socket.emit('countinFromServer', seq.voice, "+", "","playing..", "green","black"); + } + + // remove displayed number with " " at end of both countin/out - if (counter > 0 && counter <= outcount ) { - socket.broadcast.emit('countinFromServer', seq.voice, counter, "","stop in:", "red", "transparent"); - socket.broadcast.emit('counterText', seq.voice, seq.counter, counter); - } + + + if (counter == 0 ) { + socket.broadcast.emit('countinFromServer', seq.voice, "", "","", "green","transparent"); + socket.broadcast.emit('counterText', seq.voice, seq.counter, ""); + socket.emit('counterText', seq.voice, seq.counter, ""); + } + } - // remove displayed number with " " at end of both countin/out - if (counter == 0 ) { - socket.broadcast.emit('counterText', seq.voice, seq.counter, counter); - socket.broadcast.emit('countinFromServer', seq.voice, "///", "//","/", "green","transparent"); - } - - if (counter > (totaltime)-incount && counter <= totaltime ) { + // on each beat do: - socket.broadcast.emit('countinFromServer', seq.voice, counter-(totaltime-incount), "","play in:", "green","black"); - socket.broadcast.emit('counterText', seq.voice, seq.counter, counter); - } - - if (counter == (totaltime)-incount ) { - socket.broadcast.emit('countinFromServer', seq.voice, "+", "","playing..", "green","black"); - socket.broadcast.emit('counterText', seq.voice, seq.counter, counter); - } - // push out the pulse to metronome - socket.broadcast.emit('counterText', seq.voice, seq.counter, counter); seq.metrobeat = (seq.metrobeat+1)%seq.beatsinbar ; socket.broadcast.emit('metroPulse', tempoms, seq.voice,seq.metrobeat); socket.emit('metroPulse', tempoms, seq.voice,seq.metrobeat); -// socket.broadcast.emit("pageFlipfromserver", seq.voice, unit, time, seq.mm,seq.counter); + + } // flip the page - + if (ztime == 0){ - socket.broadcast.emit('counterText', seq.voice, seq.counter, counter); - //socket.emit('counterText', seq.voice, seq.counter, " "); seq.counter = (seq.counter + 1) % seq.durations.length socket.broadcast.emit("pageFlipfromserver", seq.voice, unit, time, seq.mm,seq.counter); -// socket.emit("pageFlipfromserver", seq.voice, unit, time, seq.mm,seq.counter); - delete tock; + //delete tockTock; step(seq); } - - if (ztime < 0){ - socket.broadcast.emit('counterText', seq.voice, seq.counter, counter); - } - + // decrement the time ztime -= 1000 - socket.broadcast.emit('counterText', seq.voice, seq.counter, counter); - - }, tempoms) + + } - }; + var boo = setInterval(sequenCer, tempoms); -// socket.on('stopSeq', function () { -// console.log("sequencer stopping...") -// clearInterval(tock) -// sequencerState=0; -// stopChr(); - // var tock = function(){null} - -// }); + socket.on('stopSeq', function () { + //donaldduck = mickeymouse + 7 + sequenCer.clearInterval + console.log("sequencer stopping...") + // grrr why wont this clearInterval work + sequencerState = 0 + clearInterval(boo) + stopChr(); +// var countdowntick = "" + }); + + }; + +//////////////// + socket.on('startSeq', function () { if (sequencerState == 0) { - console.log("sequencer starting...") - sequencerState=1; - startChr(); - step(seqA); step(seqB); step(seqC); step(seqD); - ztime =-1; + console.log("sequencer starting...") + startChr(); + step(seqA); step(seqB); step(seqC); step(seqD); + ztime =-1; } else console.log("sequencer already started...") }); + + step = function (seq) { + //clearInterval(seq.boo); + //clearInterval(countdowntick); + countdowntick(seq) + sequencerState=1; - - + }; socket.on('resetSeq', function () { console.log("reset") @@ -264,10 +276,7 @@ - step = function (seq) { - clearInterval(countdowntick); - countdowntick(seq) - }; + ////////////////////////////////////////////