diff --git a/cava.c b/cava.c index 60fd42f..feea0b0 100644 --- a/cava.c +++ b/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