mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-07 15:22:34 +02:00
Fix compilation of EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT
This commit is contained in:
parent
197122c7d5
commit
2472b128d3
@ -4553,7 +4553,7 @@ void AudioIO::AILAInitialize() {
|
|||||||
mAILAGoalPoint /= 100.0;
|
mAILAGoalPoint /= 100.0;
|
||||||
mAILAAnalysisTime /= 1000.0;
|
mAILAAnalysisTime /= 1000.0;
|
||||||
mAILAMax = 0.0;
|
mAILAMax = 0.0;
|
||||||
mAILALastStartTime = max(0.0, mT0);
|
mAILALastStartTime = max(0.0, mPlaybackSchedule.mT0);
|
||||||
mAILAClipped = false;
|
mAILAClipped = false;
|
||||||
mAILAAnalysisCounter = 0;
|
mAILAAnalysisCounter = 0;
|
||||||
mAILAChangeFactor = 1.0;
|
mAILAChangeFactor = 1.0;
|
||||||
@ -4589,9 +4589,15 @@ void AudioIO::AILAProcess(double maxPeak) {
|
|||||||
|
|
||||||
mAILAMax = max(mAILAMax, maxPeak);
|
mAILAMax = max(mAILAMax, maxPeak);
|
||||||
|
|
||||||
if ((mAILATotalAnalysis == 0 || mAILAAnalysisCounter < mAILATotalAnalysis) && mTime - mAILALastStartTime >= mAILAAnalysisTime) {
|
if ((mAILATotalAnalysis == 0 || mAILAAnalysisCounter < mAILATotalAnalysis) && mPlaybackSchedule.mTime - mAILALastStartTime >= mAILAAnalysisTime) {
|
||||||
|
auto ToLinearIfDB = [](double value, int dbRange) {
|
||||||
|
if (dbRange >= 0)
|
||||||
|
value = pow(10.0, (-(1.0-value) * dbRange)/20.0);
|
||||||
|
return value;
|
||||||
|
};
|
||||||
|
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
mAILAMax = mInputMeter ? mInputMeter->ToLinearIfDB(mAILAMax) : 0.0;
|
mAILAMax = mInputMeter ? ToLinearIfDB(mAILAMax, mInputMeter->GetDBRange()) : 0.0;
|
||||||
double iv = (double) Px_GetInputVolume(mPortMixer);
|
double iv = (double) Px_GetInputVolume(mPortMixer);
|
||||||
unsigned short changetype = 0; //0 - no change, 1 - increase change, 2 - decrease change
|
unsigned short changetype = 0; //0 - no change, 1 - increase change, 2 - decrease change
|
||||||
wxPrintf("mAILAAnalysisCounter:%d\n", mAILAAnalysisCounter);
|
wxPrintf("mAILAAnalysisCounter:%d\n", mAILAAnalysisCounter);
|
||||||
@ -4664,7 +4670,7 @@ void AudioIO::AILAProcess(double maxPeak) {
|
|||||||
mAILAMax = 0;
|
mAILAMax = 0;
|
||||||
wxPrintf("\tA decision was made @ %f\n", mAILAAnalysisEndTime);
|
wxPrintf("\tA decision was made @ %f\n", mAILAAnalysisEndTime);
|
||||||
mAILAClipped = false;
|
mAILAClipped = false;
|
||||||
mAILALastStartTime = mTime;
|
mAILALastStartTime = mPlaybackSchedule.mTime;
|
||||||
|
|
||||||
if (changetype == 0)
|
if (changetype == 0)
|
||||||
mAILAChangeFactor *= 0.8; //time factor
|
mAILAChangeFactor *= 0.8; //time factor
|
||||||
|
@ -3042,7 +3042,8 @@ void AudacityProject::OnToggleSWPlaythrough(const CommandContext &WXUNUSED(conte
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT
|
#ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT
|
||||||
void AudacityProject::OnToggleAutomatedInputLevelAdjustment()
|
void AudacityProject::OnToggleAutomatedInputLevelAdjustment(
|
||||||
|
const CommandContext &WXUNUSED(context) )
|
||||||
{
|
{
|
||||||
bool AVEnabled;
|
bool AVEnabled;
|
||||||
gPrefs->Read(wxT("/AudioIO/AutomatedInputLevelAdjustment"), &AVEnabled, false);
|
gPrefs->Read(wxT("/AudioIO/AutomatedInputLevelAdjustment"), &AVEnabled, false);
|
||||||
|
@ -189,6 +189,8 @@ class MeterPanel final : public wxPanelWrapper
|
|||||||
State SaveState();
|
State SaveState();
|
||||||
void RestoreState(const State &state);
|
void RestoreState(const State &state);
|
||||||
|
|
||||||
|
int GetDBRange() const { return mDB ? mDBRange : -1; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static bool s_AcceptsFocus;
|
static bool s_AcceptsFocus;
|
||||||
struct Resetter { void operator () (bool *p) const { if(p) *p = false; } };
|
struct Resetter { void operator () (bool *p) const { if(p) *p = false; } };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user