Audacity 3.2.0
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 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 bool SupportsRealtime () const =0
 Whether the effect supports realtime previewing (while audio is playing). More...
 
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 183 of file EffectInterface.h.

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 68 of file EffectInterface.cpp.

69{
70 return false;
71}

Referenced by EffectUIHost::Initialize().

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 63 of file EffectInterface.cpp.

64{
65 return GetType();
66}
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 40 of file EffectInterface.cpp.

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

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

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 78 of file EffectInterface.cpp.

79{
80 return {};
81}

Referenced by EffectUIHost::Initialize(), and EffectUIHost::OnHelp().

Here is the caller graph for this function:

◆ 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 83 of file EffectInterface.cpp.

84{
85 return false;
86}

◆ 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

Name of a page in the Audacity alpha manual, default is empty.

Reimplemented in EffectAmplify, EffectAutoDuck, EffectBassTreble, EffectChangeSpeed, EffectClickRemoval, EffectCompressor, EffectDistortion, EffectDtmf, EffectEcho, EffectEqualization, EffectFindClipping, EffectLoudness, EffectNoise, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectPhaser, EffectRepeat, EffectReverb, EffectScienFilter, EffectSilence, EffectTimeScale, EffectToneGen, EffectTruncSilence, and EffectWahwah.

Definition at line 73 of file EffectInterface.cpp.

74{
75 return {};
76}

Referenced by EffectUIHost::Initialize(), and EffectUIHost::OnHelp().

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()

virtual bool EffectDefinitionInterface::SupportsRealtime ( ) const
pure virtual

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

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:

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