Mercurial > hg > vamp-tempogram
comparison TempogramPlugin.cpp @ 46:eafb3a7f80fb
Fix bin overrun in bpmToBin (proximate cause of bug #1054)
author | Chris Cannam |
---|---|
date | Mon, 29 Sep 2014 16:19:12 +0100 |
parents | e6a43500629b |
children | cb79f27f0748 |
comparison
equal
deleted
inserted
replaced
45:e6a43500629b | 46:eafb3a7f80fb |
---|---|
575 float w = (float)bpm/60; | 575 float w = (float)bpm/60; |
576 float sampleRate = m_inputSampleRate/m_inputStepSize; | 576 float sampleRate = m_inputSampleRate/m_inputStepSize; |
577 int bin = floor((float)m_tempogramFftLength*w/sampleRate + 0.5); | 577 int bin = floor((float)m_tempogramFftLength*w/sampleRate + 0.5); |
578 | 578 |
579 if(bin < 0) bin = 0; | 579 if(bin < 0) bin = 0; |
580 else if(bin > m_tempogramFftLength/2.0f) bin = m_tempogramFftLength; | 580 else if(bin > m_tempogramFftLength/2.0f) bin = m_tempogramFftLength/2.0f; |
581 | 581 |
582 return bin; | 582 return bin; |
583 } | 583 } |
584 | 584 |
585 float TempogramPlugin::binToBPM(const int &bin) const | 585 float TempogramPlugin::binToBPM(const int &bin) const |