Mercurial > hg > nodescore
diff nodescore.js @ 64:20758a107447
major fix of lots of bugs
author | tzara <rc-web@kiben.net> |
---|---|
date | Thu, 23 May 2013 22:41:23 +0000 |
parents | 9bf133b91890 |
children | ab53902406d4 |
line wrap: on
line diff
--- a/nodescore.js Tue May 21 00:35:33 2013 +0000 +++ b/nodescore.js Thu May 23 22:41:23 2013 +0000 @@ -189,44 +189,56 @@ //////////////////////////////////////////// // all the variables this sequencer needs are in scoreB.js requirejs(['scoreB'],function(scoreB) {}); - var sequencerState = 0; - var transect = 0 - var countdowntick = function(seq){ + + var sequencerState=0; + var numberoftransects=3 + var order=8 + var countdowntick=function(seq){ + var unit=seq.units[seq.transect%numberoftransects][seq.counter]; + var unitlast=seq.units[seq.transect%numberoftransects][seq.counter-1]; + var voice=seq.voice; var tempoms = Math.floor(60000/seq.mm) var timemultiplier=1000 - var outcount = 2; var incount=3; - var time = (( seq.durations[seq.counter] ) - * timemultiplier ) - + 1000 + (outcount*tempoms); - var time = Math.floor(time) - var ztime = time; - var totaltime = Math.floor(time/tempoms) + var outcount=2; var incount=2; + var dur=srcsqr[Math.floor(unit/order)][unit%order] + var time = dur; + var ztime=time; + var totaltime=time - var unit = seq.units[transect%3][seq.counter]; - var unitlast = seq.units[transect%3][seq.counter-1]; - var voice = seq.voice; + if (seq.counter == 7){ seq.nexttransect=seq.transect+1 ; + seq.nextunit=seq.units[seq.nexttransect%numberoftransects][seq.counter]; + } + else + seq.nextunit=seq.units[seq.transect%numberoftransects][seq.counter+1]; // initiate first page here socket.broadcast.emit("pageFlipfromserver", voice, unit, time, - seq.mm,seq.counter,unitlast); + seq.mm,seq.counter,seq.nextunit ); socket.emit("pageFlipfromserver", voice, unit, time, - seq.mm,seq.counter,unitlast); + seq.mm,seq.counter,seq.nextunit ); function sequenCer() { - if (ztime >= 0 ){ - // basic unit is still the second/1000ms - change this to tempoms? no i dont think so - // count in and count out - //////////////////////////////////////////// - var counter = Math.floor(ztime/tempoms) + var counter = ztime + // flip the page + if (counter == 0){ + //increment the row position + seq.counter = (seq.counter + 1) % (order) + //increment the transect + if ( seq.counter==0 ){ seq.transect += 1 } + socket.broadcast.emit("pageFlipfromserver", voice, unit, time, seq.mm,seq.counter,seq.nextunit); + + clearInterval(pulse) + step(seq); + } if (counter >= 0 ){ socket.broadcast.emit('counterText', - voice, unit, counter,seq.counter,unitlast); + voice, unit, counter,seq.counter,unitlast,seq.transect%numberoftransects); socket.emit('counterText', - voice, unit, counter,seq.counter,unitlast); + voice, unit, counter,seq.counter,unitlast,seq.transect%numberoftransects); if (counter <= outcount ) { socket.broadcast.emit('countinFromServer', @@ -254,38 +266,25 @@ voice, "+", "","playing.. ", "green","transparent",unit); } + } - } - // on each beat do: // push out the pulse to metronome seq.metrobeat = (seq.metrobeat+1)%seq.beatsinbar ; socket.broadcast.emit('metroPulse', tempoms, voice,seq.metrobeat); - socket.emit('metroPulse', tempoms, voice,seq.metrobeat); + socket.emit('metroPulse', tempoms, voice, seq.metrobeat); } - // flip the page - if (counter == 0){ - - seq.counter = (seq.counter + 1) % seq.durations.length - socket.broadcast.emit("pageFlipfromserver", voice, unit, time, seq.mm,seq.counter); - if ( seq.counter==0 ){ transect += 1 } - console.log(voice, seq.counter,transect) - //delete tockTock; - step(seq); + // decrement the time + ztime -= 1 - } - - // decrement the time - ztime -= tempoms - - - +// this shows undefined counter output - bug related +// console.log(counter) } - var pulse = setInterval(sequenCer, tempoms); + var pulse = setInterval(sequenCer, 50); socket.on('stopSeq', function () { //donaldduck = mickeymouse + 7 @@ -299,6 +298,7 @@ }; step = function (seq) { + clearInterval(countdowntick); countdowntick(seq) sequencerState=1;