Audacity 3.2.0
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
LimiterEditor Class Referencefinal

#include <LimiterEditor.h>

Inheritance diagram for LimiterEditor:
[legend]
Collaboration diagram for LimiterEditor:
[legend]

Public Member Functions

 LimiterEditor (wxWindow *parent, CompressorInstance &instance, bool isRealtime, const EffectUIServices &services, EffectSettingsAccess &access, LimiterSettings settings)
 
- Public Member Functions inherited from DynamicRangeProcessorEditor
 DynamicRangeProcessorEditor (wxWindow *parent, CompressorInstance &instance, bool isRealtime, const EffectUIServices &services, EffectSettingsAccess &access)
 
void PopulateOrExchange (ShuttleGui &S)
 
- Public Member Functions inherited from EffectEditor
 EffectEditor (const EffectUIServices &services, EffectSettingsAccess &access)
 
virtual ~EffectEditor ()
 
virtual bool ValidateUI ()=0
 Get settings data from the panel; may make error dialogs and return false. More...
 
virtual bool UpdateUI ()
 Update appearance of the panel for changes in settings. More...
 
virtual bool IsGraphicalUI ()
 
virtual void Disconnect ()
 On the first call only, may disconnect from further event handling. More...
 
virtual void OnClose ()
 
- Public Member Functions inherited from Observer::Publisher< EffectSettingChanged >
 Publisher (ExceptionPolicy *pPolicy=nullptr, Alloc a={})
 Constructor supporting type-erased custom allocation/deletion. More...
 
 Publisher (Publisher &&)=default
 
Publisheroperator= (Publisher &&)=default
 
Subscription Subscribe (Callback callback)
 Connect a callback to the Publisher; later-connected are called earlier. More...
 
Subscription Subscribe (Object &obj, Return(Object::*callback)(Args...))
 Overload of Subscribe takes an object and pointer-to-member-function. More...
 

Static Public Attributes

static constexpr LimiterParameter thresholdDb
 
static constexpr LimiterParameter makeupTargetDb
 
static constexpr LimiterParameter kneeWidthDb
 
static constexpr LimiterParameter lookaheadMs
 
static constexpr LimiterParameter releaseMs
 
static constexpr LimiterParameter showInput
 
static constexpr LimiterParameter showOutput
 
static constexpr LimiterParameter showActual
 
static constexpr LimiterParameter showTarget
 
- Static Public Attributes inherited from EffectEditor
static constexpr int kPlayID = 20102
 
- Static Public Attributes inherited from Observer::Publisher< EffectSettingChanged >
static constexpr bool notifies_all
 

Private Member Functions

const LimiterSettingsGetLimiterSettings () const override
 

Private Attributes

LimiterSettings mSettings
 

Additional Inherited Members

- Public Types inherited from Observer::Publisher< EffectSettingChanged >
using message_type = EffectSettingChanged
 
using CallbackReturn = std::conditional_t< true, void, bool >
 
using Callback = std::function< CallbackReturn(const EffectSettingChanged &) >
 Type of functions that can be connected to the Publisher. More...
 
- Static Public Member Functions inherited from EffectEditor
static bool EnableApply (wxWindow *parent, bool enable=true)
 Enable or disable the Apply button of the dialog that contains parent. More...
 
static bool EnablePreview (wxWindow *parent, bool enable=true)
 
- Protected Member Functions inherited from DynamicRangeProcessorEditor
void Initialize (std::vector< ExtendedCompressorParameter > parameters)
 
- Protected Member Functions inherited from EffectEditor
template<typename EventTag , typename Class , typename Event >
void BindTo (wxEvtHandler &src, const EventTag &eventType, void(Class::*pmf)(Event &))
 
- Protected Member Functions inherited from Observer::Publisher< EffectSettingChanged >
CallbackReturn Publish (const EffectSettingChanged &message)
 Send a message to connected callbacks. More...
 
- Protected Attributes inherited from EffectEditor
const EffectUIServicesmUIServices
 
EffectSettingsAccessmAccess
 
bool mUIClosed { false }
 
- Static Protected Attributes inherited from DynamicRangeProcessorEditor
static constexpr auto dbStep = 0.1
 

Detailed Description

Definition at line 21 of file LimiterEditor.h.

Constructor & Destructor Documentation

◆ LimiterEditor()

LimiterEditor::LimiterEditor ( wxWindow *  parent,
CompressorInstance instance,
bool  isRealtime,
const EffectUIServices services,
EffectSettingsAccess access,
LimiterSettings  settings 
)

Definition at line 52 of file LimiterEditor.cpp.

