// OSC controller interface // buZz, Puik. started aug. 2009 // ment to do : // - widgets // - editing of interface? // - send OSC events on widget change // startup with: // # freej -cFj osc_controller_interface.js // eee fullscreen res ;) W = 800; H = 480; include('widget_class.js'); set_resolution(W,H); MAX_WIDGETS = 10; // unused atm widgets = new Array(); mousestate = 0; plzredraw = 1; geo = new GeometryLayer(); geo.set_blit("ADD"); geo.set_fps(); geo.activate(true); geo.color(255,255,255,255); add_layer(geo); kbd = new KeyboardController(); kbd.activate(true); kbd.pressed_esc = function() { quit(); } register_controller( kbd ); ms = new MouseController(); ms.activate(true); ms.grab(true); ms.button = function(b, s, x, y) { var i; // (button, state, x, y) // echo("mousestate "+mousestate+" b"+b+" s"+s+" x"+x+" y"+y); this.grab(s); switch (mousestate) { // mousestate 0 = nothing // mousestate 1 = click // mousestate 2 = nothing + just clicked earlier (needs a timer) // mousestate 3 = double click // mousestate 4 = drag (not working right) case 0: if ((s == 1) && (b == 1)) { // left mousebutton pressed mousestate = 1; // do widget click change? for (i=0; i