12#ifndef __AUDACITY_EFFECT_NORMALIZE__
13#define __AUDACITY_EFFECT_NORMALIZE__
18#include <wx/weakref.h>
65 bool gain,
bool dc,
double curT0,
double curT1,
66 float &offset,
float &extent);
70 static double AnalyseDataDC(
float *buffer,
size_t len,
double sum);
71 void ProcessData(
float *buffer,
size_t len,
float offset);
100 L
"PeakLevel", -1.0, -145.0, 0.0, 1 };
102 L
"RemoveDcOffset",
true,
false,
true, 1 };
104 L
"ApplyGain",
true,
false,
true, 1 };
106 L
"StereoIndependent",
false,
false,
true, 1 };
static Settings & settings()
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Performs effect computation.
An Effect to bring the peak level up to a chosen level.
static constexpr EffectParameter RemoveDC
static EffectNormalize * FetchParameters(EffectNormalize &e, EffectSettings &)
bool TransferDataFromWindow(EffectSettings &settings) override
static double AnalyseDataDC(float *buffer, size_t len, double sum)
static bool AnalyseTrackData(const WaveChannel &track, const ProgressReport &report, double curT0, double curT1, float &offset)
EffectType GetType() const override
Type determines how it behaves.
static constexpr EffectParameter StereoInd
bool Process(EffectInstance &instance, EffectSettings &settings) override
std::unique_ptr< EffectEditor > PopulateOrExchange(ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) override
Add controls to effect panel; always succeeds.
bool TransferDataToWindow(const EffectSettings &settings) override
const EffectParameterMethods & Parameters() const override
static constexpr EffectParameter PeakLevel
wxWeakRef< wxWindow > mUIParent
wxCheckBox * mGainCheckBox
ComponentInterfaceSymbol GetSymbol() const override
virtual ~EffectNormalize()
static const ComponentInterfaceSymbol Symbol
void OnUpdateUI(wxCommandEvent &evt)
static constexpr EffectParameter ApplyGain
bool ProcessOne(WaveChannel &track, const TranslatableString &msg, double &progress, float offset)
TranslatableString GetDescription() const override
wxTextCtrl * mLevelTextCtrl
wxCheckBox * mStereoIndCheckBox
static bool AnalyseTrack(const WaveChannel &track, const ProgressReport &report, bool gain, bool dc, double curT0, double curT1, float &offset, float &extent)
void ProcessData(float *buffer, size_t len, float offset)
bool CheckWhetherSkipEffect(const EffectSettings &settings) const override
After Init(), tell whether Process() should be skipped.
ManualPageID ManualPage() const override
Name of a page in the Audacity alpha manual, default is empty.
std::function< bool(double fraction)> ProgressReport
Hold values to send to effect output meters.
Interface for manipulations of an Effect's settings.
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Holds a msgid for the translation catalog; may also bind format arguments.
Externalized state of a plug-in.