comparison src/Silvet.cpp @ 313:fa2ffbb786df

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
author Chris Cannam
date Tue, 28 Apr 2015 11:09:31 +0100
parents 796d403dc83b
children f98ba4f47e49
comparison
equal deleted inserted replaced
312:796d403dc83b 313:fa2ffbb786df
49 m_flattener(0), 49 m_flattener(0),
50 m_cq(0), 50 m_cq(0),
51 m_hqMode(true), 51 m_hqMode(true),
52 m_fineTuning(false), 52 m_fineTuning(false),
53 m_instrument(0), 53 m_instrument(0),
54 m_colsPerSec(50) 54 m_colsPerSec(50),
55 m_haveStartTime(false)
55 { 56 {
56 } 57 }
57 58
58 Silvet::~Silvet() 59 Silvet::~Silvet()
59 { 60 {
463 m_pianoRoll.clear(); 464 m_pianoRoll.clear();
464 m_inputGains.clear(); 465 m_inputGains.clear();
465 m_columnCount = 0; 466 m_columnCount = 0;
466 m_resampledCount = 0; 467 m_resampledCount = 0;
467 m_startTime = RealTime::zeroTime; 468 m_startTime = RealTime::zeroTime;
469 m_haveStartTime = false;
468 } 470 }
469 471
470 Silvet::FeatureSet 472 Silvet::FeatureSet
471 Silvet::process(const float *const *inputBuffers, Vamp::RealTime timestamp) 473 Silvet::process(const float *const *inputBuffers, Vamp::RealTime timestamp)
472 { 474 {
473 if (m_columnCount == 0) { 475 if (!m_haveStartTime) {
474 m_startTime = timestamp; 476 m_startTime = timestamp;
477 m_haveStartTime = true;
475 } 478 }
476 479
477 vector<float> flattened(m_blockSize); 480 vector<float> flattened(m_blockSize);
478 float gain = 1.f; 481 float gain = 1.f;
479 m_flattener->connectInputPort 482 m_flattener->connectInputPort