Stop wasting time in ColorFucker when sharpness is off
authorMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Sat, 9 Nov 2013 02:53:05 +0000 (18:53 -0800)
committerMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Sat, 9 Nov 2013 02:53:05 +0000 (18:53 -0800)
MarkSlee.pde
_Internals.pde
code/HeronLX.jar

index 59798c5eb88a3fc7e4d609e1b716144657f6f824..88759da00d83ef8f123dbf445eb8d8f79bfe9926 100644 (file)
@@ -1411,7 +1411,7 @@ class ColorFuckerEffect extends SCEffect {
     float bMod = level.getValuef();
     float sMod = 1 - desat.getValuef();
     float hMod = hueShift.getValuef();
-    float fSharp = 1/(1.0001-sharp.getValuef());
+    float fSharp = sharp.getValuef();
     float fSoft = soft.getValuef();
     boolean mon = mono.getValuef() > 0.5;
     boolean ivt = invert.getValuef() > 0.5;
@@ -1425,6 +1425,7 @@ class ColorFuckerEffect extends SCEffect {
           hsb[2] = 1 - hsb[2];
         }
         if (fSharp > 0) {
+          fSharp = 1/(1-fSharp);
           hsb[2] = hsb[2] < .5 ? pow(hsb[2],fSharp) : 1-pow(1-hsb[2],fSharp);
         }
         if (fSoft > 0) {
index 3497afc02f53fef905f033ecd1d18b0c00c5de6f..47166220ca84ae722f3392f707575a2a42377e85 100644 (file)
@@ -266,11 +266,11 @@ void draw() {
   long drawNanos = System.nanoTime() - drawStart;
   
   if (diagnosticsOn) {
-    drawDiagnostics(lx.drawNanos(), drawNanos, simulationNanos, uiNanos, gammaNanos, sendNanos);
+    drawDiagnostics(drawNanos, simulationNanos, uiNanos, gammaNanos, sendNanos);
   }
 }
 
-void drawDiagnostics(long lxNanos, long drawNanos, long simulationNanos, long uiNanos, long gammaNanos, long sendNanos) {
+void drawDiagnostics(long drawNanos, long simulationNanos, long uiNanos, long gammaNanos, long sendNanos) {
   float ws = 4 / 1000000.;
   int thirtyfps = 1000000000 / 30;
   int sixtyfps = 1000000000 / 60;
@@ -283,7 +283,7 @@ void drawDiagnostics(long lxNanos, long drawNanos, long simulationNanos, long ui
   noStroke();
   int xp = x;
   float hv = 0;
-  for (long val : new long[] {lxNanos, simulationNanos, uiNanos, gammaNanos, sendNanos }) {
+  for (long val : new long[] {lx.timer.drawNanos, simulationNanos, uiNanos, gammaNanos, sendNanos }) {
     fill(lx.hsb(hv % 360, 100, 80));
     rect(xp, y, val * ws, h-1);
     hv += 140;
@@ -292,6 +292,23 @@ void drawDiagnostics(long lxNanos, long drawNanos, long simulationNanos, long ui
   noFill();
   stroke(#333333);
   line(x+sixtyfps*ws, y+1, x+sixtyfps*ws, y+h-1);
+  
+  y = y - 14;
+  xp = x;
+  float tw = thirtyfps * ws;
+  noFill();
+  stroke(#999999);
+  rect(x, y, tw, h);
+  noStroke();
+  for (long val : new long[] {
+    lx.engine.timer.deckNanos,
+    lx.engine.timer.fxNanos}) {
+    float amt = val / (float) lx.timer.drawNanos;
+    fill(lx.hsb(hv % 360, 100, 80));
+    rect(xp, y, amt * tw, h-1);
+    hv += 140;
+    xp += amt * tw;
+  }  
 }
 
 void drawSimulation(color[] simulationColors) {
index 437f8e183b12a37836dbf6366579650545c8157e..04fa7fda66c57a3ddc8c02c282a4b73476e908a2 100755 (executable)
Binary files a/code/HeronLX.jar and b/code/HeronLX.jar differ