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 , Since_3_2 , 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 180 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 
Since_3_2 
Always 

Definition at line 205 of file EffectInterface.h.

205 : unsigned {
206 Never,
207 Since_3_2,
208 Always,
209 };

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 NyquistEffect.

Definition at line 73 of file EffectInterface.cpp.

74{
75 return false;
76}

Referenced by EffectUIHost::BuildButtonBar().

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 NyquistEffect.

Definition at line 68 of file EffectInterface.cpp.

69{
70 return GetType();
71}
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 AudioUnitEffect, Effect, LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.

Referenced by PluginManager::GetID(), PluginManager::OldGetID(), EffectBase::Preview(), 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 45 of file EffectInterface.cpp.

46{
47 // Get rid of leading and trailing white space
48 auto name = ident.GET();
49 name.Trim(true).Trim(false);
50
51 if (name.empty())
52 return {};
53
54 wxStringTokenizer st(name, wxT(" "));
55 wxString id;
56
57 // CamelCase the name
58 while (st.HasMoreTokens()) {
59 wxString tok = st.GetNextToken();
60 id += tok.Left(1).MakeUpper() + tok.Mid(1).MakeLower();
61 }
62
63 return id;
64}
wxT("CloseDown"))
const TranslatableString name
Definition: Distortion.cpp:82
static CommandHandlerObject & ident(AudacityProject &project)
int id

References TranslatableString::empty(), id, ident(), name, and wxT().

Referenced by Effect::ExportPresets(), EffectManager::GetCommandIdentifier(), and Effect::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 NyquistEffect.

Definition at line 83 of file EffectInterface.cpp.

84{
85 return {};
86}

◆ IsDefault()

virtual bool EffectDefinitionInterface::IsDefault ( ) const
pure virtual

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

Implemented in AudioUnitEffect, Effect, LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.

Referenced by PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ IsHiddenFromMenus()

bool EffectDefinitionInterface::IsHiddenFromMenus ( ) const
virtual

Default is false.

Reimplemented in EffectStereoToMono.

Definition at line 88 of file EffectInterface.cpp.

89{
90 return false;
91}

◆ IsInteractive()

virtual bool EffectDefinitionInterface::IsInteractive ( ) const
pure virtual

Whether the effect needs a dialog for entry of settings.

Implemented in AudioUnitEffect, Effect, EffectFade, EffectInvert, LadspaEffect, LV2Effect, NyquistEffect, EffectRepair, EffectReverse, EffectStereoToMono, VampEffect, VSTEffect, and VST3Effect.

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

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 AudioUnitEffect, EffectBassTreble, EffectDistortion, Effect, LadspaEffect, LV2Effect, EffectPhaser, EffectReverb, VSTEffect, VST3Effect, and EffectWahwah.

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 AudioUnitEffect, Effect, LadspaEffect, LV2Effect, EffectNoiseRemoval, VSTEffect, and VST3Effect.

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 216 of file EffectInterface.h.

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

Referenced by AudioUnitEffect::ShowClientInterface(), Effect::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: