# HG changeset patch # User Chris Cannam # Date 1415883329 0 # Node ID 2f8a802b62f913e71df306bc57756313d2723f41 # Parent a43b53d3273574959d9389f0b360ce7e753db7e3 Avoid freqMap overruns for unusual sample rates diff -r a43b53d32735 -r 2f8a802b62f9 src/Matcher.cpp --- a/src/Matcher.cpp Thu Nov 13 09:50:30 2014 +0000 +++ b/src/Matcher.cpp Thu Nov 13 12:55:29 2014 +0000 @@ -202,9 +202,11 @@ while (i <= params.fftSize/2) { double midi = log(i*binWidth/440.0) / log(2.0) * 12 + 69; if (midi > 127) midi = 127; - freqMap[i++] = crossoverBin + lrint(midi) - crossoverMidi; + int target = crossoverBin + lrint(midi) - crossoverMidi; + if (target >= freqMapSize) target = freqMapSize - 1; + freqMap[i++] = target; } - assert(freqMapSize == freqMap[i-1] + 1); + if (!silent) { cerr << "Standard map size: " << freqMapSize << "; Crossover at: " << crossoverBin << endl;