1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-19 09:01:15 +02:00

Fix for bug #927

At least I'm pretty sure this addresses all of the example Peter
mentions.
This commit is contained in:
Leland Lucius
2015-05-11 10:51:53 -05:00
parent 4fb56d0aa1
commit 0c9111608d
2 changed files with 17 additions and 10 deletions

View File

@@ -66,6 +66,7 @@ EffectAmplify::EffectAmplify()
mRatio = powf(10.0f, mAmp / 20.0f); mRatio = powf(10.0f, mAmp / 20.0f);
mCanClip = false; mCanClip = false;
mPeak = 0.0f; mPeak = 0.0f;
mTracksAnalyzed = false;
} }
EffectAmplify::~EffectAmplify() EffectAmplify::~EffectAmplify()
@@ -134,20 +135,25 @@ bool EffectAmplify::SetAutomationParameters(EffectAutomationParameters & parms)
bool EffectAmplify::Init() bool EffectAmplify::Init()
{ {
mPeak = 0.0f; if (!mTracksAnalyzed)
SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
for (Track *t = iter.First(); t; t = iter.Next())
{ {
float min, max; mPeak = 0.0f;
((WaveTrack *)t)->GetMinMax(&min, &max, mT0, mT1);
float newpeak = (fabs(min) > fabs(max) ? fabs(min) : fabs(max));
if (newpeak > mPeak) SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
for (Track *t = iter.First(); t; t = iter.Next())
{ {
mPeak = newpeak; float min, max;
((WaveTrack *)t)->GetMinMax(&min, &max, mT0, mT1);
float newpeak = (fabs(min) > fabs(max) ? fabs(min) : fabs(max));
if (newpeak > mPeak)
{
mPeak = newpeak;
}
} }
mTracksAnalyzed = true;
} }
return true; return true;

View File

@@ -68,6 +68,7 @@ private:
private: private:
float mPeak; float mPeak;
bool mTracksAnalyzed;
float mRatio; float mRatio;
float mAmp; float mAmp;