mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-02 16:49:41 +02:00
changes to ensure that when clipping is unchecked, then both on opening, and setting peak to 0, preview and ok are available
This commit is contained in:
parent
c487b920ca
commit
5a25efde02
@ -163,7 +163,7 @@ void EffectAmplify::PopulateOrExchange(ShuttleGui & S)
|
||||
{
|
||||
if (mPeak > 0.0)
|
||||
{
|
||||
mRatio = 1.0 / mPeak;
|
||||
mRatio = 1.0f / mPeak;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -226,9 +226,10 @@ void EffectAmplify::PopulateOrExchange(ShuttleGui & S)
|
||||
bool EffectAmplify::TransferDataToWindow()
|
||||
{
|
||||
// limit range of gain
|
||||
float dB = TrapFloat(20.0f * log10f(mRatio) * SCL_Amp, MIN_Amp * SCL_Amp, MAX_Amp * SCL_Amp) / SCL_Amp;
|
||||
|
||||
mRatio = powf(10.0f, dB / 20.0f);
|
||||
float dBInit = 20.0f*log10f(mRatio);
|
||||
float dB = TrapFloat(dBInit, MIN_Amp, MAX_Amp);
|
||||
if (dB != dBInit)
|
||||
mRatio = powf(10.0f, dB / 20.0f);
|
||||
|
||||
mAmp = 20.0f * log10f(mRatio);
|
||||
mAmpT->GetValidator()->TransferToWindow();
|
||||
@ -268,8 +269,7 @@ bool EffectAmplify::TransferDataFromWindow()
|
||||
|
||||
void EffectAmplify::CheckClip()
|
||||
{
|
||||
float peak = mRatio * mPeak;
|
||||
EnableApply(mClip->GetValue() || (peak > 0.0f && peak <= 1.0f));
|
||||
EnableApply(mClip->GetValue() || (mPeak > 0.0f && mRatio <= 1.0f/mPeak));
|
||||
}
|
||||
|
||||
void EffectAmplify::OnAmpText(wxCommandEvent & WXUNUSED(evt))
|
||||
@ -298,10 +298,14 @@ void EffectAmplify::OnPeakText(wxCommandEvent & WXUNUSED(evt))
|
||||
return;
|
||||
}
|
||||
|
||||
float r = powf(10.0f, mNewPeak / 20.0f) / mPeak;
|
||||
float temp = powf(10.0f, 0.0/20.0f );
|
||||
|
||||
mAmp = TrapFloat(20.0f * log10f(r) * SCL_Amp, MIN_Amp * SCL_Amp, MAX_Amp * SCL_Amp) / SCL_Amp;
|
||||
mRatio = powf(10.0f, mAmp / 20.0f);
|
||||
mRatio = powf(10.0f, mNewPeak / 20.0f) / mPeak;
|
||||
|
||||
float ampInit = 20.0f * log10f(mRatio);
|
||||
mAmp = TrapFloat(ampInit, MIN_Amp, MAX_Amp);
|
||||
if (mAmp != ampInit)
|
||||
mRatio = powf(10.0f, mAmp / 20.0f);
|
||||
|
||||
mAmpT->GetValidator()->TransferToWindow();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user