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 ()=0
 Type determines how it behaves. More...
 
virtual EffectType GetClassification ()
 Determines which menu it appears in; default same as GetType(). More...
 
virtual EffectFamilySymbol GetFamily ()=0
 Report identifier and user-visible name of the effect protocol. More...
 
virtual bool IsInteractive ()=0
 Whether the effect needs a dialog for entry of settings. More...
 
virtual bool IsDefault ()=0
 Whether the effect sorts "above the line" in the menus. More...
 
virtual bool IsLegacy ()=0
 
virtual bool SupportsRealtime ()=0
 Whether the effect supports realtime previewing (while audio is playing). More...
 
virtual bool SupportsAutomation ()=0
 Whether the effect can be used without the UI, in a macro. More...
 
virtual bool EnablesDebug ()
 Whether the effect dialog should have a Debug button; default, always false. More...
 
virtual ManualPageID ManualPage ()
 Name of a page in the Audacity alpha manual, default is empty. More...
 
virtual FilePath HelpPage ()
 Fully qualified local help file name, default is empty. More...
 
virtual bool IsHiddenFromMenus ()
 Default is false. More...
 
virtual bool GetAutomationParameters (CommandParameters &parms)=0
 Save current settings into parms. More...
 
virtual bool SetAutomationParameters (CommandParameters &parms)=0
 Change settings to those stored in parms. More...
 
virtual bool LoadUserPreset (const RegistryPath &name)=0
 Change settings to a user-named preset. More...
 
virtual bool SaveUserPreset (const RegistryPath &name)=0
 Save current settings as a user-named preset. More...
 
virtual RegistryPaths GetFactoryPresets ()=0
 Report names of factory presets. More...
 
virtual bool LoadFactoryPreset (int id)=0
 Change settings to the preset whose name is GetFactoryPresets()[id] More...
 
virtual bool LoadFactoryDefaults ()=0
 Change settings back to "factory default". More...
 
- Public Member Functions inherited from ComponentInterface
virtual ~ComponentInterface ()
 
virtual PluginPath GetPath ()=0
 
virtual ComponentInterfaceSymbol GetSymbol ()=0
 
virtual VendorSymbol GetVendor ()=0
 
virtual wxString GetVersion ()=0
 
virtual TranslatableString GetDescription ()=0
 
TranslatableString GetName ()
 
virtual bool DefineParams (ShuttleParams &WXUNUSED(S))
 

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

Constructor & Destructor Documentation

◆ ~EffectDefinitionInterface()

EffectDefinitionInterface::~EffectDefinitionInterface ( )
virtualdefault

Member Function Documentation

◆ EnablesDebug()

bool EffectDefinitionInterface::EnablesDebug ( )
virtual

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

Reimplemented in NyquistEffect.

Definition at line 39 of file EffectInterface.cpp.

40 {
41  return false;
42 }

Referenced by EffectUIHost::Initialize().

Here is the caller graph for this function:

◆ GetAutomationParameters()

virtual bool EffectDefinitionInterface::GetAutomationParameters ( CommandParameters parms)
pure virtual

◆ GetClassification()

EffectType EffectDefinitionInterface::GetClassification ( )
virtual

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

Reimplemented in NyquistEffect.

Definition at line 34 of file EffectInterface.cpp.

35 {
36  return GetType();
37 }

References GetType().

Referenced by PluginManager::RegisterPlugin().

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

◆ GetFactoryPresets()

virtual RegistryPaths EffectDefinitionInterface::GetFactoryPresets ( )
pure virtual

Report names of factory presets.

Implemented in VSTEffect, VSTSubProcess, EffectReverb, LV2Effect, LadspaEffect, EffectEqualization, Effect, EffectDistortion, and AudioUnitEffect.

Referenced by Effect::GetFactoryPresets().

Here is the caller graph for this function:

◆ GetFamily()

virtual EffectFamilySymbol EffectDefinitionInterface::GetFamily ( )
pure virtual

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

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

Referenced by Effect::GetFamily(), PluginManager::GetID(), 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 11 of file EffectInterface.cpp.

12 {
13  // Get rid of leading and trailing white space
14  auto name = ident.GET();
15  name.Trim(true).Trim(false);
16 
17  if (name.empty())
18  return {};
19 
20  wxStringTokenizer st(name, wxT(" "));
21  wxString id;
22 
23  // CamelCase the name
24  while (st.HasMoreTokens()) {
25  wxString tok = st.GetNextToken();
26  id += tok.Left(1).MakeUpper() + tok.Mid(1).MakeLower();
27  }
28 
29  return id;
30 }

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

