Mercurial > hg > svgui
diff layer/SpectrogramLayer.cpp @ 1055:00891cfaa4d3 3.0-integration
Make normalise-hybrid logic the same in both draw methods
author | Chris Cannam |
---|---|
date | Mon, 13 Jun 2016 11:44:03 +0100 |
parents | 5e5873c24142 |
children | b4fd6c67fce5 |
line wrap: on
line diff
--- a/layer/SpectrogramLayer.cpp Mon Jun 13 11:42:51 2016 +0100 +++ b/layer/SpectrogramLayer.cpp Mon Jun 13 11:44:03 2016 +0100 @@ -2265,12 +2265,11 @@ } else if (m_normalization == NormalizeColumns) { fft->getNormalizedMagnitudesAt(sx, values, minbin, maxbin - minbin + 1); } else if (m_normalization == NormalizeHybrid) { - float max = fft->getNormalizedMagnitudesAt(sx, values, minbin, maxbin - minbin + 1); - if (max > 0.f) { - for (int i = minbin; i <= maxbin; ++i) { - values[i - minbin] = float(values[i - minbin] * - log10f(max)); - } + float max = fft->getNormalizedMagnitudesAt + (sx, values, minbin, maxbin - minbin + 1); + float scale = log10f(max + 1.f); + for (int i = minbin; i <= maxbin; ++i) { + values[i - minbin] *= scale; } } else { fft->getMagnitudesAt(sx, values, minbin, maxbin - minbin + 1);