improved filters

changed order of filters, fallof -> monstercat -> integral
master
karl 11 years ago
parent abf8859816
commit 7a5e18199e
  1. 34
      cava.c

@ -623,6 +623,22 @@ Options:\n\
// process [smoothing]
if (!scientificMode)
{
for (o = 0; o < bands; o++) {
temp = f[o];
if (temp < flast[o]) {
f[o] = fpeak[o] - (g * fall[o] * fall[o]);
fall[o]++;
} else if (temp >= flast[o]) {
f[o] = temp;
fpeak[o] = f[o];
fall[o] = 0;
}
flast[o] = f[o];
}
// process [smoothing]: monstercat-style "average"
int z, m_y;
float m_o = 64 / bands;
@ -639,35 +655,17 @@ Options:\n\
for (o = 0; o < bands; o++) {
temp = f[o];
if (temp < flast[o]) {
f[o] = fpeak[o] - (g * fall[o] * fall[o]);
fall[o]++;
} else if (temp >= flast[o]) {
f[o] = temp;
fpeak[o] = f[o];
fall[o] = 0;
}
fmem[o] += f[o];
fmem[o] = fmem[o] * 0.55;
f[o] = fmem[o];
if (f[o] < 1)f[o] = 1;
flast[o] = f[o];
#ifdef DEBUG
printf("%d: f:%f->%f (%d->%d)peak:%f adjpeak: %f \n", o, fc[o], fc[o + 1],
lcf[o], hcf[o], peak[o], f[o]);
#endif
}
}
// output: draw processed input

Loading…
Cancel
Save