Mercurial > hg > nodescore
changeset 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 | 9d69c5b009e7 |
files | nodescore nodescore.js screenshots/nodescore-client-20120823.png www/m/css/nodescore.css www/m/ctrl.html www/m/js/controlseq.js www/m/js/nodescore-client.js www/m/score.html |
diffstat | 8 files changed, 197 insertions(+), 205 deletions(-) [+] |
line wrap: on
line diff
--- a/nodescore Wed Aug 22 12:51:28 2012 +0000 +++ b/nodescore Thu Aug 23 08:40:55 2012 +0000 @@ -26,6 +26,6 @@ fi killall node; -node nodescore.js & +supervisor nodescore.js & sleep 2; sh ss2thumb.sh $PROJECT $SERVER;
--- 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) - }; + ////////////////////////////////////////////
--- a/www/m/css/nodescore.css Wed Aug 22 12:51:28 2012 +0000 +++ b/www/m/css/nodescore.css Thu Aug 23 08:40:55 2012 +0000 @@ -134,15 +134,15 @@ .outersquare{ - border-radius: 5px; - height: 400px; - width: 685px; -! border: 1px solid blue; - position: absolute; - top: 150px; - left: 0px; + border-radius: 15px; + border: 1px solid blue; + ! position: absolute; + !top: 50px; + !left: 110px; padding: 1px 1px 1px 1px ; - background-color: black; + background: black; + width: 99%; + height: 690px; } .svgmusic { @@ -150,20 +150,20 @@ border-radius: 15px; margin: 0px; width: 100%; -height: 440px; +height: 450px; } .magicsquare { ! margin: 10px; - border-radius: 15px; + border-radius: 5px; border: 1px solid yellow; - padding: 2px 2px 2px 2px; - background: DimGray; - width: 100px; height: 90px; - border-radius: 20px; + !padding: 2px 2px 2px 2px; + background: transparent; + width: 50px; height: 45px; + border-radius: 10px; float: left; - color: black; - font-size: 7em; + color: white; + font-size: 3em; text-align: center; }
--- a/www/m/ctrl.html Wed Aug 22 12:51:28 2012 +0000 +++ b/www/m/ctrl.html Thu Aug 23 08:40:55 2012 +0000 @@ -12,127 +12,109 @@ </head> -<body onload='document.getElementById("countinnumber").style.visibility="hidden";'> +<body onload=""> + + <input type="hidden" id="group" value='1'> + - <input type="hidden" id="group" value='1'> + <div class="outermaster"> + <div class="outersquare"> + <h1 style=" background:transparent; left:24px; top:14px;">control interface:</h1> + <div> + <p class="magicsquare" id="1magicsquare0"></p> + <p class="magicsquare" id="1magicsquare1"></p> + <p class="magicsquare" id="1magicsquare2"></p> + <p class="magicsquare" id="1magicsquare3"></p> + <p class="magicsquare" id="1magicsquare4"></p> + <p class="magicsquare" id="1magicsquare5"></p> + </div> + <br><br><br><br> + <div> + <p class="magicsquare" id="2magicsquare0"></p> + <p class="magicsquare" id="2magicsquare1"></p> + <p class="magicsquare" id="2magicsquare2"></p> + <p class="magicsquare" id="2magicsquare3"></p> + <p class="magicsquare" id="2magicsquare4"></p> + <p class="magicsquare" id="2magicsquare5"></p> + </div> + <br><br><br><br> + <div> + <p class="magicsquare" id="3magicsquare0"></p> + <p class="magicsquare" id="3magicsquare1"></p> + <p class="magicsquare" id="3magicsquare2"></p> + <p class="magicsquare" id="3magicsquare3"></p> + <p class="magicsquare" id="3magicsquare4"></p> + <p class="magicsquare" id="3magicsquare5"></p> + </div> + <br><br><br><br> + <div> + <p class="magicsquare" id="4magicsquare0"></p> + <p class="magicsquare" id="4magicsquare1"></p> + <p class="magicsquare" id="4magicsquare2"></p> + <p class="magicsquare" id="4magicsquare3"></p> + <p class="magicsquare" id="4magicsquare4"></p> + <p class="magicsquare" id="4magicsquare5"></p> + </div> + + <br/><br/><br/><br/> - - <div class="outermaster"> - <h1 style="position:absolute; background:transparent; left:24px; top:14px;">l i v e :</h1> - <div id="countinnumber"></div> - <div id="livez"> - <div class="outersquare"> - <div> - <p class="magicsquare" id="1magicsquare0"></p> - <p class="magicsquare" id="1magicsquare1"></p> - <p class="magicsquare" id="1magicsquare2"></p> - <p class="magicsquare" id="1magicsquare3"></p> - <p class="magicsquare" id="1magicsquare4"></p> - <p class="magicsquare" id="1magicsquare5"></p> + <input type="button" value="START" onclick="startSeq();" /> + <input type="button" value="STOP" onclick="stopSeq();" /> + <input type="button" value="RESET" onclick="resetSeq();" /> + </div> + + + + <div id="comms"> + <div id="chat"> + <div id="nickname"> + <form id="set-nickname" class="wrap"> + <p>Please type in your nickname and press enter.</p> + <input id="nick"> + <p id="nickname-err">Nickname already in use</p> + </form> </div> - <br><br><br><br> - <div> - <p class="magicsquare" id="2magicsquare0"></p> - <p class="magicsquare" id="2magicsquare1"></p> - <p class="magicsquare" id="2magicsquare2"></p> - <p class="magicsquare" id="2magicsquare3"></p> - <p class="magicsquare" id="2magicsquare4"></p> - <p class="magicsquare" id="2magicsquare5"></p> + <div id="connecting"> + <div class="wrap">Connecting to socket.io server</div> </div> - <br><br><br><br> - <div> - <p class="magicsquare" id="3magicsquare0"></p> - <p class="magicsquare" id="3magicsquare1"></p> - <p class="magicsquare" id="3magicsquare2"></p> - <p class="magicsquare" id="3magicsquare3"></p> - <p class="magicsquare" id="3magicsquare4"></p> - <p class="magicsquare" id="3magicsquare5"></p> + <div id="messages"> + <div id="nicknames"></div> + <div id="lines"></div> </div> - <br><br><br><br> - <div> - <p class="magicsquare" id="4magicsquare0"></p> - <p class="magicsquare" id="4magicsquare1"></p> - <p class="magicsquare" id="4magicsquare2"></p> - <p class="magicsquare" id="4magicsquare3"></p> - <p class="magicsquare" id="4magicsquare4"></p> - <p class="magicsquare" id="4magicsquare5"></p> - </div> - </div> - <br><br><br><br> <br><br><br><br> - - <input type="button" value="START" onclick="startSeq();" /> - <input type="button" value="STOP" onclick="stopSeq();" /> - <input type="button" value="RESET" onclick="resetSeq();" /> - - <br><br> - - - </div> </div> - - <div id="comms"> - <div id="chat"> - <div id="nickname"> - <form id="set-nickname" class="wrap"> - <p>Please type in your nickname and press enter.</p> - <input id="nick"> - <p id="nickname-err">Nickname already in use</p> + <form id="send-message"> + <input id="message"> + <button>Send</button> </form> </div> - <div id="connecting"> - <div class="wrap">Connecting to socket.io server</div> + </div> + + <div id="midcomms"></div> + <div id="preview"> + </div> + + <div class="footdata"> + + <div class="metrocase" id="metro"> + <div id="metronome0"></div> + <div id="metronome1"></div> + <div id="metronome2"></div> + <div id="metronome3"></div> </div> - <div id="messages"> - <div id="nicknames"></div> - <div id="lines"></div> - </div> - <form id="send-message"> - <input id="message"> - <button>Send</button> - </form> - </div> - </div> - - <div id="midcomms"></div> - <div id="preview"> - </div> - - <div class="footdata"> - - <div class="metrocase" id="metro"> - <div id="metronome0"></div> - <div id="metronome1"></div> - <div id="metronome2"></div> - <div id="metronome3"></div> + + <div id="current">CTRL</div> + <div id="client_latency">Latency: 0ms</div> + <div id="datetime"></div> + <div id="client_chronometer" style="z-index: 2;">00:00:00.0</div> + </div> - <div id="current">GROUP: 1</div> - <div id="client_latency">Latency: 0ms</div> - <div id="datetime"></div> - <div id="client_chronometer" style="z-index: 2;">00:00:00.0</div> - - </div> - </div> - <ul id="nav"> - <li><a href="javascript:void(0)">Menu</a> - <ul> - <li><a href="javascript:void(0)" onclick="javascript:document.getElementById('group').value='3'">SELECT PART:</a> - <ul> - <a href="javascript:void(0)" onclick="javascript:document.getElementById('group').value='1'; $('div#current').text('GROUP 1').text='1'">GROUP 1</a> - <a href="javascript:void(0)" onclick="javascript:document.getElementById('group').value='2'; $('div#current').text('GROUP 2').text='2'">GROUP 2</a> - <a href="javascript:void(0)" onclick="javascript:document.getElementById('group').value='3'; $('div#current').text('GROUP 3').text='3'">GROUP 3</a> - <a href="javascript:void(0)" onclick="javascript:document.getElementById('group').value='4'; $('div#current').text('GROUP 4').text='4'">GROUP 4</a> - </ul> - </li> - <li><a href="http://nodescore.kiben.net">help</a></li> - <li><a href="http://nodescore.kiben.net:8889/m/controls.html" target="_blank">control panel</a></li> - </ul> - </li> - </ul> +</div> + - + </body>
--- a/www/m/js/controlseq.js Wed Aug 22 12:51:28 2012 +0000 +++ b/www/m/js/controlseq.js Thu Aug 23 08:40:55 2012 +0000 @@ -51,15 +51,16 @@ var n=6; var x=seq-1; var off=((x%n)+n)%n // thanks claudiusmaximus seqnow = "#"+group+"magicsquare"+seq turnmeoff = "#"+group+"magicsquare"+off - $(seqnow).css('background-color', 'white'); - $(turnmeoff).css('background-color', 'blue') - console.log("#"+group+"magicsquare"+seq +" time: " +time + " %:" + off) + $(seqnow).css('background', 'transparent'); + $(turnmeoff).css('background', 'transparent') + //console.log("#"+group+"magicsquare"+seq +" time: " +time + " %:" + off) } + socket.on("counterText", function(group,unit,counter){ - $("#"+group+"magicsquare"+unit).text(counter); - console.log(group+"magicsqjare"+unit+"count:"+counter) - }); + $("#"+group+"magicsquare"+unit).text(counter); + //console.log(group+"magicsquare"+unit+"count:"+counter) +}); //////////////////////////////////////////////
--- a/www/m/js/nodescore-client.js Wed Aug 22 12:51:28 2012 +0000 +++ b/www/m/js/nodescore-client.js Thu Aug 23 08:40:55 2012 +0000 @@ -77,11 +77,11 @@ ///////////////////////////////////////////////// // countdown to change -socket.on("counterText", counterText); -function counterText(groupID, currentseconds,text){ +socket.on("counterText", cText); +function cText(groupID, currentseconds,text){ var groupPage=document.getElementById('group').value if (groupID == groupPage) { - console.log() + console.log(text) $("#totalcountdown").text(text); }}
--- a/www/m/score.html Wed Aug 22 12:51:28 2012 +0000 +++ b/www/m/score.html Thu Aug 23 08:40:55 2012 +0000 @@ -47,7 +47,7 @@ </div> <div id="midcomms"> - <h2 id="counttitle" style="padding-top:19px;">...</h2> + <h2 id="counttitle" style="padding-top:9px; margin:0;">...</h2> <p id="count" style="color:white">...</p> <div id="totalcountdown">...</div> </div>