Audacity  3.0.3
Public Types | Public Member Functions | List of all members
EffectClientInterface Class Referenceabstract

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

#include <EffectInterface.h>

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

Public Types

using EffectDialogFactory = std::function< wxDialog *(wxWindow &parent, EffectHostInterface *, EffectUIClientInterface *) >
 

Public Member Functions

virtual ~EffectClientInterface ()
 
virtual bool SetHost (EffectHostInterface *host)=0
 
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
 
virtual size_t GetTailSize ()=0
 
virtual bool IsReady ()=0
 
virtual bool ProcessInitialize (sampleCount totalLen, ChannelNames chanMap=NULL)=0
 
virtual bool ProcessFinalize ()=0
 
virtual size_t ProcessBlock (float **inBlock, float **outBlock, size_t blockLen)=0
 
virtual bool RealtimeInitialize ()=0
 
virtual bool RealtimeAddProcessor (unsigned numChannels, float sampleRate)=0
 
virtual bool RealtimeFinalize ()=0
 
virtual bool RealtimeSuspend ()=0
 
virtual bool RealtimeResume ()=0
 
virtual bool RealtimeProcessStart ()=0
 
virtual size_t RealtimeProcess (int group, float **inBuf, float **outBuf, size_t numSamples)=0
 
virtual bool RealtimeProcessEnd ()=0
 
virtual bool ShowInterface (wxWindow &parent, const EffectDialogFactory &factory, bool forceModal=false)=0
 
virtual bool GetAutomationParameters (CommandParameters &parms)=0
 
virtual bool SetAutomationParameters (CommandParameters &parms)=0
 
virtual bool LoadUserPreset (const RegistryPath &name)=0
 
virtual bool SaveUserPreset (const RegistryPath &name)=0
 
virtual RegistryPaths GetFactoryPresets ()=0
 
virtual bool LoadFactoryPreset (int id)=0
 
virtual bool LoadFactoryDefaults ()=0
 
- Public Member Functions inherited from EffectDefinitionInterface
virtual ~EffectDefinitionInterface ()
 
virtual EffectType GetType ()=0
 
virtual EffectType GetClassification ()
 
virtual EffectFamilySymbol GetFamily ()=0
 
virtual bool IsInteractive ()=0
 
virtual bool IsDefault ()=0
 
virtual bool IsLegacy ()=0
 
virtual bool SupportsRealtime ()=0
 
virtual bool SupportsAutomation ()=0
 
- 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))
 

Detailed Description

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

Definition at line 184 of file EffectInterface.h.

Member Typedef Documentation

◆ EffectDialogFactory

using EffectClientInterface::EffectDialogFactory = std::function< wxDialog* ( wxWindow &parent, EffectHostInterface*, EffectUIClientInterface* ) >

Definition at line 187 of file EffectInterface.h.

Constructor & Destructor Documentation

◆ ~EffectClientInterface()

EffectClientInterface::~EffectClientInterface ( )
virtualdefault

Member Function Documentation

◆ GetAudioInCount()

virtual unsigned EffectClientInterface::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 EffectClientInterface::GetAudioOutCount ( )
pure virtual

◆ GetAutomationParameters()

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

◆ GetBlockSize()

virtual size_t EffectClientInterface::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:

◆ GetFactoryPresets()

virtual RegistryPaths EffectClientInterface::GetFactoryPresets ( )
pure virtual

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

Referenced by Effect::GetFactoryPresets().

Here is the caller graph for this function:

◆ GetLatency()

virtual sampleCount EffectClientInterface::GetLatency ( )
pure virtual

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

Referenced by EffectNoiseReduction::TrackProgress().

Here is the caller graph for this function:

◆ GetMidiInCount()

virtual int EffectClientInterface::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 EffectClientInterface::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 EffectClientInterface::GetTailSize ( )
pure virtual

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

Referenced by Effect::GetTailSize().

Here is the caller graph for this function:

◆ IsReady()

virtual bool EffectClientInterface::IsReady ( )
pure virtual

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

Referenced by Effect::IsReady().

Here is the caller graph for this function:

◆ LoadFactoryDefaults()

virtual bool EffectClientInterface::LoadFactoryDefaults ( )
pure virtual

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

Referenced by Effect::LoadFactoryDefaults().

Here is the caller graph for this function:

◆ LoadFactoryPreset()

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

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

Referenced by Effect::LoadFactoryPreset().

Here is the caller graph for this function:

◆ LoadUserPreset()

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

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

Referenced by Effect::LoadUserPreset().

Here is the caller graph for this function:

◆ ProcessBlock()

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

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

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 EffectClientInterface::ProcessInitialize ( sampleCount  totalLen,
ChannelNames  chanMap = NULL 
)
pure virtual

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

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

Referenced by Effect::RealtimeProcessEnd().

Here is the caller graph for this function:

◆ RealtimeProcessStart()

virtual bool EffectClientInterface::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 EffectClientInterface::RealtimeResume ( )
pure virtual

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 EffectClientInterface::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:

◆ SaveUserPreset()

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

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

Referenced by Effect::SaveUserPreset().

Here is the caller graph for this function:

◆ SetAutomationParameters()

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

◆ SetBlockSize()

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

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

Referenced by Effect::RealtimeInitialize(), and Effect::SetBlockSize().

Here is the caller graph for this function:

◆ SetHost()

virtual bool EffectClientInterface::SetHost ( EffectHostInterface host)
pure virtual

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

Referenced by Effect::SetHost().

Here is the caller graph for this function:

◆ SetSampleRate()

virtual void EffectClientInterface::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:

◆ ShowInterface()

virtual bool EffectClientInterface::ShowInterface ( wxWindow &  parent,
const EffectDialogFactory factory,
bool  forceModal = false 
)
pure virtual

Implemented in VSTEffect, NyquistEffect, EffectNoiseRemoval, EffectNoiseReduction, LV2Effect, LadspaEffect, Effect, and AudioUnitEffect.

Referenced by Effect::ShowInterface().

Here is the caller graph for this function:

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