Add framerate UI and control on -/+ keys
authorMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Fri, 28 Jun 2013 17:53:12 +0000 (10:53 -0700)
committerMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Fri, 28 Jun 2013 17:53:12 +0000 (10:53 -0700)
SugarCubes.pde
_Internals.pde
_Overlay.pde

index 3f6cc8f4e47494ad81954d9065c4fcc5c84985f8..5504001bf88d3834f2d82b3b40f12340c35b00cf 100644 (file)
@@ -1,7 +1,7 @@
 /**
  *           +-+-+-+-+-+               +-+-+-+-+-+
  *          /         /|               |\         \
- *         /         / +               <+ \         \
+ *         /         / +               + \         \
  *        +-+-+-+-+-+  |   +-+-+-+-+   |  +-+-+-+-+-+
  *        |         |  +  /         \  +  |         |
  *        +   THE   + /  /           \  \ +  CUBES  +
index 0249603b3f209e0fffc1013290aeca8a4368bcab..5603698adf2d4f907aa832a1ec09ef9e27db2661 100644 (file)
@@ -33,7 +33,8 @@ import rwmidi.*;
 
 final int VIEWPORT_WIDTH = 900;
 final int VIEWPORT_HEIGHT = 700;
-final int TARGET_FRAMERATE = 45;
+
+int targetFramerate = 30;
 
 int startMillis, lastMillis;
 GLucose glucose;
@@ -58,7 +59,7 @@ void setup() {
 
   // Initialize the Processing graphics environment
   size(VIEWPORT_WIDTH, VIEWPORT_HEIGHT, OPENGL);
-  frameRate(TARGET_FRAMERATE);
+  frameRate(targetFramerate);
   noSmooth();
   // hint(ENABLE_OPENGL_4X_SMOOTH); // no discernable improvement?
   logTime("Created viewport");
@@ -155,6 +156,14 @@ void keyPressed() {
     mappingTool.keyPressed();
   }
   switch (key) {
+    case '-':
+    case '_':
+      frameRate(--targetFramerate);
+      break;
+    case '=':
+    case '+':
+      frameRate(++targetFramerate);
+      break;
     case 'd':
       debugMode = !debugMode;
       println("Debug output: " + (debugMode ? "ON" : "OFF"));
index d33e4a14d33a9e4ac9318a3d6f1c48788d8f7d9b..827223a5e83f89ef70c8be045290c94ea10a1eea 100644 (file)
@@ -70,7 +70,12 @@ abstract class OverlayUI {
     textFont(titleFont);
     textAlign(LEFT);
     fill(#666666);
-    text("FPS: " + (((int)(frameRate * 10)) / 10.), 4, height-6);     
+    text("FPS: " + (((int)(frameRate * 10)) / 10.), 4, height-6);
+    text("Target (-/+):", 50, height-6);
+    fill(#000000);
+    rect(104, height-16, 20, 12);
+    fill(#666666);
+    text("" + targetFramerate, 108, height-6);
   }
 
   protected int drawObjectList(int yPos, String title, Object[] items, Method stateMethod) {
@@ -148,7 +153,7 @@ abstract class OverlayUI {
     return (mouseY - firstItemY) / lineHeight;
   }
   
-  abstract public void draw();
+  abstract public void draw();  
   abstract public void mousePressed();
   abstract public void mouseDragged();
   abstract public void mouseReleased();