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

#include <EffectInterface.h>

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

Public Member Functions

virtual ~EffectInstanceFactory ()
 
virtual std::shared_ptr< EffectInstanceMakeInstance () const =0
 Make an object maintaining short-term state of an Effect. More...
 
virtual unsigned GetAudioInCount () const =0
 How many input buffers to allocate at once. More...
 
virtual unsigned GetAudioOutCount () const =0
 How many output buffers to allocate at once. More...
 
virtual int GetMidiInCount () const
 Function that has not yet found a use. More...
 
virtual int GetMidiOutCount () const
 Function that has not yet found a use. More...
 
- Public Member Functions inherited from EffectSettingsManager
virtual ~EffectSettingsManager ()
 
virtual bool VisitSettings (SettingsVisitor &visitor, EffectSettings &settings)
 
virtual bool VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const
 
virtual EffectSettings MakeSettings () const
 
virtual bool CopySettingsContents (const EffectSettings &src, EffectSettings &dst) const
 Update one settings object from another. More...
 
virtual bool SaveSettings (const EffectSettings &settings, CommandParameters &parms) const =0
 Store settings as keys and values. More...
 
virtual bool LoadSettings (const CommandParameters &parms, EffectSettings &settings) const =0
 Restore settings from keys and values. More...
 
virtual RegistryPaths GetFactoryPresets () const =0
 Report names of factory presets. More...
 
virtual bool LoadUserPreset (const RegistryPath &name, EffectSettings &settings) const =0
 Change settings to a user-named preset. More...
 
virtual bool SaveUserPreset (const RegistryPath &name, const EffectSettings &settings) const =0
 Save settings in the configuration file as a user-named preset. More...
 
virtual bool LoadFactoryPreset (int id, EffectSettings &settings) const =0
 Change settings to the preset whose name is GetFactoryPresets()[id] More...
 
virtual bool LoadFactoryDefaults (EffectSettings &settings) const =0
 Change settings back to "factory default". More...
 
- Public Member Functions inherited from EffectDefinitionInterface
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
 

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

Definition at line 457 of file EffectInterface.h.

Constructor & Destructor Documentation

◆ ~EffectInstanceFactory()

EffectInstanceFactory::~EffectInstanceFactory ( )
virtualdefault

Member Function Documentation

◆ GetAudioInCount()

virtual unsigned EffectInstanceFactory::GetAudioInCount ( ) const
pure virtual

How many input buffers to allocate at once.

If the effect ALWAYS processes channels independently, this can return 1

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

Referenced by RealtimeEffectState::AddTrack(), and RealtimeEffectState::Process().

Here is the caller graph for this function:

◆ GetAudioOutCount()

virtual unsigned EffectInstanceFactory::GetAudioOutCount ( ) const
pure virtual

How many output buffers to allocate at once.

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

Referenced by RealtimeEffectState::AddTrack(), and RealtimeEffectState::Process().

Here is the caller graph for this function:

◆ GetMidiInCount()

int EffectInstanceFactory::GetMidiInCount ( ) const
virtual

Function that has not yet found a use.

Reimplemented in AudioUnitEffect, LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.

Definition at line 178 of file EffectInterface.cpp.

179{
180 return 0;
181}

◆ GetMidiOutCount()

int EffectInstanceFactory::GetMidiOutCount ( ) const
virtual

Function that has not yet found a use.

Reimplemented in AudioUnitEffect, LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.

Definition at line 183 of file EffectInterface.cpp.

184{
185 return 0;
186}

◆ MakeInstance()

virtual std::shared_ptr< EffectInstance > EffectInstanceFactory::MakeInstance ( ) const
pure virtual

Make an object maintaining short-term state of an Effect.

One effect may have multiple instances extant simultaneously. Instances have state, may be implemented in foreign code, and are temporary, whereas EffectSettings represents persistent effect state that can be saved and reloaded from files.

Parameters
settingsmay be assumed to have a lifetime enclosing the instance's

Implemented in AudioUnitEffect, EffectDtmf, EffectEcho, StatefulEffect, LadspaEffect, LV2Effect, EffectReverb, StatefulPerTrackEffect, VSTEffect, VST3Effect, and EffectWahwah.

Referenced by EffectBase::DoEffect(), RealtimeEffectState::Initialize(), and EffectBase::Preview().

Here is the caller graph for this function:

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