mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-12 14:11:10 +02:00
Make a scale factor in Compressor like all other scale factors...
... Multiply by it before putting value TO the slider. Divide by it taking the value FROM the slider.
This commit is contained in:
parent
4c3140ae05
commit
106119cb28
@ -61,7 +61,7 @@ enum
|
|||||||
//
|
//
|
||||||
// Name Type Key Def Min Max Scale
|
// Name Type Key Def Min Max Scale
|
||||||
Param( Threshold, double, wxT("Threshold"), -12.0, -60.0, -1.0, 1 );
|
Param( Threshold, double, wxT("Threshold"), -12.0, -60.0, -1.0, 1 );
|
||||||
Param( NoiseFloor, double, wxT("NoiseFloor"), -40.0, -80.0, -20.0, 5 );
|
Param( NoiseFloor, double, wxT("NoiseFloor"), -40.0, -80.0, -20.0, 0.2 );
|
||||||
Param( Ratio, double, wxT("Ratio"), 2.0, 1.1, 10.0, 10 );
|
Param( Ratio, double, wxT("Ratio"), 2.0, 1.1, 10.0, 10 );
|
||||||
Param( AttackTime, double, wxT("AttackTime"), 0.2, 0.1, 5.0, 100 );
|
Param( AttackTime, double, wxT("AttackTime"), 0.2, 0.1, 5.0, 100 );
|
||||||
Param( ReleaseTime, double, wxT("ReleaseTime"), 1.0, 1.0, 30.0, 10 );
|
Param( ReleaseTime, double, wxT("ReleaseTime"), 1.0, 1.0, 30.0, 10 );
|
||||||
@ -284,9 +284,9 @@ void EffectCompressor::PopulateOrExchange(ShuttleGui & S)
|
|||||||
.Name(XO("Noise Floor"))
|
.Name(XO("Noise Floor"))
|
||||||
.Style(wxSL_HORIZONTAL)
|
.Style(wxSL_HORIZONTAL)
|
||||||
.AddSlider( {},
|
.AddSlider( {},
|
||||||
DEF_NoiseFloor / SCL_NoiseFloor,
|
DEF_NoiseFloor * SCL_NoiseFloor,
|
||||||
MAX_NoiseFloor / SCL_NoiseFloor,
|
MAX_NoiseFloor * SCL_NoiseFloor,
|
||||||
MIN_NoiseFloor / SCL_NoiseFloor);
|
MIN_NoiseFloor * SCL_NoiseFloor);
|
||||||
mNoiseFloorText = S.AddVariableText(ThresholdFormat(999),
|
mNoiseFloorText = S.AddVariableText(ThresholdFormat(999),
|
||||||
true, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
|
true, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
|
||||||
|
|
||||||
@ -362,7 +362,7 @@ void EffectCompressor::PopulateOrExchange(ShuttleGui & S)
|
|||||||
bool EffectCompressor::TransferDataToWindow()
|
bool EffectCompressor::TransferDataToWindow()
|
||||||
{
|
{
|
||||||
mThresholdSlider->SetValue(lrint(mThresholdDB));
|
mThresholdSlider->SetValue(lrint(mThresholdDB));
|
||||||
mNoiseFloorSlider->SetValue(lrint(mNoiseFloorDB / SCL_NoiseFloor));
|
mNoiseFloorSlider->SetValue(lrint(mNoiseFloorDB * SCL_NoiseFloor));
|
||||||
mRatioSlider->SetValue(lrint(mRatio * SCL_Ratio));
|
mRatioSlider->SetValue(lrint(mRatio * SCL_Ratio));
|
||||||
mAttackSlider->SetValue(lrint(mAttackTime * SCL_AttackTime));
|
mAttackSlider->SetValue(lrint(mAttackTime * SCL_AttackTime));
|
||||||
mDecaySlider->SetValue(lrint(mDecayTime * SCL_ReleaseTime));
|
mDecaySlider->SetValue(lrint(mDecayTime * SCL_ReleaseTime));
|
||||||
@ -382,7 +382,7 @@ bool EffectCompressor::TransferDataFromWindow()
|
|||||||
}
|
}
|
||||||
|
|
||||||
mThresholdDB = (double) mThresholdSlider->GetValue();
|
mThresholdDB = (double) mThresholdSlider->GetValue();
|
||||||
mNoiseFloorDB = (double) mNoiseFloorSlider->GetValue() * SCL_NoiseFloor;
|
mNoiseFloorDB = (double) mNoiseFloorSlider->GetValue() / SCL_NoiseFloor;
|
||||||
mRatio = (double) mRatioSlider->GetValue() / SCL_Ratio;
|
mRatio = (double) mRatioSlider->GetValue() / SCL_Ratio;
|
||||||
mAttackTime = (double) mAttackSlider->GetValue() / 100.0; //SCL_AttackTime;
|
mAttackTime = (double) mAttackSlider->GetValue() / 100.0; //SCL_AttackTime;
|
||||||
mDecayTime = (double) mDecaySlider->GetValue() / SCL_ReleaseTime;
|
mDecayTime = (double) mDecaySlider->GetValue() / SCL_ReleaseTime;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user