*/
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);
public final static int DEFAULT_NUM_BANDS = 16;
- public GraphicEQ(HeronLX lx) {
+ public GraphicEQ(LX lx) {
this(lx, DEFAULT_NUM_BANDS);
}
* 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);
}
}
- 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;
}
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;
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();
}
}
}