56 : DynamicRangeProcessorEditor { parent, instance, isRealtime, services,
57 access }
58 , mSettings { std::move(settings) }
59{
61 std::make_shared<ParameterWrapper>(thresholdDb),
64 std::make_shared<ParameterWrapper>(makeupTargetDb),
67 std::make_shared<ParameterWrapper>(kneeWidthDb),
70 std::make_shared<ParameterWrapper>(lookaheadMs),
73 std::make_shared<ParameterWrapper>(releaseMs),
75}
static const DynamicRangeProcessorParameterAttributes limiterThresholdDbAttributes
static const DynamicRangeProcessorParameterAttributes limiterMakeupTargetDbAttributes
static const DynamicRangeProcessorParameterAttributes lookaheadMsAttributes
static const DynamicRangeProcessorParameterAttributes kneeWidthDbAttributes
static const DynamicRangeProcessorParameterAttributes releaseMsAttributes
static Settings & settings()
Definition: TrackInfo.cpp:51
void Initialize(std::vector< ExtendedCompressorParameter > parameters)
static constexpr LimiterParameter releaseMs
Definition: LimiterEditor.h:74
LimiterSettings mSettings
Definition: LimiterEditor.h:35
static constexpr LimiterParameter makeupTargetDb
Definition: LimiterEditor.h:50
static constexpr LimiterParameter lookaheadMs
Definition: LimiterEditor.h:68
static constexpr LimiterParameter thresholdDb
Definition: LimiterEditor.h:41
static constexpr LimiterParameter kneeWidthDb
Definition: LimiterEditor.h:59

References CompressionCurve, DynamicRangeProcessorEditor::Initialize(), LimiterSettings::kneeWidthDb, kneeWidthDb, kneeWidthDbAttributes, limiterMakeupTargetDbAttributes, limiterThresholdDbAttributes, LimiterSettings::lookaheadMs, lookaheadMs, lookaheadMsAttributes, LimiterSettings::makeupTargetDb, makeupTargetDb, mSettings, LimiterSettings::releaseMs, releaseMs, releaseMsAttributes, LimiterSettings::thresholdDb, thresholdDb, and TimeSmoothing.

Here is the call graph for this function:

Member Function Documentation

◆ GetLimiterSettings()

const LimiterSettings * LimiterEditor::GetLimiterSettings ( ) const
inlineoverrideprivatevirtual

Reimplemented from DynamicRangeProcessorEditor.

Definition at line 30 of file LimiterEditor.h.

31 {
32 return &mSettings;
33 }

References mSettings.

Member Data Documentation

◆ kneeWidthDb

constexpr LimiterParameter LimiterEditor::kneeWidthDb
staticconstexpr
Initial value:
{
L"kneeWidthDb",
0,
10 / dbStep,
1 / dbStep
}
constexpr double limiterKneeWidthDbDefault

Definition at line 59 of file LimiterEditor.h.

Referenced by LimiterEditor(), and EffectLimiter::Parameters().

◆ lookaheadMs

constexpr LimiterParameter LimiterEditor::lookaheadMs
staticconstexpr
Initial value:
{
&LimiterSettings::lookaheadMs, L"lookaheadMs",
}
constexpr double limiterMaxLookaheadMs
constexpr double limiterLookaheadMsDefault

Definition at line 68 of file LimiterEditor.h.

Referenced by LimiterEditor(), and EffectLimiter::Parameters().

◆ makeupTargetDb

constexpr LimiterParameter LimiterEditor::makeupTargetDb
staticconstexpr
Initial value:
{
L"makeupTargetDb",
-30 / dbStep,
0,
1 / dbStep
}
constexpr double limiterMakeupTargetDbDefault

Definition at line 50 of file LimiterEditor.h.

Referenced by LimiterEditor(), and EffectLimiter::Parameters().

◆ mSettings

LimiterSettings LimiterEditor::mSettings
private

Definition at line 35 of file LimiterEditor.h.

Referenced by GetLimiterSettings(), and LimiterEditor().

◆ releaseMs

constexpr LimiterParameter LimiterEditor::releaseMs
staticconstexpr
Initial value:
L"releaseMs",
0,
1000,
1 }
constexpr double limiterReleaseMsDefault

Definition at line 74 of file LimiterEditor.h.

Referenced by LimiterEditor(), and EffectLimiter::Parameters().

◆ showActual

constexpr LimiterParameter LimiterEditor::showActual
staticconstexpr
Initial value:
{
}
constexpr double showActualDefault

Definition at line 87 of file LimiterEditor.h.

Referenced by EffectLimiter::Parameters().

◆ showInput

constexpr LimiterParameter LimiterEditor::showInput
staticconstexpr
Initial value:
{
}
constexpr double showInputDefault

Definition at line 81 of file LimiterEditor.h.

Referenced by EffectLimiter::Parameters().

◆ showOutput

constexpr LimiterParameter LimiterEditor::showOutput
staticconstexpr
Initial value:
{
}
constexpr double showOutputDefault

Definition at line 84 of file LimiterEditor.h.

Referenced by EffectLimiter::Parameters().

◆ showTarget

constexpr LimiterParameter LimiterEditor::showTarget
staticconstexpr
Initial value:
{
}
constexpr double showTargetDefault

Definition at line 90 of file LimiterEditor.h.

Referenced by EffectLimiter::Parameters().

◆ thresholdDb

constexpr LimiterParameter LimiterEditor::thresholdDb
staticconstexpr
Initial value:
{
L"thresholdDb",
-30 / dbStep,
0,
1 / dbStep
}
constexpr double limiterThresholdDbDefault

Definition at line 41 of file LimiterEditor.h.

Referenced by LimiterEditor(), and EffectLimiter::Parameters().


The documentation for this class was generated from the following files: