1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-02-08 12:42:03 +01:00

WaveTrack::Get, WaveClip::GetSamples take a mayThrow=true argument...

... and pass non-default in all needed places.

Don't throw, don't put up error dialogs, in drawing or hit-test code.
This commit is contained in:
Paul Licameli
2017-03-20 10:54:03 -04:00
parent 98d1468a01
commit 39b8d99a56
10 changed files with 88 additions and 60 deletions

View File

@@ -566,7 +566,9 @@ void FreqWindow::GetAudio()
// dataLen is not more than 10 * 2 ^ 20
mDataLen = dataLen.as_size_t();
mData = Floats{ mDataLen };
track->Get((samplePtr)mData.get(), floatSample, start, mDataLen);
// Don't allow throw for bad reads
track->Get((samplePtr)mData.get(), floatSample, start, mDataLen,
fillZero, false);
}
else {
if (track->GetRate() != mRate) {
@@ -577,7 +579,9 @@ void FreqWindow::GetAudio()
}
auto start = track->TimeToLongSamples(p->mViewInfo.selectedRegion.t0());
Floats buffer2{ mDataLen };
track->Get((samplePtr)buffer2.get(), floatSample, start, mDataLen);
// Again, stop exceptions
track->Get((samplePtr)buffer2.get(), floatSample, start, mDataLen,
fillZero, false);
for (size_t i = 0; i < mDataLen; i++)
mData[i] += buffer2[i];
}