change offset arguments to various <T>Buffer::read/merge methods from framecnt_t...
[ardour.git] / libs / vamp-plugins / Onset.cpp
index f97af203c757d3b0916791cace4604ca66876ec6..03e35ba3fe8f3e41836f843013146d39e968c1fe 100644 (file)
@@ -5,7 +5,7 @@
 
     Centre for Digital Music, Queen Mary, University of London.
     This file copyright 2006 Chris Cannam.
-    
+
     This program is free software; you can redistribute it and/or
     modify it under the terms of the GNU General Public License as
     published by the Free Software Foundation; either version 2 of the
@@ -136,7 +136,7 @@ Onset::initialise(size_t channels, size_t stepSize, size_t blockSize)
     m_peakpick = new_aubio_peakpicker(m_threshold);
 
     m_onsetdet = new_aubio_onsetdetection(m_onsettype, blockSize, channels);
-    
+
     m_delay = Vamp::RealTime::frame2RealTime(4 * stepSize,
                                              lrintf(m_inputSampleRate));
 
@@ -146,10 +146,10 @@ Onset::initialise(size_t channels, size_t stepSize, size_t blockSize)
     return true;
 }
 
-#ifdef HAVE_AUBIO4
 void
 Onset::reset()
 {
+#ifdef HAVE_AUBIO4
     if (m_onsetdet) del_aubio_onset(m_onsetdet);
 
     m_onsetdet = new_aubio_onset
@@ -157,7 +157,7 @@ Onset::reset()
          m_blockSize,
          m_stepSize,
          lrintf(m_inputSampleRate));
-    
+
     aubio_onset_set_threshold(m_onsetdet, m_threshold);
     aubio_onset_set_silence(m_onsetdet, m_silence);
     aubio_onset_set_minioi(m_onsetdet, m_minioi);
@@ -166,8 +166,14 @@ Onset::reset()
                                              lrintf(m_inputSampleRate));
 
     m_lastOnset = Vamp::RealTime::zeroTime - m_delay - m_delay;
-}
+#else
+    if (m_onsetdet) aubio_onsetdetection_free(m_onsetdet);
+    if (m_peakpick) del_aubio_peakpicker(m_peakpick);
+
+    m_peakpick = new_aubio_peakpicker(m_threshold);
+    m_onsetdet = new_aubio_onsetdetection(m_onsettype, m_blockSize, m_channelCount);
 #endif
+}
 
 size_t
 Onset::getPreferredStepSize() const
@@ -185,7 +191,7 @@ Onset::ParameterList
 Onset::getParameterDescriptors() const
 {
     ParameterList list;
-    
+
     ParameterDescriptor desc;
     desc.identifier = "onsettype";
     desc.name = "Onset Detection Function Type";