//http://www.sojamo.de/libraries/controlP5/reference/index.html import controlP5.*; ControlP5 controlP5; PFont font; int [] data = new int[3]; int myColorBackground = color(30); void setup() { size(1200, 400); smooth(); font = loadFont("CourierNew36.vlw"); controlP5 = new ControlP5(this); controlP5.addTextarea("info", "Programmer: Joe Morrow \n"+ "Contact: jmmorrow@mit.edu \n" + "Description: Graphical User Interface for MAS863 final project. " + "The three sliders control servo angles on an external 3-axis gimbal. " + "Press 'Space Bar' to reset all angles to 0.", width/10, int(height/1.3), 200, 50); controlP5.addRange("Inner Angle", -180, 180, -180, 0, width/8, height/2, 400, 20); //min,max,minDefault,maxDefault,width,height controlP5.addRange("Middle Angle", -180, 180, -180, 0, width/8, height/4, 400, 20); controlP5.addSlider("Outer Angle", -180, 180, 2, width/12, height/8, 1000, 20); Slider s2 = (Slider)controlP5.controller("Outer Angle"); s2.setNumberOfTickMarks(361); // use Slider.FIX or Slider.FLEXIBLE to change the slider handle // by default it is Slider.FIX s2.setSliderMode(Slider.FLEXIBLE); controlP5.addTextfield("Outer_Value",width/50,height/8,30,20); } void draw() { background(myColorBackground); data[0] = int(controlP5.controller("Outer Angle").value()); // println(data[0] + " " + data[1] + " " + data[2]); textFont(font, 30); fill(255); textAlign(CENTER); text("All Units Degrees", width/2, height/1.1); } /////////////////////////////////// void controlEvent(ControlEvent theEvent) { if (theEvent.controller().name()=="Outer Angle") { println("Outer Angle = " + int(theEvent.controller().value())); } } void keyPressed() { if (key == ' ') { println("###RESET###"); // delay(500); controlP5.controller("Outer Angle").setValue(2.0); } } ///////////////////////// // for every change in textfield textA, this function will be called public void Outer_Value(String theValue) { controlP5.controller("Outer Angle").setValue(float(theValue)+2); }