X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=_Internals.pde;h=9d6e2740a4aea94a54cd807202b86949403b6a98;hb=e530876366cf4c07a5e77b7e8890dff376cbcd3c;hp=f6344975954b493b0946414d19893146e0c74b87;hpb=190d91c2948b274a2dbaf4ec07450b4ebf2feece;p=SugarCubes.git diff --git a/_Internals.pde b/_Internals.pde index f634497..9d6e274 100644 --- a/_Internals.pde +++ b/_Internals.pde @@ -39,7 +39,7 @@ final float TRAILER_WIDTH = 240; final float TRAILER_DEPTH = 97; final float TRAILER_HEIGHT = 33; -final int MaxCubeHeight = 7; +final int MaxCubeHeight = 5; final int NumBackTowers = 9; int targetFramerate = 60; @@ -60,6 +60,7 @@ DebugUI debugUI; boolean uiOn = true; LXPattern restoreToPattern = null; PImage logo; +float[] hsb = new float[3]; // Handles to UI objects UIContext[] overlays; @@ -196,16 +197,19 @@ void setup() { void draw() { // Draws the simulation and the 2D UI overlay background(40); - color[] colors = glucose.getColors(); + color[] simulationColors; + color[] sendColors; + simulationColors = sendColors = glucose.getColors(); String displayMode = uiCrossfader.getDisplayMode(); if (displayMode == "A") { - colors = lx.engine.getDeck(0).getColors(); + simulationColors = lx.engine.getDeck(0).getColors(); } else if (displayMode == "B") { - colors = lx.engine.getDeck(1).getColors(); + simulationColors = lx.engine.getDeck(1).getColors(); } if (debugMode) { - debugUI.maskColors(colors); + debugUI.maskColors(simulationColors); + debugUI.maskColors(sendColors); } camera( @@ -251,7 +255,7 @@ void draw() { strokeWeight(2); beginShape(POINTS); for (Point p : glucose.model.points) { - stroke(colors[p.index]); + stroke(simulationColors[p.index]); vertex(p.x, p.y, p.z); } endShape(); @@ -259,21 +263,12 @@ void draw() { // 2D Overlay UI drawUI(); - // Send output colors - color[] sendColors = glucose.getColors(); - if (debugMode) { - debugUI.maskColors(sendColors); - } - // Gamma correction here. Apply a cubic to the brightness // for better representation of dynamic range for (int i = 0; i < sendColors.length; ++i) { - float b = brightness(sendColors[i]) / 100.f; - sendColors[i] = color( - hue(sendColors[i]), - saturation(sendColors[i]), - (b*b*b) * 100. - ); + lx.RGBtoHSB(sendColors[i], hsb); + float b = hsb[2]; + sendColors[i] = lx.hsb(360.*hsb[0], 100.*hsb[1], 100.*(b*b*b)); } // TODO(mcslee): move into GLucose engine @@ -458,6 +453,11 @@ void keyPressed() { } } break; + case 't': + if (!midiEngine.isQwertyEnabled()) { + lx.engine.setThreaded(!lx.engine.isThreaded()); + } + break; case 'p': for (PandaDriver p : pandaBoards) { p.toggle();