Audacity 3.2.0
LegacyCompressor.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 LegacyCompressor.h
6
7 Dominic Mazzoni
8
9**********************************************************************/
10
11#ifndef __AUDACITY_EFFECT_COMPRESSOR__
12#define __AUDACITY_EFFECT_COMPRESSOR__
13
16#include "wxPanelWrapper.h"
17
18class wxCheckBox;
19class wxSlider;
20class wxStaticText;
22class ShuttleGui;
23
27{
28public:
29 std::unique_ptr<EffectEditor> PopulateOrExchange(
31 const EffectOutputs* pOutputs) override;
33 bool TransferDataToWindow(const EffectSettings& settings) override;
35
36 DECLARE_EVENT_TABLE()
37private:
38 void OnSlider(wxCommandEvent& evt);
39 void UpdateUI();
40
41 wxWeakRef<wxWindow> mUIParent {};
42
44
45 wxStaticText* mThresholdLabel;
47 wxStaticText* mThresholdText;
48
49 wxStaticText* mNoiseFloorLabel;
51 wxStaticText* mNoiseFloorText;
52
53 wxStaticText* mRatioLabel;
54 wxSlider* mRatioSlider;
55 wxStaticText* mRatioText;
56
57 wxStaticText* mAttackLabel;
58 wxSlider* mAttackSlider;
59 wxStaticText* mAttackText;
60
61 wxStaticText* mDecayLabel;
62 wxSlider* mDecaySlider;
63 wxStaticText* mDecayText;
64
65 wxCheckBox* mGainCheckBox;
66 wxCheckBox* mPeakCheckBox;
67};
68
70{
71public:
73 wxWindow* parent, wxWindowID winid, double& threshold, double& noiseFloor,
74 double& ratio);
75
76private:
77 void OnPaint(wxPaintEvent & evt);
78 void OnSize(wxSizeEvent & evt);
79
80private:
81 double & threshold;
82 double & noiseFloor;
83 double & ratio;
84
85 DECLARE_EVENT_TABLE()
86};
87
88#endif
89
#define S(N)
Definition: ToChars.cpp:64
static Settings & settings()
Definition: TrackInfo.cpp:51
Performs effect computation.
bool TransferDataFromWindow(EffectSettings &settings) override
wxStaticText * mRatioLabel
wxWeakRef< wxWindow > mUIParent
wxStaticText * mRatioText
bool TransferDataToWindow(const EffectSettings &settings) override
wxStaticText * mNoiseFloorText
wxStaticText * mAttackLabel
wxStaticText * mDecayLabel
wxStaticText * mThresholdText
wxStaticText * mNoiseFloorLabel
wxStaticText * mAttackText
std::unique_ptr< EffectEditor > PopulateOrExchange(ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) override
Add controls to effect panel; always succeeds.
void OnSlider(wxCommandEvent &evt)
wxStaticText * mThresholdLabel
EffectLegacyCompressorPanel * mPanel
wxStaticText * mDecayText
EffectLegacyCompressorPanel(wxWindow *parent, wxWindowID winid, double &threshold, double &noiseFloor, double &ratio)
void OnPaint(wxPaintEvent &evt)
void OnSize(wxSizeEvent &evt)
Hold values to send to effect output meters.
An Effect derived from EffectTwoPassSimpleMono.
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:640
Externalized state of a plug-in.