changeset 15:3b02e26b23ff

* Make sure we have correct step/block sizes available even if the methods to query them haven't been called
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 05 Oct 2006 15:50:30 +0000
parents 98145d34195e
children 2fbfe5e42ad4
files plugins/TonalChangeDetect.cpp
diffstat 1 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/TonalChangeDetect.cpp	Thu Sep 21 16:25:22 2006 +0000
+++ b/plugins/TonalChangeDetect.cpp	Thu Oct 05 15:50:30 2006 +0000
@@ -45,12 +45,20 @@
         return false;
     }
 	
+    m_chromagram = new Chromagram(m_config);
+    m_step = m_chromagram->getHopSize();
+    m_block = m_chromagram->getFrameSize();
+
     if (stepSize != m_step) {
         std::cerr << "TonalChangeDetect::initialise: Given step size " << stepSize << " differs from only acceptable value " << m_step << std::endl;
+        delete m_chromagram;
+        m_chromagram = 0;
         return false;
     }
     if (blockSize != m_block) {
         std::cerr << "TonalChangeDetect::initialise: Given step size " << stepSize << " differs from only acceptable value " << m_step << std::endl;
+        delete m_chromagram;
+        m_chromagram = 0;
         return false;
     }
 	
@@ -61,8 +69,6 @@
     std::cerr << "TonalChangeDetect::initialise: step " << stepSize << ", block "
               << blockSize << ", delay " << m_stepDelay << std::endl;
 	
-    m_chromagram = new Chromagram(m_config);
-	
     m_vaCurrentVector.resize(12, 0.0);
 	
     return true;