11#ifndef __AUDACITY_EFFECT_AUTODUCK__
12#define __AUDACITY_EFFECT_AUTODUCK__
23#define AUTO_DUCK_PANEL_NUM_CONTROL_POINTS 5
91 L
"DuckAmountDb", -12.0, -24.0, 0.0, 1 };
93 L
"InnerFadeDownLen", 0.0, 0.0, 3.0, 1 };
95 L
"InnerFadeUpLen", 0.0, 0.0, 3.0, 1 };
97 L
"OuterFadeDownLen", 0.5, 0.0, 3.0, 1 };
99 L
"OuterFadeUpLen", 0.5, 0.0, 3.0, 1 };
101 L
"ThresholdDb", -30.0, -100.0, 0.0, 1 };
103 L
"MaximumPause", 1.0, 0.0, DBL_MAX, 1 };
129 void OnPaint(wxPaintEvent & evt);
149 DECLARE_EVENT_TABLE()
#define AUTO_DUCK_PANEL_NUM_CONTROL_POINTS
static Settings & settings()
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
std::unique_ptr< wxBitmap > mBackgroundBitmap
EControlPoint GetNearestControlPoint(const wxPoint &pt)
bool mControlPointMoveActivated
void OnMotion(wxMouseEvent &evt)
Panel(wxWindow *parent, wxWindowID winid, EffectAutoDuck *effect)
bool AcceptsFocusFromKeyboard() const override
void OnLeftDown(wxMouseEvent &evt)
EControlPoint mCurrentControlPoint
void OnMouseCaptureChanged(wxMouseCaptureChangedEvent &evt)
void OnLeftUp(wxMouseEvent &evt)
bool AcceptsFocus() const override
void ResetControlPoints()
void OnPaint(wxPaintEvent &evt)
void OnMouseCaptureLost(wxMouseCaptureLostEvent &evt)
wxPoint mMoveStartControlPoints[AUTO_DUCK_PANEL_NUM_CONTROL_POINTS]
wxPoint mControlPoints[AUTO_DUCK_PANEL_NUM_CONTROL_POINTS]
Implements the Auto Ducking effect.
static constexpr EffectParameter InnerFadeDownLen
wxTextCtrl * mInnerFadeUpLenBox
ComponentInterfaceSymbol GetSymbol() const override
static constexpr EffectParameter InnerFadeUpLen
wxTextCtrl * mInnerFadeDownLenBox
static constexpr EffectParameter OuterFadeDownLen
wxTextCtrl * mOuterFadeDownLenBox
const WaveTrack * mControlTrack
bool ApplyDuckFade(int trackNum, WaveTrack *t, double t0, double t1)
static constexpr EffectParameter MaximumPause
bool DoTransferDataToWindow()
wxTextCtrl * mThresholdDbBox
static constexpr EffectParameter ThresholdDb
wxWeakRef< wxWindow > mUIParent
const EffectParameterMethods & Parameters() const override
bool TransferDataToWindow(const EffectSettings &settings) override
virtual ~EffectAutoDuck()
void OnValueChanged(wxCommandEvent &evt)
static EffectAutoDuck * FetchParameters(EffectAutoDuck &e, EffectSettings &)
static constexpr EffectParameter DuckAmountDb
EffectType GetType() const override
Type determines how it behaves.
bool TransferDataFromWindow(EffectSettings &settings) override
static constexpr EffectParameter OuterFadeUpLen
bool Process(EffectInstance &instance, EffectSettings &settings) override
wxTextCtrl * mMaximumPauseBox
ManualPageID ManualPage() const override
Name of a page in the Audacity alpha manual, default is empty.
static const ComponentInterfaceSymbol Symbol
TranslatableString GetDescription() const override
wxTextCtrl * mOuterFadeUpLenBox
wxTextCtrl * mDuckAmountDbBox
std::unique_ptr< EffectEditor > PopulateOrExchange(ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) override
Add controls to effect panel; always succeeds.
Performs effect computation.
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.
A Track that contains audio waveform data.
Externalized state of a plug-in.