Mercurial > hg > qm-vamp-plugins
comparison plugins/ChromagramPlugin.cpp @ 17:d4a92aab8147
* Fix a buffer overrun and some compile warnings
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 30 Nov 2006 14:53:29 +0000 |
parents | 2fbfe5e42ad4 |
children | 99dadc93042e |
comparison
equal
deleted
inserted
replaced
16:2fbfe5e42ad4 | 17:d4a92aab8147 |
---|---|
266 if (d.binCount % 12 == 0) { | 266 if (d.binCount % 12 == 0) { |
267 for (int i = 0; i < 12; ++i) { | 267 for (int i = 0; i < 12; ++i) { |
268 int ipc = m_minMIDIPitch % 12; | 268 int ipc = m_minMIDIPitch % 12; |
269 int index = (i + ipc) % 12; | 269 int index = (i + ipc) % 12; |
270 d.binNames.push_back(names[index]); | 270 d.binNames.push_back(names[index]); |
271 for (int j = 0; j < d.binCount / 12 - 1; ++j) { | 271 for (int j = 0; j < int(d.binCount) / 12 - 1; ++j) { |
272 d.binNames.push_back(""); | 272 d.binNames.push_back(""); |
273 } | 273 } |
274 } | 274 } |
275 } else { | 275 } else { |
276 d.binNames.push_back(names[m_minMIDIPitch % 12]); | 276 d.binNames.push_back(names[m_minMIDIPitch % 12]); |
321 double *real = new double[m_block]; | 321 double *real = new double[m_block]; |
322 double *imag = new double[m_block]; | 322 double *imag = new double[m_block]; |
323 | 323 |
324 for (size_t i = 0; i < m_block/2; ++i) { | 324 for (size_t i = 0; i < m_block/2; ++i) { |
325 real[i] = inputBuffers[0][i*2]; | 325 real[i] = inputBuffers[0][i*2]; |
326 real[m_block - i] = real[i]; | 326 if (i > 0) real[m_block - i] = real[i]; |
327 imag[i] = inputBuffers[0][i*2+1]; | 327 imag[i] = inputBuffers[0][i*2+1]; |
328 imag[m_block - i] = imag[i]; | 328 if (i > 0) imag[m_block - i] = imag[i]; |
329 } | 329 } |
330 | 330 |
331 double *output = m_chromagram->process(real, imag); | 331 double *output = m_chromagram->process(real, imag); |
332 | 332 |
333 delete[] real; | 333 delete[] real; |