X-Git-Url: https://git.piment-noir.org/?p=SugarCubes.git;a=blobdiff_plain;f=TobySegaran.pde;h=8769b101ef17b728d1281d169bef79eb6aff036a;hp=08e955481951e8333d5308889a3dbcc94507d449;hb=7d60f6f6ea82fd5c9794524ce11d40e7d6c00bf7;hpb=956c6cecc61d0c24e344c9c9d295061281a651da diff --git a/TobySegaran.pde b/TobySegaran.pde index 08e9554..8769b10 100644 --- a/TobySegaran.pde +++ b/TobySegaran.pde @@ -7,8 +7,8 @@ class GlitchPlasma extends SCPattern { BasicParameter speedParameter = new BasicParameter("SPEED", 0.1); BasicParameter glitchParameter = new BasicParameter("GLITCH", 0.0); - public GlitchPlasma(GLucose glucose) { - super(glucose); + public GlitchPlasma(LX lx) { + super(lx); addParameter(saturationParameter); addParameter(speedParameter); addParameter(glitchParameter); @@ -23,14 +23,14 @@ class GlitchPlasma extends SCPattern { } } - public void run(int deltaMs) { - for (Point p : model.points) { - float hv = sin(dist(p.fx + pos, p.fy, 128.0, 128.0) / 8.0) - + sin(dist(p.fx, p.fy, 64.0, 64.0) / 8.0) - + sin(dist(p.fx, p.fy + pos / 7, 192.0, 64.0) / 7.0) - + sin(dist(p.fx, p.fz + pos, 192.0, 100.0) / 8.0); + public void run(double deltaMs) { + for (LXPoint p : model.points) { + float hv = sin(dist(p.x + pos, p.y, 128.0, 128.0) / 8.0) + + sin(dist(p.x, p.y, 64.0, 64.0) / 8.0) + + sin(dist(p.x, p.y + pos / 7, 192.0, 64.0) / 7.0) + + sin(dist(p.x, p.z + pos, 192.0, 100.0) / 8.0); float bv = 100; - colors[p.index] = color((hv+2)*50, satu, bv); + colors[p.index] = lx.hsb((hv+2)*50, satu, bv); } if (random(1.0)45 || x%50<5) { intensity[x][ym-1] = random(30,100); @@ -81,9 +81,9 @@ class FireEffect extends SCPattern { } } - for (Point p : model.points) { - int x = max(0,(int(p.fx)+int(p.fz))%xm); - int y = constrain(ym-int(p.fy),0,ym-1); + for (LXPoint p : model.points) { + int x = max(0,(int(p.x)+int(p.z))%xm); + int y = constrain(ym-int(p.y),0,ym-1); colors[p.index] = flameColor(intensity[x][y]); } } @@ -97,8 +97,8 @@ class StripBounce extends SCPattern { SinLFO[] sat = new SinLFO[numOsc]; float[] colorOffset = new float[numOsc]; - public StripBounce(GLucose glucose) { - super(glucose); + public StripBounce(LX lx) { + super(lx); for (int i=0;ibright[p.index]) { - colors[p.index] = color(hv,sat[i].getValuef(),br); + colors[p.index] = lx.hsb(hv,sat[i].getValuef(),br); bright[p.index] = br; } } @@ -142,8 +142,8 @@ class SoundRain extends SCPattern { SinLFO col1 = new SinLFO(0, model.xMax, 5000); BasicParameter gainParameter = new BasicParameter("GAIN", 0.5); - public SoundRain(GLucose glucose) { - super(glucose); + public SoundRain(LX lx) { + super(lx); addModulator(pos).trigger(); addModulator(col1).trigger(); addParameter(gainParameter); @@ -154,7 +154,7 @@ class SoundRain extends SCPattern { gain = 50*parameter.getValuef(); } } - protected void onActive() { + void onActive() { if (this.fft == null) { this.fft = new FFT(lx.audioInput().bufferSize(), lx.audioInput().sampleRate()); this.fft.window(FFT.HAMMING); @@ -168,14 +168,14 @@ class SoundRain extends SCPattern { } } - public void run(int deltaMs) { + public void run(double deltaMs) { this.fft.forward(this.lx.audioInput().mix); for (int i = 0; i < avgSize; ++i) { float value = this.fft.getAvg(i); this.bandVals[i].setEndVal(value,40).trigger(); float lv = min(value*gain,100); if (lv>lightVals[i]) { - lightVals[i]=min(lightVals[i]+10,lv,100); + lightVals[i]=min(lightVals[i]+15,lv,100); } else { lightVals[i]=max(lv,lightVals[i]-5,0); } @@ -184,10 +184,10 @@ class SoundRain extends SCPattern { for (int j=0; jlightVals[i]) { + lightVals[i]=min(lightVals[i]+30,lv,model.yMax+10); + } else { + lightVals[i]=max(lv,lightVals[i]-10,0); + } + } + int i = 0; + for (Cube c : model.cubes) { + for (int j=0; javgSize) seq=avgSize-seq; + seq=constrain(seq,0,avgSize-1); + float br=max(0, lightVals[seq]-p.y); + colors[p.index] = lx.hsb((dis*avgSize*65)/model.xMax,90,br); + } + } + } + } + } } +