1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-15 16:14:11 +02:00

One more use of smart pointer object SampleBuffer, in Nyquist.h...

...Leaving no "naked" DeleteSamples.  Only SampleBuffer::Free now calls it
directly, and SampleBuffer calls Free in its destructor.
This commit is contained in:
Paul Licameli 2016-04-03 13:18:19 -04:00
parent a655545a1e
commit 2696da89cb
2 changed files with 10 additions and 13 deletions

View File

@ -1052,7 +1052,7 @@ bool NyquistEffect::ProcessOne()
int i;
for (i = 0; i < mCurNumChannels; i++) {
mCurBuffer[i] = NULL;
mCurBuffer[i].Free();
}
rval = nyx_eval_expression(cmd.mb_str(wxConvUTF8));
@ -1176,7 +1176,7 @@ bool NyquistEffect::ProcessOne()
}
mOutputTrack[i] = mFactory->NewWaveTrack(format, rate);
mCurBuffer[i] = NULL;
mCurBuffer[i].Free();
}
int success = nyx_get_audio(StaticPutCallback, (void *)this);
@ -1190,9 +1190,7 @@ bool NyquistEffect::ProcessOne()
for (i = 0; i < outChannels; i++) {
mOutputTrack[i]->Flush();
if (mCurBuffer[i]) {
DeleteSamples(mCurBuffer[i]);
}
mCurBuffer[i].Free();
mOutputTime = mOutputTrack[i]->GetEndTime();
if (mOutputTime <= 0) {
@ -1713,16 +1711,15 @@ int NyquistEffect::StaticGetCallback(float *buffer, int channel,
int NyquistEffect::GetCallback(float *buffer, int ch,
long start, long len, long WXUNUSED(totlen))
{
if (mCurBuffer[ch]) {
if (mCurBuffer[ch].ptr()) {
if ((mCurStart[ch] + start) < mCurBufferStart[ch] ||
(mCurStart[ch] + start)+len >
mCurBufferStart[ch]+mCurBufferLen[ch]) {
delete[] mCurBuffer[ch];
mCurBuffer[ch] = NULL;
mCurBuffer[ch].Free();
}
}
if (!mCurBuffer[ch]) {
if (!mCurBuffer[ch].ptr()) {
mCurBufferStart[ch] = (mCurStart[ch] + start);
mCurBufferLen[ch] = mCurTrack[ch]->GetBestBlockSize(mCurBufferStart[ch]);
@ -1734,8 +1731,8 @@ int NyquistEffect::GetCallback(float *buffer, int ch,
mCurBufferLen[ch] = mCurStart[ch] + mCurLen - mCurBufferStart[ch];
}
mCurBuffer[ch] = NewSamples(mCurBufferLen[ch], floatSample);
if (!mCurTrack[ch]->Get(mCurBuffer[ch], floatSample,
mCurBuffer[ch].Allocate(mCurBufferLen[ch], floatSample);
if (!mCurTrack[ch]->Get(mCurBuffer[ch].ptr(), floatSample,
mCurBufferStart[ch], mCurBufferLen[ch])) {
wxPrintf(wxT("GET error\n"));
@ -1745,7 +1742,7 @@ int NyquistEffect::GetCallback(float *buffer, int ch,
}
long offset = (mCurStart[ch] + start) - mCurBufferStart[ch];
CopySamples(mCurBuffer[ch] + offset*SAMPLE_SIZE(floatSample), floatSample,
CopySamples(mCurBuffer[ch].ptr() + offset*SAMPLE_SIZE(floatSample), floatSample,
(samplePtr)buffer, floatSample,
len);

View File

@ -220,7 +220,7 @@ private:
double mProgressTot;
double mScale;
samplePtr mCurBuffer[2];
SampleBuffer mCurBuffer[2];
sampleCount mCurBufferStart[2];
sampleCount mCurBufferLen[2];