Mercurial > hg > constant-q-cpp
changeset 105:ef7b8d9363c0
Tail padding fix
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Wed, 14 May 2014 10:41:20 +0100 |
parents | b5ec88e05a65 |
children | 0a089d7d162d |
files | cpp-qm-dsp/CQInverse.cpp |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/cpp-qm-dsp/CQInverse.cpp Wed May 14 10:30:49 2014 +0100 +++ b/cpp-qm-dsp/CQInverse.cpp Wed May 14 10:41:20 2014 +0100 @@ -286,8 +286,10 @@ CQInverse::RealSequence CQInverse::getRemainingOutput() { - for (int i = 0; i < (m_p.fftSize - m_p.fftHop) / m_p.fftHop; ++i) { - for (int j = 0; j < m_octaves; ++j) { + for (int j = 0; j < m_octaves; ++j) { + int factor = pow(2, j); + int latency = (j > 0 ? m_upsamplers[j]->getLatency() : 0) / factor; + for (int i = 0; i < (latency + m_p.fftSize) / m_p.fftHop; ++i) { overlapAddAndResample(j, RealSequence(m_olaBufs[j].size(), 0)); } }