final changes
[SugarCubes.git] / DanHorwitz.pde
index 0f987bf66706dd86557ccb0cd954b42ca615cff8..6c46e69b415213113408ff16a07b740136a0db48 100755 (executable)
@@ -51,24 +51,24 @@ public class Noise extends DPat
        int                     CurAnim, iSymm;\r
        int             XSym=1,YSym=2,RadSym=3;\r
        float           zTime , zTheta=0, zSin, zCos, rtime, ttime, transAdd;\r
-       DParam          pSpeed , pDensity, pRotZ;\r
+       DParam          pSpeed , pDensity;\r
        Pick            pChoose, pSymm;\r
        int                     _ND = 4;\r
        NDat            N[] = new NDat[_ND];\r
 \r
        Noise(GLucose glucose) {\r
                super(glucose);\r
-               pRotZ   = addParam("RotZ"        , .5 );        pSpeed          = addParam("Fast", .55);\r
-               pDensity= addParam("Dens"        , .5);\r
-               pSymm   = addPick("Symmetry" , 0, 3, new String[] {"None", "X", "Y", "Radial"}  );\r
-               pChoose = addPick("Animation", 6, 7, new String[] {"Drip", "Cloud", "Rain", "Fire", "Machine", "Spark","VWave", "Wave"} );\r
+               pSpeed          = addParam("Fast"       , .55);\r
+               pDensity        = addParam("Dens"        , .5);\r
+               pSymm           = addPick("Symmetry" , 0, 3, new String[] {"None", "X", "Y", "Radial"}  );\r
+               pChoose         = addPick("Animation", 6, 7, new String[] {"Drip", "Cloud", "Rain", "Fire", "Machine", "Spark","VWave", "Wave"} );\r
                for (int i=0; i<_ND; i++) N[i] = new NDat();\r
        }\r
 \r
        void StartPattern() { zTime = random(500); zTheta=0; rtime = 0; ttime = 0; transAdd=0; }\r
        void StartRun(double deltaMs) {\r
                zTime   += deltaMs*(pSpeed.Val()-.5)*.002       ;\r
-               zTheta  += deltaMs*(pRotZ .Val()-.5)*.01        ;\r
+               zTheta  += deltaMs*(pSpin .Val()-.5)*.01        ;\r
                rtime   += deltaMs;\r
                iSymm    = pSymm.Cur();\r
                transAdd = 1*(1 - constrain(rtime - ttime,0,1000)/1000);\r
@@ -77,8 +77,8 @@ public class Noise extends DPat
 \r
                if (pChoose.Cur() != CurAnim) {\r
                        CurAnim = pChoose.Cur(); ttime = rtime;\r
-                       pRotZ           .reset();       zTheta          = 0;\r
-                       pDensity        .reset();       pSpeed          .reset();       \r
+                       pSpin           .reset();       zTheta          = 0;\r
+                       pDensity        .reset();       pSpeed          .reset();\r
                        for (int i=0; i<_ND; i++) { N[i].isActive = false; }\r
                        \r
                        switch(CurAnim) {\r
@@ -160,7 +160,6 @@ public class Play extends DPat
 \r
        int             nBeats  =       0;\r
        DParam  pAmp, pRadius, pBounce;\r
-       DParam  pRotX, pRotY, pRotZ;\r
 \r
        float   t,amp,rad,bnc;\r
        \r
@@ -176,15 +175,11 @@ public class Play extends DPat
        float   LastBeat=3, LastMeasure=3;\r
        int             CurRandTempo = 1, CurRandTPat = 1;\r
 \r
-\r
-       Pick    pTimePattern, pTempoMult, pShape, pForm;\r
+       Pick    pTimePattern, pTempoMult, pShape;\r
        int             RandCube;\r
 \r
        Play(GLucose glucose) {\r
                super(glucose);\r
-               pRotX           = addParam("RotX", .5);\r
-               pRotY           = addParam("RotY", .5);\r
-               pRotZ           = addParam("RotZ", .5);\r
            pRadius             = addParam("Rad"        , .1    );\r
                pBounce         = addParam("Bnc"        , .2    );\r
            pAmp                = addParam("Amp"        , .2    );\r
@@ -193,7 +188,6 @@ public class Play extends DPat
                                                                                                                                        "Pyramid", "Wings", "W2", "Clock",\r
                                                                                                                                        "Triangle", "Quad", "Sphere", "Cone",\r
                                                                                                                                        "Noise", "Wave", "?", "?"}                                              );\r
-               pForm           = addPick ("Form"       , 2 , 2         , new String[] {"Bar", "Volume", "Fade"}                                                                                                );\r
        }\r
 \r
        public class rWave {\r
@@ -245,15 +239,19 @@ public class Play extends DPat
                        w.move(deltaMs); if (w.bDone) waves.remove(i); else i++;\r
                }\r
 \r
-               if (t<LastBeat) {\r
-                       cPrev.set(cRand); cRand.setRand();\r
-                       a1.set(); a2.set(); a3.set(); a4.set();\r
+               if ((t<LastBeat && !pKey.b) || DG.KeyPressed>-1) {\r
                        waves.add(new rWave(\r
-                                               random(1),              // location\r
+                                               pKey.b ? map(DG.KeyPressed,0,7,0,1) : random(1),                // location\r
                                                bnc*10,                 // bounciness\r
                                                7,                              // velocity\r
                                                2*(1-amp)));    // dampiness\r
+                       DG.KeyPressed=-1;\r
                        if (waves.size() > 5) waves.remove(0);\r
+               }\r
+               \r
+               if (t<LastBeat) {\r
+                       cPrev.set(cRand); cRand.setRand();\r
+                       a1.set(); a2.set(); a3.set(); a4.set();\r
                } LastBeat = t;\r
 \r
                switch (nTPat) {\r
@@ -332,13 +330,7 @@ public class Play extends DPat
                default:        return color(0,0,0);\r
                }\r
 \r
-               switch (pForm.Cur()) {\r
-                       case 0:         return color(0,0,c1c(1 - V.distance(Pn)/rad > .5?1:0));\r
-                       case 1:         return color(0,0,c1c(Pn.y < V.y ?1:0));\r
-                       case 2:         return color(0,0,c1c(1 - V.distance(Pn)/rad));\r
-\r
-                       default:        return color(0,0,c1c(Pn.y < V.y ?1:0));\r
-               }\r
+               return color(0,0,c1c(1 - V.distance(Pn)/rad));\r
        }\r
 }\r
 //----------------------------------------------------------------------------------------------------------------------------------\r