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;