X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=Audio.pde;h=1b84957d77a1d95aeb735e410d448a1914cd871f;hb=7d60f6f6ea82fd5c9794524ce11d40e7d6c00bf7;hp=6e36a298e42a73aec03958fda464234bc8f2434a;hpb=922def98b6cc88f3aa8784b8968d8a5aa1bfc1a2;p=SugarCubes.git diff --git a/Audio.pde b/Audio.pde index 6e36a29..1b84957 100644 --- a/Audio.pde +++ b/Audio.pde @@ -4,7 +4,7 @@ */ public static class GraphicEQ { - private final HeronLX lx; + private final LX lx; public final BasicParameter level = new BasicParameter("LVL", 0.5); public final BasicParameter range = new BasicParameter("RNGE", 0.5); @@ -19,7 +19,7 @@ public static class GraphicEQ { public final static int DEFAULT_NUM_BANDS = 16; - public GraphicEQ(HeronLX lx) { + public GraphicEQ(LX lx) { this(lx, DEFAULT_NUM_BANDS); } @@ -27,7 +27,7 @@ public static class GraphicEQ { * Note that the number of bands is a suggestion. Due to the FFT implementation * the actual number may be slightly different. */ - public GraphicEQ(HeronLX lx, int num) { + public GraphicEQ(LX lx, int num) { this.lx = lx; fft = new FFT(lx.audioInput().bufferSize(), lx.audioInput().sampleRate()); fft.window(FFT.HAMMING); @@ -39,8 +39,8 @@ public static class GraphicEQ { } } - final float logTen = log(10); - public float log10(float val) { + static final float logTen = log(10); + public static float log10(float val) { return log(val) / logTen; } @@ -57,7 +57,7 @@ public static class GraphicEQ { return avg; } - public void run(int deltaMs) { + public void run(double deltaMs) { fft.forward(lx.audioInput().mix); float zeroDBReference = pow(10, 100*(1-level.getValuef())/20.); float decibelRange = 12 + range.getValuef() * 60; @@ -70,13 +70,13 @@ public static class GraphicEQ { float value = constrain(positiveDecibels / decibelRange, 0, 1); if (value > bandVals[i].getValuef()) { - bandVals[i].setEndVal(value, attack.getValuef() * 20).trigger(); + bandVals[i].setRangeFromHereTo(value, attack.getValuef() * 20).trigger(); } } for (LinearEnvelope band : bandVals) { band.run(deltaMs); if (!band.isRunning() && band.getValuef() > 0) { - band.setEndVal(0, release.getValuef() * 1600).trigger(); + band.setRangeFromHereTo(0, release.getValuef() * 1600).trigger(); } } }