mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-03 09:09:47 +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)
|
if (mPeak > 0.0)
|
||||||
{
|
{
|
||||||
mRatio = 1.0 / mPeak;
|
mRatio = 1.0f / mPeak;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -226,9 +226,10 @@ void EffectAmplify::PopulateOrExchange(ShuttleGui & S)
|
|||||||
bool EffectAmplify::TransferDataToWindow()
|
bool EffectAmplify::TransferDataToWindow()
|
||||||
{
|
{
|
||||||
// limit range of gain
|
// limit range of gain
|
||||||
float dB = TrapFloat(20.0f * log10f(mRatio) * SCL_Amp, MIN_Amp * SCL_Amp, MAX_Amp * SCL_Amp) / SCL_Amp;
|
float dBInit = 20.0f*log10f(mRatio);
|
||||||
|
float dB = TrapFloat(dBInit, MIN_Amp, MAX_Amp);
|
||||||
mRatio = powf(10.0f, dB / 20.0f);
|
if (dB != dBInit)
|
||||||
|
mRatio = powf(10.0f, dB / 20.0f);
|
||||||
|
|
||||||
mAmp = 20.0f * log10f(mRatio);
|
mAmp = 20.0f * log10f(mRatio);
|
||||||
mAmpT->GetValidator()->TransferToWindow();
|
mAmpT->GetValidator()->TransferToWindow();
|
||||||
@ -268,8 +269,7 @@ bool EffectAmplify::TransferDataFromWindow()
|
|||||||
|
|
||||||
void EffectAmplify::CheckClip()
|
void EffectAmplify::CheckClip()
|
||||||
{
|
{
|
||||||
float peak = mRatio * mPeak;
|
EnableApply(mClip->GetValue() || (mPeak > 0.0f && mRatio <= 1.0f/mPeak));
|
||||||
EnableApply(mClip->GetValue() || (peak > 0.0f && peak <= 1.0f));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EffectAmplify::OnAmpText(wxCommandEvent & WXUNUSED(evt))
|
void EffectAmplify::OnAmpText(wxCommandEvent & WXUNUSED(evt))
|
||||||
@ -298,10 +298,14 @@ void EffectAmplify::OnPeakText(wxCommandEvent & WXUNUSED(evt))
|
|||||||
return;
|
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, mNewPeak / 20.0f) / mPeak;
|
||||||
mRatio = powf(10.0f, mAmp / 20.0f);
|
|
||||||
|
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();
|
mAmpT->GetValidator()->TransferToWindow();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user