Audacity 3.2.0
Public Member Functions | Protected Attributes | List of all members
PerTrackEffect::Instance Class Reference

#include <PerTrackEffect.h>

Inheritance diagram for PerTrackEffect::Instance:
[legend]
Collaboration diagram for PerTrackEffect::Instance:
[legend]

Public Member Functions

 Instance (const PerTrackEffect &processor)
 
 ~Instance () override
 
bool Process (EffectSettings &settings) final
 Uses the other virtual functions of this class. More...
 
bool ProcessInitialize (EffectSettings &settings, double sampleRate, ChannelNames chanMap) override
 
bool ProcessFinalize () noexcept override
 
- Public Member Functions inherited from EffectInstanceEx
 ~EffectInstanceEx () override
 
virtual bool ProcessInitialize (EffectSettings &settings, double sampleRate, ChannelNames chanMap)=0
 
virtual bool ProcessFinalize () noexcept=0
 
virtual size_t ProcessBlock (EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen)=0
 Called for destructive effect computation. More...
 
- Public Member Functions inherited from EffectInstance
virtual ~EffectInstance ()
 
virtual bool Init ()
 Call once to set up state for whole list of tracks to be processed. More...
 
virtual bool Process (EffectSettings &settings)=0
 Actually do the effect here. More...
 
virtual size_t GetBlockSize () const =0
 
virtual size_t SetBlockSize (size_t maxBlockSize)=0
 
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 bool RealtimeInitialize (EffectSettings &settings, double sampleRate)
 
virtual bool RealtimeAddProcessor (EffectSettings &settings, unsigned numChannels, float sampleRate)
 
virtual bool RealtimeSuspend ()
 
virtual bool RealtimeResume ()
 
virtual bool RealtimeProcessStart (EffectSettings &settings)
 settings are possibly changed, since last call, by an asynchronous dialog More...
 
virtual size_t RealtimeProcess (size_t group, EffectSettings &settings, const float *const *inBuf, float *const *outBuf, size_t numSamples)
 
virtual bool RealtimeProcessEnd (EffectSettings &settings) noexcept
 settings can be updated to let a dialog change appearance at idle More...
 
virtual bool RealtimeFinalize (EffectSettings &settings) noexcept
 
virtual size_t GetTailSize () const
 
virtual void AssignSettings (EffectSettings &dst, EffectSettings &&src) const
 Main thread receives updates to settings from a processing thread. More...
 
virtual SampleCount GetLatency (const EffectSettings &settings, double sampleRate) const
 

Protected Attributes

const PerTrackEffectmProcessor
 

Additional Inherited Members

- Public Types inherited from EffectInstance
using SampleCount = uint64_t
 

Detailed Description

Definition at line 39 of file PerTrackEffect.h.

Constructor & Destructor Documentation

◆ Instance()

PerTrackEffect::Instance::Instance ( const PerTrackEffect processor)
inlineexplicit

Definition at line 41 of file PerTrackEffect.h.

42 : mProcessor{ processor }
43 {}
const PerTrackEffect & mProcessor

◆ ~Instance()

PerTrackEffect::Instance::~Instance ( )
overridedefault

Member Function Documentation

◆ Process()

bool PerTrackEffect::Instance::Process ( EffectSettings settings)
finalvirtual

Uses the other virtual functions of this class.

Implements EffectInstance.

Definition at line 37 of file PerTrackEffect.cpp.

38{
39 return mProcessor.Process(*this, settings);
40}
static Settings & settings()
Definition: TrackInfo.cpp:87
bool Process(EffectInstance &instance, EffectSettings &settings) const

References mProcessor, PerTrackEffect::Process(), and settings().

Here is the call graph for this function:

◆ ProcessFinalize()

bool PerTrackEffect::Instance::ProcessFinalize ( )
overridevirtualnoexcept

Called at end of destructive processing, for each (mono/stereo) track Default implementation does nothing, returns true This may be called during stack unwinding:

Implements EffectInstanceEx.

Reimplemented in StatefulPerTrackEffect::Instance, VSTEffectInstance, VST3Instance, and EffectReverb::Instance.

Definition at line 48 of file PerTrackEffect.cpp.

49{
50 return true;
51}

◆ ProcessInitialize()

bool PerTrackEffect::Instance::ProcessInitialize ( EffectSettings settings,
double  sampleRate,
ChannelNames  chanMap 
)
overridevirtual

Called at start of destructive processing, for each (mono/stereo) track Default implementation does nothing, returns true

Parameters
chanMapnull or array terminated with ChannelNameEOL. Do not retain the pointer
Postcondition
GetAudioInCount() and GetAudioOutCount() are well defined

Implements EffectInstanceEx.

Reimplemented in EffectReverb::Instance, StatefulPerTrackEffect::Instance, VSTEffectInstance, VST3Instance, and EffectWahwah::Instance.

Definition at line 42 of file PerTrackEffect.cpp.

44{
45 return true;
46}

Member Data Documentation

◆ mProcessor

const PerTrackEffect& PerTrackEffect::Instance::mProcessor
protected

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