comparison plugins/TonalChangeDetect.cpp @ 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 507f923a93e8
children 99dadc93042e
comparison
equal deleted inserted replaced
14:98145d34195e 15:3b02e26b23ff
43 channels > getMaxChannelCount()) { 43 channels > getMaxChannelCount()) {
44 std::cerr << "TonalChangeDetect::initialise: Given channel count " << channels << " outside acceptable range (" << getMinChannelCount() << " to " << getMaxChannelCount() << ")" << std::endl; 44 std::cerr << "TonalChangeDetect::initialise: Given channel count " << channels << " outside acceptable range (" << getMinChannelCount() << " to " << getMaxChannelCount() << ")" << std::endl;
45 return false; 45 return false;
46 } 46 }
47 47
48 m_chromagram = new Chromagram(m_config);
49 m_step = m_chromagram->getHopSize();
50 m_block = m_chromagram->getFrameSize();
51
48 if (stepSize != m_step) { 52 if (stepSize != m_step) {
49 std::cerr << "TonalChangeDetect::initialise: Given step size " << stepSize << " differs from only acceptable value " << m_step << std::endl; 53 std::cerr << "TonalChangeDetect::initialise: Given step size " << stepSize << " differs from only acceptable value " << m_step << std::endl;
54 delete m_chromagram;
55 m_chromagram = 0;
50 return false; 56 return false;
51 } 57 }
52 if (blockSize != m_block) { 58 if (blockSize != m_block) {
53 std::cerr << "TonalChangeDetect::initialise: Given step size " << stepSize << " differs from only acceptable value " << m_step << std::endl; 59 std::cerr << "TonalChangeDetect::initialise: Given step size " << stepSize << " differs from only acceptable value " << m_step << std::endl;
60 delete m_chromagram;
61 m_chromagram = 0;
54 return false; 62 return false;
55 } 63 }
56 64
57 // m_stepDelay = (blockSize - stepSize) / 2; 65 // m_stepDelay = (blockSize - stepSize) / 2;
58 // m_stepDelay = m_stepDelay / stepSize; 66 // m_stepDelay = m_stepDelay / stepSize;
59 m_stepDelay = (blockSize - stepSize) / stepSize; //!!! why? seems about right to look at, but... 67 m_stepDelay = (blockSize - stepSize) / stepSize; //!!! why? seems about right to look at, but...
60 68
61 std::cerr << "TonalChangeDetect::initialise: step " << stepSize << ", block " 69 std::cerr << "TonalChangeDetect::initialise: step " << stepSize << ", block "
62 << blockSize << ", delay " << m_stepDelay << std::endl; 70 << blockSize << ", delay " << m_stepDelay << std::endl;
63
64 m_chromagram = new Chromagram(m_config);
65 71
66 m_vaCurrentVector.resize(12, 0.0); 72 m_vaCurrentVector.resize(12, 0.0);
67 73
68 return true; 74 return true;
69 75