Mercurial > hg > silvet
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 |