diff nodescore.js @ 43:7f0485e0d0ff

updates via ljubljana
author tzara <rc-web@kiben.net>
date Sat, 08 Sep 2012 08:25:19 +0000
parents 49c94f63b8b0
children 8fc7155aa3ac
line wrap: on
line diff
--- a/nodescore.js	Tue Sep 04 07:25:49 2012 +0000
+++ b/nodescore.js	Sat Sep 08 08:25:19 2012 +0000
@@ -7,31 +7,27 @@
 
 ////////////////////////////////////////////
 */
-
 var sio = require('socket.io')
 , http = require('http')
 , fs = require('fs')
-,  $ = require('jQuery')
 , static = require('node-static');
+// run webserver serving static html
+////////////////////////////////////////////
+var clientFiles = new static.Server('./www');
+var httpServer = http.createServer(
+    function(request, response) {
+	request.addListener('end', function () {
+	    clientFiles.serve(request, response);	    
+	    process.setMaxListeners(0);
+	});    
+    });
+
+httpServer.listen(8889);
+
 
 var pinging=0
-
 console.log("ping set to 0")
 
-// run webserver serving static html
-////////////////////////////////////////////
-
-var clientFiles = new static.Server('./www');
-
-var httpServer = http.createServer(function(request, response) {
-    request.addListener('end', function () {
-	clientFiles.serve(request, response);	    
-	process.setMaxListeners(0);
-    });    
-});
-
-httpServer.listen(8889);
-
 ////////////////////////////////////////////
 // connect to websockets 
 ////////////////////////////////////////////
@@ -121,10 +117,11 @@
     }
 
     socket.on('startChr', function () { startChr();}); 
+    // if not already started start the chronometer    
     function startChr() { if (chronstate !== 1) { 
 	chronstate = 1; chronometer();} 
-			}      // if not already started start the chronometer    
-
+			}
+    
     socket.on('stopChr', function () { stopChr();} );    
     function stopChr() {  chronstate = 0; }  
     // stop the chronometer
@@ -153,18 +150,22 @@
     srcsqr[2] = [03,00,17,16,35,34];
     srcsqr[3] = [01,02,19,18,33,32];
 
-    var seqA = { metrobeat:0, voice:1, name: "A", counter: 0, mm: 120, beatsinbar: 4, durations: srcsqr[0], units: [1,2,3,1,2,4]};
+    var seqA = { metrobeat:0, voice:1, name: "A", counter: 0, mm: 60, beatsinbar: 4, durations: srcsqr[0], units: [1,2,3,1,2,4]};
     var seqB = { metrobeat:0, voice:2, name: "B", counter: 0, mm: 120, beatsinbar: 4, durations: srcsqr[1], units: [3,2,1,1,2,3]};
-    var seqC = { metrobeat:0, voice:3, name: "C", counter: 0, mm: 120, beatsinbar: 4, durations: srcsqr[2], units: [4,5,6,5,4,2]};
-    var seqD = { metrobeat:0, voice:4, name: "D", counter: 0, mm: 120, beatsinbar: 4, durations: srcsqr[3], units: [2,3,4,2,3,1]};
+    var seqC = { metrobeat:0, voice:3, name: "C", counter: 0, mm: 90, beatsinbar: 4, durations: srcsqr[2], units: [4,5,6,5,4,2]};
+    var seqD = { metrobeat:0, voice:4, name: "D", counter: 0, mm: 105, beatsinbar: 4, durations: srcsqr[3], units: [2,3,4,2,3,1]};
     
      var countdowntick = function(seq){
 
-	 var tempoms = 60000/seq.mm
-	 var timemultiplier=tempoms
-	 var outcount = 12; var incount=12;
+	// var tempoms = Math.floor(60000/seq.mm)
+	 var tempoms = Math.floor(60000/seq.mm)
+	 console.log(tempoms)
+	 var timemultiplier=1
+	 var outcount = 4; var incount=4;
 	 var time = ((seq.durations[seq.counter]+1) *timemultiplier) + 30000 + (outcount*tempoms);
-	 var ztime = time; var totaltime = time/tempoms
+	 var time = Math.floor(time)
+	 var ztime = time; 
+	 var totaltime = Math.floor(time/tempoms)
 	 var unit = seq.units[seq.counter];
 	 
 	 // initiate first page here
@@ -172,15 +173,15 @@
 	 socket.emit("pageFlipfromserver", seq.voice, unit, time, seq.mm,seq.counter);
 	 
 	 function sequenCer() {
-	     
+	 //    console.log(ztime)
 	     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 = ztime/tempoms
-		 //
+		 var counter = Math.floor(ztime/tempoms)
+		 //console.log(counter)
 		 if (counter >= 0 ){
 		     socket.broadcast.emit('counterText', seq.voice, seq.counter, counter);
 		     socket.emit('counterText', seq.voice, seq.counter, counter);
@@ -218,7 +219,8 @@
 	     }
 	     
 	     // flip the page 
-	     if (ztime == 0){
+	     if (counter == 0){
+
 		 seq.counter = (seq.counter + 1) % seq.durations.length	    		
 		socket.broadcast.emit("pageFlipfromserver", seq.voice, unit, time, seq.mm,seq.counter);
 		 //delete tockTock;	
@@ -248,7 +250,10 @@
 	if (sequencerState == 0) { 
 	    console.log("sequencer starting...")	    
 	    startChr();
-	    step(seqA); step(seqB); step(seqC); step(seqD);	    
+
+//////////////////////////////////////////////////////////////////
+
+	    step(seqA);step(seqB); step(seqC); step(seqD);	    
 	    ztime =-1;
 	}
 	else console.log("sequencer already started...")
@@ -292,23 +297,17 @@
     */
 
 
-// periodically broadcast  a ping
-  
+// periodically broadcast a ping
     function serverTime(freq) {
-
-	if (pinging==0){
-	    st = setInterval(function() {
-		var pinging=1;
-		var d = new Date(); var n = d.getTime(); 
-		socket.emit("timeFromServer", n); 
-		//socket.broadcast.emit("timeFromServer", n); 	    
-	    }, 1000);   }
-	else console.log("already pinging")
+	if (pinging==0){ st = setInterval(function() {
+	    var pinging=1;
+	    var d = new Date(); var n = d.getTime(); 
+	    socket.emit("timeFromServer", n); 
+	}, 1000);   } else console.log("already pinging")
     }
-    
     // receive the pong calculate the latency and
     // return the response to the client
-    
+
     socket.on("clientTimeResponse", function(x) {
 	var d = new Date(); var n = d.getTime();
 	var latency = (n-x)/2;