◆ HelpPage()

FilePath EffectDefinitionInterface::HelpPage ( )
virtual

Fully qualified local help file name, default is empty.

Reimplemented in NyquistEffect.

Definition at line 49 of file EffectInterface.cpp.

50 {
51  return {};
52 }

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

Here is the caller graph for this function:

◆ IsDefault()

virtual bool EffectDefinitionInterface::IsDefault ( )
pure virtual

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

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

Referenced by Effect::IsDefault(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ IsHiddenFromMenus()

bool EffectDefinitionInterface::IsHiddenFromMenus ( )
virtual

Default is false.

Reimplemented in EffectStereoToMono.

Definition at line 54 of file EffectInterface.cpp.

55 {
56  return false;
57 }

Referenced by EffectManager::IsHidden().

Here is the caller graph for this function:

◆ IsInteractive()

virtual bool EffectDefinitionInterface::IsInteractive ( )
pure virtual

Whether the effect needs a dialog for entry of settings.

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

Referenced by Effect::IsInteractive(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ IsLegacy()

virtual bool EffectDefinitionInterface::IsLegacy ( )
pure virtual

◆ LoadFactoryDefaults()

virtual bool EffectDefinitionInterface::LoadFactoryDefaults ( )
pure virtual

Change settings back to "factory default".

Implemented in VSTEffect, VSTSubProcess, LV2Effect, LadspaEffect, EffectEqualization, Effect, EffectChangeSpeed, AudioUnitEffect, and EffectAmplify.

Referenced by Effect::LoadFactoryDefaults().

Here is the caller graph for this function:

◆ LoadFactoryPreset()

virtual bool EffectDefinitionInterface::LoadFactoryPreset ( int  id)
pure virtual

Change settings to the preset whose name is GetFactoryPresets()[id]

Implemented in VSTSubProcess, VSTEffect, EffectReverb, LV2Effect, LadspaEffect, EffectEqualization, Effect, EffectDistortion, and AudioUnitEffect.

Referenced by Effect::LoadFactoryPreset().

Here is the caller graph for this function:

◆ LoadUserPreset()

virtual bool EffectDefinitionInterface::LoadUserPreset ( const RegistryPath name)
pure virtual

Change settings to a user-named preset.

Implemented in VSTEffect, LV2Effect, LadspaEffect, Effect, AudioUnitEffect, and VSTSubProcess.

Referenced by Effect::LoadUserPreset().

Here is the caller graph for this function:

◆ ManualPage()

ManualPageID EffectDefinitionInterface::ManualPage ( )
virtual

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

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

Definition at line 44 of file EffectInterface.cpp.

45 {
46  return {};
47 }

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

Here is the caller graph for this function:

◆ SaveUserPreset()

virtual bool EffectDefinitionInterface::SaveUserPreset ( const RegistryPath name)
pure virtual

Save current settings as a user-named preset.

Implemented in VSTEffect, LV2Effect, LadspaEffect, Effect, AudioUnitEffect, and VSTSubProcess.

Referenced by Effect::SaveUserPreset().

Here is the caller graph for this function:

◆ SetAutomationParameters()

virtual bool EffectDefinitionInterface::SetAutomationParameters ( CommandParameters parms)
pure virtual

◆ SupportsAutomation()

virtual bool EffectDefinitionInterface::SupportsAutomation ( )
pure virtual

Whether the effect can be used without the UI, in a macro.

Implemented in VSTEffect, VSTSubProcess, EffectNoiseRemoval, LV2Effect, LadspaEffect, Effect, and AudioUnitEffect.

Referenced by PluginManager::RegisterPlugin(), and Effect::SupportsAutomation().

Here is the caller graph for this function:

◆ SupportsRealtime()

virtual bool EffectDefinitionInterface::SupportsRealtime ( )
pure virtual

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

Implemented in EffectWahwah, VSTEffect, VSTSubProcess, EffectPhaser, LV2Effect, LadspaEffect, Effect, EffectDistortion, EffectBassTreble, and AudioUnitEffect.

Referenced by PluginManager::RegisterPlugin(), and Effect::SupportsRealtime().

Here is the caller graph for this function:

The documentation for this class was generated from the following files:
TranslatableString::empty
bool empty() const
Definition: TranslatableString.h:72
ident
static CommandHandlerObject & ident(AudacityProject &project)
Definition: ModNullCallback.cpp:65
name
const TranslatableString name
Definition: Distortion.cpp:98
EffectDefinitionInterface::GetType
virtual EffectType GetType()=0
Type determines how it behaves.
id
int id
Definition: WaveTrackControls.cpp:577