//OSC signal receiver, built by Scott Brown - January 22, 2010 //Built to work with "Live 2 Processing" (Max4Live plugin) //by WIGGLE (www.unsound.com) //Plugin available at: http://www.unsound.com/M4L/ import oscP5.*; import netP5.*; OscP5 osc; NetAddress remoteLocation; //To store values used in draw() float valueX; float valueY; int knobA; int knobB; int knobC; int knobD; int knobE; int knobF; void setup() { size(400, 200); //Open local OSC connection on port 12345 osc = new OscP5(this, 12345); osc.plug(this, "varX", "/varX"); osc.plug(this, "varY", "/varY"); osc.plug(this, "knobA", "/knobA"); osc.plug(this, "knobB", "/knobB"); osc.plug(this, "knobC", "/knobC"); osc.plug(this, "knobD", "/knobD"); osc.plug(this, "knobE", "/knobE"); osc.plug(this, "knobF", "/knobF"); //For sending OSC data remoteLocation = new NetAddress("127.0.0.1", 12345); } void varX(float value) { println("varX "+value); valueX = value; } void varY(float value) { println("varY "+value); valueY = value; } void knobA(int value) { println("knobA "+value); knobA = value; } void knobB(int value) { println("knobB "+value); knobB = value; } void knobC(int value) { println("knobC "+value); knobC = value; } void knobD(int value) { println("knobD "+value); knobD = value; } void knobE(int value) { println("knobE "+value); knobE = value; } void knobF(int value) { println("knobF "+value); knobF = value; } void draw() { //Change background greyscale values depending on left and right channel peak values noStroke(); fill(valueX); rect(0, 0, width/2, height); fill(valueY); rect(width/2, 0, width, height); //Change position of rect depending on knob values float boxA = map(knobA, 0, 127, height-40, 0); float boxB = map(knobB, 0, 127, height-40, 0); float boxC = map(knobC, 0, 127, height-40, 0); float boxD = map(knobD, 0, 127, height, 0); float boxE = map(knobE, 0, 127, height, 0); float boxF = map(knobF, 0, 127, height, 0); fill(175); rect(width/4-20, boxA, 40, 40); rect(width/2-20, boxB, 40, 40); rect(width-width/4-20, boxC, 40, 40); fill(50); rect(width/4-40, boxD, 80, 20); rect(width/2-40, boxE, 80, 20); rect(width-width/4-40, boxF, 80, 20); }