Mercurial > hg > constant-q-cpp
diff vamp/CQVamp.cpp @ 147:1060a19e2334
Report validity of CQKernel construction, and avoid NaN values for invalid parameters. Also documentation.
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 10 Jul 2014 12:19:39 +0100 |
parents | 1e33f719dde1 |
children | 459beada2635 |
line wrap: on
line diff
--- a/vamp/CQVamp.cpp Fri Jun 20 10:33:11 2014 +0100 +++ b/vamp/CQVamp.cpp Thu Jul 10 12:19:39 2014 +0100 @@ -286,8 +286,12 @@ (m_maxMIDIPitch, 0, m_tuningFrequency); } - CQParameters p(m_inputSampleRate, m_minFrequency, m_maxFrequency, m_bpo); - m_cq = new CQSpectrogram(p, m_interpolation); + reset(); + + if (!m_cq || !m_cq->isValid()) { + cerr << "CQVamp::initialise: Constant-Q parameters not valid! Not initialising" << endl; + return false; + } return true; } @@ -295,11 +299,9 @@ void CQVamp::reset() { - if (m_cq) { - delete m_cq; - CQParameters p(m_inputSampleRate, m_minFrequency, m_maxFrequency, m_bpo); - m_cq = new CQSpectrogram(p, m_interpolation); - } + delete m_cq; + CQParameters p(m_inputSampleRate, m_minFrequency, m_maxFrequency, m_bpo); + m_cq = new CQSpectrogram(p, m_interpolation); m_haveStartTime = false; m_columnCount = 0; }