11#ifndef __AUDACITY_EFFECT_LOUDNESS__
12#define __AUDACITY_EFFECT_LOUDNESS__
14#include <wx/checkbox.h>
16#include <wx/stattext.h>
17#include <wx/textctrl.h>
18#include <wx/weakref.h>
74 double curT0,
double curT1,
float &rms);
76 double curT0,
double curT1,
float mult,
EBUR128 *pLoudnessProcessor);
116 DECLARE_EVENT_TABLE()
119 L
"StereoIndependent",
false,
false,
true, 1 };
121 L
"LUFSLevel", -23.0, -145.0, 0.0, 1 };
123 L
"RMSLevel", -20.0, -145.0, 0.0, 1 };
125 L
"DualMono",
true,
false,
true, 1 };
declares abstract base class Track, TrackList, and iterators over TrackList
static Settings & settings()
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Implements EBU-R128 loudness measurement.
Performs effect computation.
An Effect to bring the loudness level up to a chosen level.
bool Process(EffectInstance &instance, EffectSettings &settings) override
size_t mTrackBufferCapacity
wxCheckBox * mDualMonoCheckBox
bool AnalyseBufferBlock(EBUR128 &loudnessProcessor)
static const ComponentInterfaceSymbol Symbol
wxCheckBox * mStereoIndCheckBox
wxWeakRef< wxWindow > mUIParent
static EffectLoudness * FetchParameters(EffectLoudness &e, EffectSettings &)
ComponentInterfaceSymbol GetSymbol() const override
ManualPageID ManualPage() const override
Name of a page in the Audacity alpha manual, default is empty.
void OnUpdateUI(wxCommandEvent &evt)
const EffectParameterMethods & Parameters() const override
TranslatableString GetDescription() const override
bool TransferDataToWindow(const EffectSettings &settings) override
void AllocBuffers(TrackList &outputs)
EffectType GetType() const override
Type determines how it behaves.
static constexpr EffectParameter StereoInd
static constexpr EffectParameter LUFSLevel
bool ProcessBufferBlock(float mult)
static constexpr EffectParameter RMSLevel
static constexpr EffectParameter DualMono
virtual ~EffectLoudness()
void LoadBufferBlock(WaveChannel &track, size_t nChannels, sampleCount pos, size_t len)
bool TransferDataFromWindow(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.
static constexpr EffectParameter NormalizeTo
bool ProcessOne(WaveChannel &track, size_t nChannels, double curT0, double curT1, float mult, EBUR128 *pLoudnessProcessor)
bool StoreBufferBlock(WaveChannel &track, size_t nChannels, sampleCount pos, size_t len)
void OnChoice(wxCommandEvent &evt)
TranslatableString mProgressMsg
static bool GetTrackRMS(WaveChannel &track, double curT0, double curT1, float &rms)
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.
A flat linked list of tracks supporting Add, Remove, Clear, and Contains, serialization of the list o...
Holds a msgid for the translation catalog; may also bind format arguments.
Positions or offsets within audio files need a wide type.
Externalized state of a plug-in.