/* oscemote.pde The simplest possible example of using oscemote with Processing For a couple slightly more sophisticated examples, check out: ../../../../2009/05/13/iphone-and-processing/ rob@rahji.com http://www.robduarte.com http://creativecommons.org/licenses/by/3.0/us/ */ import oscP5.*; import netP5.*; OscP5 oscP5; void setup() { oscP5 = new OscP5(this,8000); // start listening for osc messages on port 8000 // look at the oscemote wiki for the format of the messages that oscemote sends // based on those formats, assign a callback function to each message of that format... // tuio messages might be easier handled using the TUIO library for Processing // at http://www.tuio.org/?processing but it's not that hard to do without it... oscP5.plug(this,"tuio_function","/tuio/2Dcur","sifffff"); // the above format matches a "set" message as shown in the wiki: // eg: /tuio/2Dcur set 1 0.41875 0.6691 0 0 0 // the other messages are even simpler to identify... oscP5.plug(this,"accel_function","/acceleration/xyz","fff"); // accelerometer oscP5.plug(this,"slider_function","/slider/1","f"); // slider oscP5.plug(this,"switch_function","/switch/1","i"); // sliding switch oscP5.plug(this,"button_function","/button/B2","i"); // button } // we can do something interesting with the values in these functions, of course, // but for now just print the values public void tuio_function(String s, int i, float fx, float fy, float fvx, float fvy, float fa) { println("finger # " + i); println("finger x:" + fx + " y:" + fy); println("speed/direction x:" + fvx + " y:" + fvy + " acceleration:" + fa); } public void accel_function(float x, float y, float z) { println("accelerometer x:" + x + " y:" + y + " z:" + z); } public void slider_function(float f) { println("slider1: " + f); } public void switch_function(int i) { println("switch1: " + i); } public void button_function(int i) { println("button B2: " + i); } void draw() { }