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:
parent
a655545a1e
commit
2696da89cb
@ -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);
|
||||
|
||||
|
@ -220,7 +220,7 @@ private:
|
||||
double mProgressTot;
|
||||
double mScale;
|
||||
|
||||
samplePtr mCurBuffer[2];
|
||||
SampleBuffer mCurBuffer[2];
|
||||
sampleCount mCurBufferStart[2];
|
||||
sampleCount mCurBufferLen[2];
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user