# HG changeset patch # User Chris Cannam # Date 1405002439 -3600 # Node ID 242bf7bc38ce46fa3738a864ecdb15221aac807f # Parent 2705ca19245ce57dfba06d0b9e0f96007028c9ca Avoid failing if min and max frequency are identical diff -r 2705ca19245c -r 242bf7bc38ce src/CQInverse.cpp --- a/src/CQInverse.cpp Thu Jul 10 15:27:09 2014 +0100 +++ b/src/CQInverse.cpp Thu Jul 10 15:27:19 2014 +0100 @@ -87,6 +87,12 @@ CQInverse::initialise() { m_octaves = int(ceil(log2(m_maxFrequency / m_minFrequency))); + + if (m_octaves < 1) { + m_kernel = 0; // incidentally causing isValid() to return false + return; + } + m_kernel = new CQKernel(m_inparams); m_p = m_kernel->getProperties(); diff -r 2705ca19245c -r 242bf7bc38ce src/ConstantQ.cpp --- a/src/ConstantQ.cpp Thu Jul 10 15:27:09 2014 +0100 +++ b/src/ConstantQ.cpp Thu Jul 10 15:27:19 2014 +0100 @@ -89,6 +89,12 @@ ConstantQ::initialise() { m_octaves = int(ceil(log2(m_maxFrequency / m_minFrequency))); + + if (m_octaves < 1) { + m_kernel = 0; // incidentally causing isValid() to return false + return; + } + m_kernel = new CQKernel(m_inparams); m_p = m_kernel->getProperties(); diff -r 2705ca19245c -r 242bf7bc38ce vamp/CQChromaVamp.cpp --- a/vamp/CQChromaVamp.cpp Thu Jul 10 15:27:09 2014 +0100 +++ b/vamp/CQChromaVamp.cpp Thu Jul 10 15:27:19 2014 +0100 @@ -241,8 +241,6 @@ void CQChromaVamp::reset() { - cerr << "reset: rate " << m_inputSampleRate << ", minf " << m_minFrequency << ", maxf " << m_maxFrequency << ", bpo " << m_bpo << endl; - delete m_cq; CQParameters p(m_inputSampleRate, m_minFrequency, m_maxFrequency, m_bpo); m_cq = new CQSpectrogram(p, CQSpectrogram::InterpolateLinear);