mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-24 00:18:07 +02:00
Try fixing bug #927 again...last attempt was brain damaged.
This commit is contained in:
parent
0c9111608d
commit
ff0cd7c347
@ -66,7 +66,6 @@ EffectAmplify::EffectAmplify()
|
||||
mRatio = powf(10.0f, mAmp / 20.0f);
|
||||
mCanClip = false;
|
||||
mPeak = 0.0f;
|
||||
mTracksAnalyzed = false;
|
||||
}
|
||||
|
||||
EffectAmplify::~EffectAmplify()
|
||||
@ -135,30 +134,36 @@ bool EffectAmplify::SetAutomationParameters(EffectAutomationParameters & parms)
|
||||
|
||||
bool EffectAmplify::Init()
|
||||
{
|
||||
if (!mTracksAnalyzed)
|
||||
mPeak = 0.0f;
|
||||
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
|
||||
for (Track *t = iter.First(); t; t = iter.Next())
|
||||
{
|
||||
mPeak = 0.0f;
|
||||
float min, max;
|
||||
((WaveTrack *)t)->GetMinMax(&min, &max, mT0, mT1);
|
||||
float newpeak = (fabs(min) > fabs(max) ? fabs(min) : fabs(max));
|
||||
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
|
||||
for (Track *t = iter.First(); t; t = iter.Next())
|
||||
if (newpeak > mPeak)
|
||||
{
|
||||
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;
|
||||
}
|
||||
mPeak = newpeak;
|
||||
}
|
||||
|
||||
mTracksAnalyzed = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void EffectAmplify::Preview(bool dryOnly)
|
||||
{
|
||||
float ratio = mRatio;
|
||||
float peak = mPeak;
|
||||
|
||||
Effect::Preview(dryOnly);
|
||||
|
||||
mRatio = ratio;
|
||||
mPeak = peak;
|
||||
}
|
||||
|
||||
void EffectAmplify::PopulateOrExchange(ShuttleGui & S)
|
||||
{
|
||||
if (IsBatchProcessing())
|
||||
@ -177,7 +182,6 @@ void EffectAmplify::PopulateOrExchange(ShuttleGui & S)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
S.AddSpace(0, 5);
|
||||
|
||||
S.StartVerticalLay(0);
|
||||
|
@ -53,6 +53,7 @@ public:
|
||||
// Effect implementation
|
||||
|
||||
virtual bool Init();
|
||||
virtual void Preview(bool dryOnly);
|
||||
virtual void PopulateOrExchange(ShuttleGui & S);
|
||||
virtual bool TransferDataToWindow();
|
||||
virtual bool TransferDataFromWindow();
|
||||
@ -68,7 +69,6 @@ private:
|
||||
|
||||
private:
|
||||
float mPeak;
|
||||
bool mTracksAnalyzed;
|
||||
|
||||
float mRatio;
|
||||
float mAmp;
|
||||
|
Loading…
x
Reference in New Issue
Block a user