Mercurial > hg > vamp-aubio-plugins
diff plugins/Notes.cpp @ 37:119e22552925
Implement reset functions (fixes #498)
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Wed, 11 Jul 2012 13:09:15 +0100 |
parents | 5c5deb8393b9 |
children | b80056ac0503 |
line wrap: on
line diff
--- a/plugins/Notes.cpp Tue Jul 10 17:29:42 2012 +0100 +++ b/plugins/Notes.cpp Wed Jul 11 13:09:15 2012 +0100 @@ -105,10 +105,21 @@ m_onset = new_fvec(1); m_pitch = new_fvec(1); + reset(); + + return true; +} + +void +Notes::reset() +{ + if (m_onsetdet) del_aubio_onset(m_onsetdet); + if (m_pitchdet) del_aubio_pitch(m_pitchdet); + m_onsetdet = new_aubio_onset (const_cast<char *>(getAubioNameForOnsetType(m_onsettype)), - blockSize, - stepSize, + m_blockSize, + m_stepSize, lrintf(m_inputSampleRate)); aubio_onset_set_threshold(m_onsetdet, m_threshold); @@ -117,8 +128,8 @@ m_pitchdet = new_aubio_pitch (const_cast<char *>(getAubioNameForPitchType(m_pitchtype)), - blockSize, - stepSize, + m_blockSize, + m_stepSize, lrintf(m_inputSampleRate)); aubio_pitch_set_unit(m_pitchdet, const_cast<char *>("freq")); @@ -129,13 +140,6 @@ m_currentOnset = Vamp::RealTime::zeroTime; m_haveCurrent = false; m_prevPitch = -1; - - return true; -} - -void -Notes::reset() -{ } size_t