Mercurial > hg > qm-vamp-plugins
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 |