Fix compilation of EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT

This commit is contained in:
Paul Licameli 2018-08-08 17:05:27 -04:00
parent 197122c7d5
commit 2472b128d3
3 changed files with 14 additions and 5 deletions

View File

@ -4553,7 +4553,7 @@ void AudioIO::AILAInitialize() {
mAILAGoalPoint /= 100.0;
mAILAAnalysisTime /= 1000.0;
mAILAMax = 0.0;
mAILALastStartTime = max(0.0, mT0);
mAILALastStartTime = max(0.0, mPlaybackSchedule.mT0);
mAILAClipped = false;
mAILAAnalysisCounter = 0;
mAILAChangeFactor = 1.0;
@ -4589,9 +4589,15 @@ void AudioIO::AILAProcess(double 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');
mAILAMax = mInputMeter ? mInputMeter->ToLinearIfDB(mAILAMax) : 0.0;
mAILAMax = mInputMeter ? ToLinearIfDB(mAILAMax, mInputMeter->GetDBRange()) : 0.0;
double iv = (double) Px_GetInputVolume(mPortMixer);
unsigned short changetype = 0; //0 - no change, 1 - increase change, 2 - decrease change
wxPrintf("mAILAAnalysisCounter:%d\n", mAILAAnalysisCounter);
@ -4664,7 +4670,7 @@ void AudioIO::AILAProcess(double maxPeak) {
mAILAMax = 0;
wxPrintf("\tA decision was made @ %f\n", mAILAAnalysisEndTime);
mAILAClipped = false;
mAILALastStartTime = mTime;
mAILALastStartTime = mPlaybackSchedule.mTime;
if (changetype == 0)
mAILAChangeFactor *= 0.8; //time factor

View File

@ -3042,7 +3042,8 @@ void AudacityProject::OnToggleSWPlaythrough(const CommandContext &WXUNUSED(conte
}
#ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT
void AudacityProject::OnToggleAutomatedInputLevelAdjustment()
void AudacityProject::OnToggleAutomatedInputLevelAdjustment(
const CommandContext &WXUNUSED(context) )
{
bool AVEnabled;
gPrefs->Read(wxT("/AudioIO/AutomatedInputLevelAdjustment"), &AVEnabled, false);

View File

@ -189,6 +189,8 @@ class MeterPanel final : public wxPanelWrapper
State SaveState();
void RestoreState(const State &state);
int GetDBRange() const { return mDB ? mDBRange : -1; }
private:
static bool s_AcceptsFocus;
struct Resetter { void operator () (bool *p) const { if(p) *p = false; } };