Audacity  3.2.0
Public Member Functions | List of all members
EffectProcessor Class Referenceabstract

EffectClientInterface provides the ident interface to Effect, and is what makes Effect into a plug-in command. It has functions for effect calculations that are not part of AudacityCommand. More...

#include <EffectInterface.h>

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

Public Member Functions

virtual ~EffectProcessor ()
 
virtual unsigned GetAudioInCount ()=0
 
virtual unsigned GetAudioOutCount ()=0
 
virtual int GetMidiInCount ()=0
 
virtual int GetMidiOutCount ()=0
 
virtual void SetSampleRate (double rate)=0
 
virtual size_t SetBlockSize (size_t maxBlockSize)=0
 
virtual size_t GetBlockSize () const =0
 
virtual sampleCount GetLatency ()=0
 Called for destructive, non-realtime effect computation. More...
 
virtual size_t GetTailSize ()=0
 
virtual bool ProcessInitialize (sampleCount totalLen, ChannelNames chanMap=NULL)=0
 Called for destructive, non-realtime effect computation. More...
 
virtual bool ProcessFinalize ()=0
 Called for destructive, non-realtime effect computation. More...
 
virtual size_t ProcessBlock (float **inBlock, float **outBlock, size_t blockLen)=0
 Called for destructive, non-realtime effect computation. More...
 
virtual bool RealtimeInitialize ()=0
 
virtual bool RealtimeAddProcessor (unsigned numChannels, float sampleRate)=0
 
virtual bool RealtimeFinalize ()=0
 
virtual bool RealtimeSuspend ()=0
 
virtual bool RealtimeResume () noexcept=0
 
virtual bool RealtimeProcessStart ()=0
 
virtual size_t RealtimeProcess (int group, float **inBuf, float **outBuf, size_t numSamples)=0
 
virtual bool RealtimeProcessEnd () noexcept=0
 
- Public Member Functions inherited from EffectDefinitionInterface
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))
 

Additional Inherited Members

- Static Public Member Functions inherited from EffectDefinitionInterface
static Identifier GetSquashedName (const Identifier &ident)
 A utility that strips spaces and CamelCases a name. More...
 

Detailed Description

EffectClientInterface provides the ident interface to Effect, and is what makes Effect into a plug-in command. It has functions for effect calculations that are not part of AudacityCommand.

Definition at line 200 of file EffectInterface.h.

Constructor & Destructor Documentation

◆ ~EffectProcessor()

EffectProcessor::~EffectProcessor ( )
virtualdefault

Member Function Documentation

◆ GetAudioInCount()

virtual unsigned EffectProcessor::GetAudioInCount ( )
pure virtual

Implemented in EffectWahwah, VSTEffect, VampEffect, EffectStereoToMono, EffectScienFilter, EffectReverb, EffectPhaser, LV2Effect, LadspaEffect, EffectInvert, EffectFade, Effect, EffectEcho, EffectDistortion, EffectBassTreble, AudioUnitEffect, and EffectAmplify.

Referenced by Effect::GetAudioInCount(), RealtimeEffectState::RealtimeAddProcessor(), and RealtimeEffectState::RealtimeProcess().

Here is the caller graph for this function:

◆ GetAudioOutCount()

virtual unsigned EffectProcessor::GetAudioOutCount ( )
pure virtual

◆ GetBlockSize()

virtual size_t EffectProcessor::GetBlockSize ( ) const
pure virtual

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

Referenced by Effect::GetBlockSize(), and RealtimeEffectState::RealtimeProcess().

Here is the caller graph for this function:

◆ GetLatency()

virtual sampleCount EffectProcessor::GetLatency ( )
pure virtual

Called for destructive, non-realtime effect computation.

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

Referenced by Effect::GetLatency().

Here is the caller graph for this function:

◆ GetMidiInCount()

virtual int EffectProcessor::GetMidiInCount ( )
pure virtual

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

Referenced by Effect::GetMidiInCount().

Here is the caller graph for this function:

◆ GetMidiOutCount()

virtual int EffectProcessor::GetMidiOutCount ( )
pure virtual

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

Referenced by Effect::GetMidiOutCount().

Here is the caller graph for this function:

◆ GetTailSize()

virtual size_t EffectProcessor::GetTailSize ( )
pure virtual

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

