1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-23 23:03:55 +02:00

Remove Effect::mWarper, and stack-allocate warpers instead

This commit is contained in:
Paul Licameli
2016-12-16 12:37:15 -05:00
parent b9e4aa01eb
commit 08b99c533b
11 changed files with 58 additions and 72 deletions

View File

@@ -455,10 +455,10 @@ bool EffectChangeSpeed::TransferDataFromWindow()
// the region are shifted along according to how the region size changed.
bool EffectChangeSpeed::ProcessLabelTrack(LabelTrack *lt)
{
SetTimeWarper(std::make_unique<RegionTimeWarper>(mT0, mT1,
std::make_unique<LinearTimeWarper>(mT0, mT0,
mT1, mT0 + (mT1-mT0)*mFactor)));
lt->WarpLabels(*GetTimeWarper());
RegionTimeWarper warper { mT0, mT1,
std::make_unique<LinearTimeWarper>(mT0, mT0,
mT1, mT0 + (mT1-mT0)*mFactor) };
lt->WarpLabels(warper);
return true;
}
@@ -542,8 +542,9 @@ bool EffectChangeSpeed::ProcessOne(WaveTrack * track,
double newLength = outputTrack->GetEndTime();
if (bResult)
{
SetTimeWarper(std::make_unique<LinearTimeWarper>(mCurT0, mCurT0, mCurT1, mCurT0 + newLength));
bResult = track->ClearAndPaste(mCurT0, mCurT1, outputTrack.get(), true, false, GetTimeWarper());
LinearTimeWarper warper { mCurT0, mCurT0, mCurT1, mCurT0 + newLength };
bResult = track->ClearAndPaste(
mCurT0, mCurT1, outputTrack.get(), true, false, &warper);
}
if (newLength > mMaxNewLength)