/* Serial Codes: Inside Play Mode: [startbit, finger, sound, velocity] Inside Menu Mode: [startbit, finger, sound, 0] UNLOCK: [startbit, finger, UNLOCK, 0] LOCK: [startbit, finger, LOCK, 0] Transfer Play Mode: [startbit, PLAY, 0, 0] Transfer Menu Mode: [startbit, MENU, 0, 0] Serial Codes: Inside Play Mode: [555, 0-9, 0-50, 0-127] Inside Menu Mode: [555, 0-9, 0-50, 0 ] UNLOCK: [555, 0-9, 210, 0] LOCK: [555, 0-9, 211, 0] Transfer Play Mode: [555, 220, 0, 0] Transfer Menu Mode: [555, 221, 0, 0] */ import processing.serial.*; Serial myPort; // The serial port Finger[] f= new Finger[10]; PFont font; Smsg serialmsg; int initial=-1; boolean waiting; int count=0; //Global Variables boolean Play; //true if in Play mode false if in Menu mode int startbit=200; int playmsg=220; int menumsg=221; void setup() { size(500,500); background(0); smooth(); //LOAD font font = loadFont("ArialMT-48.vlw"); textFont(font, 12); //INITIALIZE Fingers initializeF(); //INITIALIZE Variables serialmsg= new Smsg(0,0,0); Play=true; //DEAL with serial println(Serial.list()); myPort = new Serial(this, Serial.list()[0], 9600); //initialize getting to punctuation bit while(initial != startbit) { if (myPort.available() > 0) { initial = myPort.read(); println(initial); } } waiting = false; count=0; } void draw() { background(0); readPORT(); renderF(); //render mode if(Play) { text("PLAY",20,20); } else { text("MENU",20,20); } resetFvel(); }