Referenced by Effect::GetTailSize().

Here is the caller graph for this function:

◆ ProcessBlock()

virtual size_t EffectProcessor::ProcessBlock ( float **  inBlock,
float **  outBlock,
size_t  blockLen 
)
pure virtual

Called for destructive, non-realtime effect computation.

Implemented in LV2Effect, EffectWahwah, VSTEffect, EffectToneGen, EffectScienFilter, EffectReverb, EffectPhaser, EffectNoise, LadspaEffect, EffectInvert, EffectFade, Effect, EffectEcho, EffectDtmf, EffectDistortion, EffectBassTreble, AudioUnitEffect, and EffectAmplify.

Referenced by Effect::ProcessBlock().

Here is the caller graph for this function:

◆ ProcessFinalize()

virtual bool EffectProcessor::ProcessFinalize ( )
pure virtual

Called for destructive, non-realtime effect computation.

Implemented in VSTEffect, EffectReverb, LV2Effect, LadspaEffect, Effect, EffectEcho, and AudioUnitEffect.

Referenced by Effect::ProcessFinalize().

Here is the caller graph for this function:

◆ ProcessInitialize()

virtual bool EffectProcessor::ProcessInitialize ( sampleCount  totalLen,
ChannelNames  chanMap = NULL 
)
pure virtual

Called for destructive, non-realtime effect computation.

Implemented in EffectWahwah, VSTEffect, EffectToneGen, EffectScienFilter, EffectReverb, EffectPhaser, LV2Effect, LadspaEffect, EffectFade, Effect, EffectEcho, EffectDtmf, EffectDistortion, EffectBassTreble, and AudioUnitEffect.

Referenced by Effect::ProcessInitialize().

Here is the caller graph for this function:

◆ RealtimeAddProcessor()

virtual bool EffectProcessor::RealtimeAddProcessor ( unsigned  numChannels,
float  sampleRate 
)
pure virtual

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

Referenced by RealtimeEffectState::RealtimeAddProcessor(), and Effect::RealtimeAddProcessor().

Here is the caller graph for this function:

◆ RealtimeFinalize()

virtual bool EffectProcessor::RealtimeFinalize ( )
pure virtual

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

Referenced by Effect::RealtimeFinalize(), and RealtimeEffectManager::RealtimeRemoveEffect().

Here is the caller graph for this function:

◆ RealtimeInitialize()

virtual bool EffectProcessor::RealtimeInitialize ( )
pure virtual

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

Referenced by RealtimeEffectManager::RealtimeAddEffect(), and Effect::RealtimeInitialize().

Here is the caller graph for this function:

◆ RealtimeProcess()

virtual size_t EffectProcessor::RealtimeProcess ( int  group,
float **  inBuf,
float **  outBuf,
size_t  numSamples 
)
pure virtual

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

Referenced by Effect::RealtimeProcess(), and RealtimeEffectState::RealtimeProcess().

Here is the caller graph for this function:

◆ RealtimeProcessEnd()

virtual bool EffectProcessor::RealtimeProcessEnd ( )
pure virtualnoexcept

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

Referenced by Effect::RealtimeProcessEnd().

Here is the caller graph for this function:

◆ RealtimeProcessStart()

virtual bool EffectProcessor::RealtimeProcessStart ( )
pure virtual

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

Referenced by Effect::RealtimeProcessStart().

Here is the caller graph for this function:

◆ RealtimeResume()

virtual bool EffectProcessor::RealtimeResume ( )
pure virtualnoexcept

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

Referenced by RealtimeEffectState::RealtimeResume(), and Effect::RealtimeResume().

Here is the caller graph for this function:

◆ RealtimeSuspend()

virtual bool EffectProcessor::RealtimeSuspend ( )
pure virtual

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

Referenced by RealtimeEffectState::RealtimeSuspend(), and Effect::RealtimeSuspend().

Here is the caller graph for this function:

◆ SetBlockSize()

virtual size_t EffectProcessor::SetBlockSize ( size_t  maxBlockSize)
pure virtual

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

Referenced by Effect::RealtimeInitialize().

Here is the caller graph for this function:

◆ SetSampleRate()

virtual void EffectProcessor::SetSampleRate ( double  rate)
pure virtual

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

Referenced by Effect::SetSampleRate().

Here is the caller graph for this function:

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