Audacity 3.2.0
Equalization.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 Equalization.h
6
7 Mitch Golden
8 Vaughan Johnson (Preview)
9
10***********************************************************************/
11
12#ifndef __AUDACITY_EFFECT_EQUALIZATION__
13#define __AUDACITY_EFFECT_EQUALIZATION__
14
15#include <wx/setup.h> // for wxUSE_* macros
16
17#include "StatefulEffect.h"
18#include "EqualizationUI.h"
19
21{
22public:
23 static inline EqualizationParameters *
25 { return &e.mParameters; }
27
29
30 virtual ~EffectEqualization();
31
32 // ComponentInterface implementation
33
34 ComponentInterfaceSymbol GetSymbol() const override;
35 TranslatableString GetDescription() const override;
36 ManualPageID ManualPage() const override;
38 override;
39 bool VisitSettings(
41 const override;
42
43 // EffectDefinitionInterface implementation
44
45 EffectType GetType() const override;
47 const override;
49
50 RegistryPaths GetFactoryPresets() const override;
52 const override;
53
54 bool ValidateUI(const EffectPlugin &plugin, EffectSettings &) const override;
55
56 // Effect implementation
57
58 bool Init() override;
59 bool Process(EffectInstance &instance, EffectSettings &settings) override;
60
61 std::unique_ptr<EffectEditor> PopulateOrExchange(
62 ShuttleGui & S, EffectInstance &instance,
63 EffectSettingsAccess &access, const EffectOutputs *pOutputs) override;
64 bool TransferDataToWindow(const EffectSettings &settings) override;
65
66private:
67 // EffectEqualization implementation
68
69 bool ProcessOne(int count, WaveTrack * t,
70 sampleCount start, sampleCount len);
71
72 wxWeakRef<wxWindow> mUIParent{};
75 const int mOptions;
77
78 const EffectParameterMethods& Parameters() const override;
79};
80
82{
83public:
85
87};
88
90{
91public:
93
95};
96
97#endif
EffectType
std::optional< std::unique_ptr< EffectSettingsAccess::Message > > OptionalMessage
const int kEqLegacy
const int kEqOptionCurve
const int kEqOptionGraphic
std::vector< RegistryPath > RegistryPaths
Definition: Identifier.h:219
#define S(N)
Definition: ToChars.cpp:64
static Settings & settings()
Definition: TrackInfo.cpp:87
TranslatableString GetName() const
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
static const ComponentInterfaceSymbol Symbol
Definition: Equalization.h:84
static const ComponentInterfaceSymbol Symbol
Definition: Equalization.h:92
An Effect that modifies volume in different frequency bands.
Definition: Equalization.h:21
RegistryPaths GetFactoryPresets() const override
Report names of factory presets.
OptionalMessage DoLoadFactoryDefaults(EffectSettings &settings)
const EffectParameterMethods & Parameters() const override
virtual ~EffectEqualization()
std::unique_ptr< EffectEditor > PopulateOrExchange(ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) override
Add controls to effect panel; always succeeds.
OptionalMessage LoadFactoryPreset(int id, EffectSettings &settings) const override
EffectType GetType() const override
Type determines how it behaves.
bool TransferDataToWindow(const EffectSettings &settings) override
bool VisitSettings(SettingsVisitor &visitor, EffectSettings &settings) override
ManualPageID ManualPage() const override
Name of a page in the Audacity alpha manual, default is empty.
bool ValidateUI(const EffectPlugin &plugin, EffectSettings &) const override
TranslatableString GetDescription() const override
EqualizationUI mUI
Definition: Equalization.h:76
OptionalMessage LoadFactoryDefaults(EffectSettings &settings) const override
bool Process(EffectInstance &instance, EffectSettings &settings) override
wxWeakRef< wxWindow > mUIParent
Definition: Equalization.h:72
EffectEqualization(int Options=kEqLegacy)
EqualizationFilter mParameters
Definition: Equalization.h:73
EqualizationCurvesList mCurvesList
Definition: Equalization.h:74
static const ComponentInterfaceSymbol Symbol
Definition: Equalization.h:26
ComponentInterfaceSymbol GetSymbol() const override
static EqualizationParameters * FetchParameters(EffectEqualization &e, EffectSettings &)
Definition: Equalization.h:24
const int mOptions
Definition: Equalization.h:75
bool Init() override
bool ProcessOne(int count, WaveTrack *t, sampleCount start, sampleCount len)
Performs effect computation.
Hold values to send to effect output meters.
Interface for manipulations of an Effect's settings.
Factory of instances of an effect.
Definition: EffectPlugin.h:36
Visitor of effect or command parameters. This is a base class with lots of virtual functions that do ...
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:625
Holds a msgid for the translation catalog; may also bind format arguments.
A Track that contains audio waveform data.
Definition: WaveTrack.h:51
Positions or offsets within audio files need a wide type.
Definition: SampleCount.h:19
Externalized state of a plug-in.
Maintains a list of preset curves for Equalization effects.
Parameters of the Equalization effects that persist in configuration files.