# HG changeset patch # User Chris Cannam # Date 1430215771 -3600 # Node ID fa2ffbb786df5bd0c699aa26a670839607da9999 # Parent 796d403dc83b76d65d115a9dd0bc8482a3b7898f Don't rely on column count to determine whether we've set the start time or not -- it could theoretically be 0 even after some input has appeared diff -r 796d403dc83b -r fa2ffbb786df .hgsubstate --- a/.hgsubstate Tue Apr 28 10:02:36 2015 +0100 +++ b/.hgsubstate Tue Apr 28 11:09:31 2015 +0100 @@ -1,3 +1,3 @@ 7a48704e9a0fac1486240f9f7b7e31436a588064 bqvec -9106fb546452ef75de41a1ab8d97cc54ab763b5c constant-q-cpp +4d109d855c671c514dbc4947b0dae7cada112d8c constant-q-cpp d25a2e91e9d84aaff25e5d746398232d182d127d flattendynamics diff -r 796d403dc83b -r fa2ffbb786df src/Silvet.cpp --- a/src/Silvet.cpp Tue Apr 28 10:02:36 2015 +0100 +++ b/src/Silvet.cpp Tue Apr 28 11:09:31 2015 +0100 @@ -51,7 +51,8 @@ m_hqMode(true), m_fineTuning(false), m_instrument(0), - m_colsPerSec(50) + m_colsPerSec(50), + m_haveStartTime(false) { } @@ -465,13 +466,15 @@ m_columnCount = 0; m_resampledCount = 0; m_startTime = RealTime::zeroTime; + m_haveStartTime = false; } Silvet::FeatureSet Silvet::process(const float *const *inputBuffers, Vamp::RealTime timestamp) { - if (m_columnCount == 0) { + if (!m_haveStartTime) { m_startTime = timestamp; + m_haveStartTime = true; } vector flattened(m_blockSize); diff -r 796d403dc83b -r fa2ffbb786df src/Silvet.h --- a/src/Silvet.h Tue Apr 28 10:02:36 2015 +0100 +++ b/src/Silvet.h Tue Apr 28 11:09:31 2015 +0100 @@ -122,6 +122,7 @@ int m_columnCount; int m_resampledCount; Vamp::RealTime m_startTime; + bool m_haveStartTime; mutable int m_notesOutputNo; mutable int m_fcqOutputNo;