mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-19 17:40:15 +02:00
Remove naked new and delete in effect preview
This commit is contained in:
parent
52cb094f0f
commit
a0a76e86d1
@ -2533,22 +2533,22 @@ void Effect::Preview(bool dryOnly)
|
||||
if (!mPreviewFullSelection)
|
||||
mT1 = t1;
|
||||
|
||||
{
|
||||
// Save the original track list
|
||||
TrackList *saveTracks = mTracks;
|
||||
auto cleanup = finally( [&] { mTracks = saveTracks; } );
|
||||
|
||||
// Build NEW tracklist from rendering tracks
|
||||
mTracks = new TrackList();
|
||||
auto uTracks = std::make_unique<TrackList>();
|
||||
mTracks = uTracks.get();
|
||||
|
||||
// Linear Effect preview optimised by pre-mixing to one track.
|
||||
// Generators need to generate per track.
|
||||
if (mIsLinearEffect && !isGenerator) {
|
||||
WaveTrack::Holder mixLeft, mixRight;
|
||||
MixAndRender(saveTracks, mFactory, rate, floatSample, mT0, t1, mixLeft, mixRight);
|
||||
if (!mixLeft) {
|
||||
delete mTracks;
|
||||
mTracks = saveTracks;
|
||||
if (!mixLeft)
|
||||
return;
|
||||
}
|
||||
|
||||
mixLeft->Offset(-mixLeft->GetStartTime());
|
||||
mixLeft->InsertSilence(0.0, mT0);
|
||||
@ -2578,6 +2578,7 @@ void Effect::Preview(bool dryOnly)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Update track/group counts
|
||||
CountWaveTracks();
|
||||
|
||||
@ -2651,11 +2652,8 @@ void Effect::Preview(bool dryOnly)
|
||||
}
|
||||
|
||||
mOutputTracks.reset();
|
||||
}
|
||||
|
||||
mTracks->Clear();
|
||||
delete mTracks;
|
||||
|
||||
mTracks = saveTracks;
|
||||
mT0 = oldT0;
|
||||
mT1 = oldT1;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user