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;