2014-07-22 08:12:30 +02:00
|
|
|
/**
|
|
|
|
* ControlP5 Controlframe
|
|
|
|
*
|
2016-04-14 12:39:16 +02:00
|
|
|
* this example shows you how to create separate window to
|
|
|
|
* display and use controllers with processing 3
|
|
|
|
*
|
|
|
|
* by Andreas Schlegel, 2016
|
2014-07-22 08:12:30 +02:00
|
|
|
* www.sojamo.de/libraries/controlp5
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
import controlP5.*;
|
|
|
|
|
|
|
|
ControlFrame cf;
|
|
|
|
|
2016-04-14 12:39:16 +02:00
|
|
|
float speed;
|
|
|
|
float pos;
|
|
|
|
float c0, c1, c2, c3;
|
|
|
|
boolean auto;
|
2014-07-22 08:12:30 +02:00
|
|
|
|
2016-04-14 12:39:16 +02:00
|
|
|
void settings() {
|
|
|
|
size(400, 400, P3D);
|
|
|
|
}
|
2014-07-22 08:12:30 +02:00
|
|
|
|
2016-04-14 12:39:16 +02:00
|
|
|
void setup() {
|
|
|
|
cf = new ControlFrame(this, 400, 800, "Controls");
|
|
|
|
surface.setLocation(420, 10);
|
|
|
|
noStroke();
|
2014-07-22 08:12:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
void draw() {
|
2016-04-14 12:39:16 +02:00
|
|
|
if (auto) pos += speed;
|
|
|
|
background(0);
|
|
|
|
translate(width/2, height/2);
|
|
|
|
rotateY(pos);
|
|
|
|
lights();
|
|
|
|
fill(c0, c1, c2, c3);
|
|
|
|
box(100);
|
2014-07-22 08:12:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-14 12:39:16 +02:00
|
|
|
|
|
|
|
class ControlFrame extends PApplet {
|
2014-07-22 08:12:30 +02:00
|
|
|
|
|
|
|
int w, h;
|
2016-04-14 12:39:16 +02:00
|
|
|
PApplet parent;
|
|
|
|
ControlP5 cp5;
|
2014-07-22 08:12:30 +02:00
|
|
|
|
2016-04-14 12:39:16 +02:00
|
|
|
public ControlFrame(PApplet _parent, int _w, int _h, String _name) {
|
|
|
|
super();
|
|
|
|
parent = _parent;
|
|
|
|
w=_w;
|
|
|
|
h=_h;
|
|
|
|
PApplet.runSketch(new String[]{this.getClass().getName()}, this);
|
2014-07-22 08:12:30 +02:00
|
|
|
}
|
|
|
|
|
2016-04-14 12:39:16 +02:00
|
|
|
public void settings() {
|
|
|
|
size(w, h);
|
2014-07-22 08:12:30 +02:00
|
|
|
}
|
|
|
|
|
2016-04-14 12:39:16 +02:00
|
|
|
public void setup() {
|
|
|
|
surface.setLocation(10, 10);
|
|
|
|
cp5 = new ControlP5(this);
|
|
|
|
|
|
|
|
cp5.addToggle("auto")
|
|
|
|
.plugTo(parent, "auto")
|
|
|
|
.setPosition(10, 70)
|
|
|
|
.setSize(50, 50)
|
|
|
|
.setValue(true);
|
|
|
|
|
|
|
|
cp5.addKnob("blend")
|
|
|
|
.plugTo(parent, "c3")
|
|
|
|
.setPosition(100, 300)
|
|
|
|
.setSize(200, 200)
|
|
|
|
.setRange(0, 255)
|
|
|
|
.setValue(200);
|
|
|
|
|
|
|
|
cp5.addNumberbox("color-red")
|
|
|
|
.plugTo(parent, "c0")
|
|
|
|
.setRange(0, 255)
|
|
|
|
.setValue(255)
|
|
|
|
.setPosition(100, 10)
|
|
|
|
.setSize(100, 20);
|
|
|
|
|
|
|
|
cp5.addNumberbox("color-green")
|
|
|
|
.plugTo(parent, "c1")
|
|
|
|
.setRange(0, 255)
|
|
|
|
.setValue(128)
|
|
|
|
.setPosition(100, 70)
|
|
|
|
.setSize(100, 20);
|
|
|
|
|
|
|
|
cp5.addNumberbox("color-blue")
|
|
|
|
.plugTo(parent, "c2")
|
|
|
|
.setRange(0, 255)
|
|
|
|
.setValue(0)
|
|
|
|
.setPosition(100, 130)
|
|
|
|
.setSize(100, 20);
|
|
|
|
|
|
|
|
cp5.addSlider("speed")
|
|
|
|
.plugTo(parent, "speed")
|
|
|
|
.setRange(0, 0.1)
|
|
|
|
.setValue(0.01)
|
|
|
|
.setPosition(100, 240)
|
|
|
|
.setSize(200, 30);
|
|
|
|
|
2014-07-22 08:12:30 +02:00
|
|
|
}
|
|
|
|
|
2016-04-14 12:39:16 +02:00
|
|
|
void draw() {
|
|
|
|
background(190);
|
2014-07-22 08:12:30 +02:00
|
|
|
}
|
2016-04-14 12:39:16 +02:00
|
|
|
}
|