Mercurial > hg > vamp-tempogram
comparison TempogramPlugin.cpp @ 52:eff9dc53de62
* Fixed bug with s parameter (y axis bin labels of cyclic tempogram)
author | Carl Bussey <c.bussey@se10.qmul.ac.uk> |
---|---|
date | Tue, 30 Sep 2014 16:37:36 +0100 |
parents | c7cc649dc9b6 |
children | b373b9da2de0 |
comparison
equal
deleted
inserted
replaced
51:c7cc649dc9b6 | 52:eff9dc53de62 |
---|---|
367 d1.sampleType = OutputDescriptor::FixedSampleRate; | 367 d1.sampleType = OutputDescriptor::FixedSampleRate; |
368 d_sampleRate = tempogramInputSampleRate/m_tempogramHopSize; | 368 d_sampleRate = tempogramInputSampleRate/m_tempogramHopSize; |
369 d1.sampleRate = d_sampleRate > 0.0 && !isnan(d_sampleRate) ? d_sampleRate : 0; | 369 d1.sampleRate = d_sampleRate > 0.0 && !isnan(d_sampleRate) ? d_sampleRate : 0; |
370 vector< vector <unsigned int> > logBins = calculateTempogramNearestNeighbourLogBins(); | 370 vector< vector <unsigned int> > logBins = calculateTempogramNearestNeighbourLogBins(); |
371 if (!logBins.empty()){ | 371 if (!logBins.empty()){ |
372 float scale = pow(2,floor(60/logBins[0][0])); | 372 float scale = pow(2,ceil(log2(60/binToBPM(logBins[0][0])))); |
373 | 373 for(int i = 0; i < m_cyclicTempogramOctaveDivider; i++){ |
374 cerr << m_cyclicTempogramOctaveDivider << endl; | 374 float s = scale*binToBPM(logBins[0][i])/m_cyclicTempogramReferenceBPM; |
375 for(int i = 0; i < m_cyclicTempogramNumberOfOctaves; i++){ | |
376 float s = fmod(binToBPM(logBins[0][i]), m_cyclicTempogramReferenceBPM)*scale; | |
377 d1.binNames.push_back(floatToString(s)); | 375 d1.binNames.push_back(floatToString(s)); |
378 cerr << i << endl; | |
379 //cerr << m_cyclicTempogramOctaveDivider << " " << s << endl; | 376 //cerr << m_cyclicTempogramOctaveDivider << " " << s << endl; |
380 } | 377 } |
381 } | 378 } |
382 d1.hasDuration = false; | 379 d1.hasDuration = false; |
383 list.push_back(d1); | 380 list.push_back(d1); |