Audacity 3.2.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
EffectDefinitionInterface Class Referenceabstract

EffectDefinitionInterface is a ComponentInterface that adds some basic read-only information about effect properties, and getting and setting of parameters. More...

#include <EffectInterface.h>

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

Public Types

enum class  RealtimeSince : unsigned { Never , After_3_1 , Always }
 In which versions of Audacity was an effect realtime capable? More...
 

Public Member Functions

virtual ~EffectDefinitionInterface ()
 
virtual EffectType GetType () const =0
 Type determines how it behaves. More...
 
virtual EffectType GetClassification () const
 Determines which menu it appears in; default same as GetType(). More...
 
virtual EffectFamilySymbol GetFamily () const =0
 Report identifier and user-visible name of the effect protocol. More...
 
virtual bool IsInteractive () const =0
 Whether the effect needs a dialog for entry of settings. More...
 
virtual bool IsDefault () const =0
 Whether the effect sorts "above the line" in the menus. More...
 
virtual RealtimeSince RealtimeSupport () const =0
 Since which version of Audacity has the effect supported realtime? More...
 
bool SupportsRealtime () const
 
virtual bool SupportsAutomation () const =0
 Whether the effect has any automatable controls. More...
 
virtual bool EnablesDebug () const
 Whether the effect dialog should have a Debug button; default, always false. More...
 
virtual ManualPageID ManualPage () const
 Name of a page in the Audacity alpha manual, default is empty. More...
 
virtual FilePath HelpPage () const
 Fully qualified local help file name, default is empty. More...
 
virtual bool IsHiddenFromMenus () const
 Default is false. More...
 
- Public Member Functions inherited from ComponentInterface
virtual ~ComponentInterface ()
 
virtual PluginPath GetPath () const =0
 
virtual ComponentInterfaceSymbol GetSymbol () const =0
 
virtual VendorSymbol GetVendor () const =0
 
virtual wxString GetVersion () const =0
 
virtual TranslatableString GetDescription () const =0
 
TranslatableString GetName () const
 

Static Public Member Functions

static Identifier GetSquashedName (const Identifier &ident)
 A utility that strips spaces and CamelCases a name. More...
 

Detailed Description

EffectDefinitionInterface is a ComponentInterface that adds some basic read-only information about effect properties, and getting and setting of parameters.

Definition at line 244 of file EffectInterface.h.

Member Enumeration Documentation

◆ RealtimeSince

enum class EffectDefinitionInterface::RealtimeSince : unsigned
strong

In which versions of Audacity was an effect realtime capable?

Enumerator
Never 
After_3_1 
Always 

Definition at line 269 of file EffectInterface.h.

269 : unsigned {
270 Never,
271 // For built-in effects that became realtime in 3.2.x or a later version
272 // but were non-realtime in an earlier version; must also increase
273 // REGVERCUR in any release with such a change
274 After_3_1,
275 Always,
276 };

Constructor & Destructor Documentation

◆ ~EffectDefinitionInterface()

EffectDefinitionInterface::~EffectDefinitionInterface ( )
virtualdefault

Member Function Documentation

◆ EnablesDebug()

bool EffectDefinitionInterface::EnablesDebug ( ) const
virtual

Whether the effect dialog should have a Debug button; default, always false.

Reimplemented in NyquistBase.

Definition at line 81 of file EffectInterface.cpp.

82{
83 return false;
84}

Referenced by EffectUIHost::BuildTopBar().

Here is the caller graph for this function:

◆ GetClassification()

EffectType EffectDefinitionInterface::GetClassification ( ) const
virtual

Determines which menu it appears in; default same as GetType().

Reimplemented in NyquistBase.

Definition at line 76 of file EffectInterface.cpp.

77{
78 return GetType();
79}
virtual EffectType GetType() const =0
Type determines how it behaves.

References GetType().

Referenced by PluginManager::RegisterPlugin().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFamily()

virtual EffectFamilySymbol EffectDefinitionInterface::GetFamily ( ) const
pure virtual

Report identifier and user-visible name of the effect protocol.

Implemented in AudioUnitEffectBase, Effect, LadspaEffectBase, LV2EffectBase, NyquistBase, VSTEffectBase, VST3EffectBase, and VampEffect.

