Mercurial > hg > svapp
diff audioio/AudioGenerator.cpp @ 314:817ad10f91d1 tonioni
Silence playback when nothing is going on
author | Chris Cannam |
---|---|
date | Wed, 08 Jan 2014 13:19:50 +0000 |
parents | 58582119c92a |
children | 65b75e23bbd5 |
line wrap: on
line diff
--- a/audioio/AudioGenerator.cpp Wed Jan 08 13:07:22 2014 +0000 +++ b/audioio/AudioGenerator.cpp Wed Jan 08 13:19:50 2014 +0000 @@ -639,6 +639,19 @@ } } + // if we found no such frequency and the next point is further + // away than twice the model resolution, go silent (same + // criterion TimeValueLayer uses for ending a discrete curve + // segment) + if (f0 == 0.f) { + SparseTimeValueModel::PointList nextPoints = + stvm->getNextPoints(reqStart + m_processingBlockSize); + if (nextPoints.empty() || + nextPoints.begin()->frame > reqStart + 2 * stvm->getResolution()) { + f0 = -1.f; + } + } + cerr << "f0 = " << f0 << endl; synth->mix(bufferIndexes,