Referenced by EffectPreview(), PluginManager::GetID(), PluginManager::OldGetID(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ GetSquashedName()

Identifier EffectDefinitionInterface::GetSquashedName ( const Identifier ident)
static

A utility that strips spaces and CamelCases a name.

Definition at line 53 of file EffectInterface.cpp.

54{
55 // Get rid of leading and trailing white space
56 auto name = ident.GET();
57 name.Trim(true).Trim(false);
58
59 if (name.empty())
60 return {};
61
62 wxStringTokenizer st(name, wxT(" "));
63 wxString id;
64
65 // CamelCase the name
66 while (st.HasMoreTokens()) {
67 wxString tok = st.GetNextToken();
68 id += tok.Left(1).MakeUpper() + tok.Mid(1).MakeLower();
69 }
70
71 return id;
72}
wxT("CloseDown"))
static CommandHandlerObject & ident(AudacityProject &project)
wxString name
Definition: TagsEditor.cpp:166
int id

References id, ident(), name, and wxT().

Referenced by BasicEffectUIServices::ExportPresets(), PluginManager::GetCommandIdentifier(), and BasicEffectUIServices::ImportPresets().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetType()

virtual EffectType EffectDefinitionInterface::GetType ( ) const
pure virtual

◆ HelpPage()

FilePath EffectDefinitionInterface::HelpPage ( ) const
virtual

Fully qualified local help file name, default is empty.

Reimplemented in NyquistBase.

Definition at line 91 of file EffectInterface.cpp.

92{
93 return {};
94}

◆ IsDefault()

virtual bool EffectDefinitionInterface::IsDefault ( ) const
pure virtual

Whether the effect sorts "above the line" in the menus.

Implemented in AudioUnitEffectBase, Effect, LadspaEffectBase, LV2EffectBase, NyquistBase, VSTEffectBase, VST3EffectBase, and VampEffect.

Referenced by PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ IsHiddenFromMenus()

bool EffectDefinitionInterface::IsHiddenFromMenus ( ) const
virtual

Default is false.

Reimplemented in StereoToMono.

Definition at line 96 of file EffectInterface.cpp.

97{
98 return false;
99}

◆ IsInteractive()

virtual bool EffectDefinitionInterface::IsInteractive ( ) const
pure virtual

Whether the effect needs a dialog for entry of settings.

Implemented in AudioUnitEffectBase, Fade, Invert, Repair, Reverse, StereoToMono, Effect, LadspaEffectBase, LV2EffectBase, NyquistBase, VSTEffectBase, VST3EffectBase, and VampEffect.

Referenced by EffectBase::DoEffect(), PluginManager::RegisterPlugin(), and EffectUIServices::ShowHostInterface().

Here is the caller graph for this function:

◆ ManualPage()

ManualPageID EffectDefinitionInterface::ManualPage ( ) const
virtual

◆ RealtimeSupport()

virtual RealtimeSince EffectDefinitionInterface::RealtimeSupport ( ) const
pure virtual

Since which version of Audacity has the effect supported realtime?

Implemented in AudioUnitEffectBase, BassTrebleBase, DistortionBase, PhaserBase, ReverbBase, WahWahBase, Effect, LadspaEffectBase, LV2EffectBase, VSTEffectBase, VST3EffectBase, EffectCompressor, and EffectLimiter.

Referenced by PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SupportsAutomation()

virtual bool EffectDefinitionInterface::SupportsAutomation ( ) const
pure virtual

Whether the effect has any automatable controls.

Implemented in AudioUnitEffectBase, Effect, LadspaEffectBase, LV2EffectBase, VSTEffectBase, and VST3EffectBase.

Referenced by PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SupportsRealtime()

bool EffectDefinitionInterface::SupportsRealtime ( ) const
inline

Whether the effect supports realtime previewing (while audio is playing). non-virtual

Definition at line 283 of file EffectInterface.h.

virtual RealtimeSince RealtimeSupport() const =0
Since which version of Audacity has the effect supported realtime?

Referenced by AudioUnitEffect::ShowClientInterface(), BasicEffectUIServices::ShowClientInterface(), LadspaEffect::ShowClientInterface(), LV2Effect::ShowClientInterface(), and VSTEffect::ShowClientInterface().

Here is the caller graph for this function:

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