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

#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...
 
virtual bool ProcessInitialize (EffectSettings &settings, sampleCount totalLen, ChannelNames chanMap)
 
virtual bool ProcessFinalize ()
 
virtual size_t ProcessBlock (EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen)=0
 Called for destructive effect computation. More...
 
virtual sampleCount GetLatency (const EffectSettings &settings)
 
- 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 void SetSampleRate (double rate)=0
 
virtual size_t GetBlockSize () const =0
 
virtual size_t SetBlockSize (size_t maxBlockSize)=0
 
virtual bool RealtimeInitialize (EffectSettings &settings)
 
virtual bool RealtimeAddProcessor (EffectSettings &settings, unsigned numChannels, float sampleRate)
 
virtual bool RealtimeSuspend ()
 
virtual bool RealtimeResume () noexcept
 
virtual bool RealtimeProcessStart (EffectSettings &settings)
 settings are possibly changed, since last call, by an asynchronous dialog More...
 
virtual size_t RealtimeProcess (int 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
 

Protected Attributes

const PerTrackEffectmProcessor
 

Detailed Description

Definition at line 37 of file PerTrackEffect.h.

Constructor & Destructor Documentation

◆ Instance()

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

Definition at line 39 of file PerTrackEffect.h.

40 : mProcessor{ processor }
41 {}
const PerTrackEffect & mProcessor

◆ ~Instance()

PerTrackEffect::Instance::~Instance ( )
overridedefault

Member Function Documentation

◆ GetLatency()

sampleCount PerTrackEffect::Instance::GetLatency ( const EffectSettings settings)
virtual

Called for destructive, non-realtime effect computation Default implementation returns zero

Reimplemented in LadspaEffect::Instance, and StatefulPerTrackEffect::Instance.

Definition at line 46 of file PerTrackEffect.cpp.

47{
48 return 0;
49}

Referenced by PerTrackEffect::ProcessTrack().

Here is the caller graph for this function:

◆ Process()

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

Uses the other virtual functions of this class.

Implements EffectInstance.

Definition at line 30 of file PerTrackEffect.cpp.

31{
32 return mProcessor.Process(*this, settings);
33}
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:

◆ ProcessBlock()

virtual size_t PerTrackEffect::Instance::ProcessBlock ( EffectSettings settings,
const float *const *  inBlock,
float *const *  outBlock,
size_t  blockLen 
)
pure virtual

Called for destructive effect computation.

Implemented in EffectDtmf::Instance, EffectEcho::Instance, LadspaEffect::Instance, EffectReverb::Instance, StatefulPerTrackEffect::Instance, and EffectWahwah::Instance.

Referenced by PerTrackEffect::ProcessTrack().

Here is the caller graph for this function:

◆ ProcessFinalize()

bool PerTrackEffect::Instance::ProcessFinalize ( void  )
virtual

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

Reimplemented in LadspaEffect::Instance, StatefulPerTrackEffect::Instance, EffectEcho::Instance, and EffectReverb::Instance.

Definition at line 41 of file PerTrackEffect.cpp.

42{
43 return true;
44}

Referenced by PerTrackEffect::ProcessTrack().

Here is the caller graph for this function:

◆ ProcessInitialize()

bool PerTrackEffect::Instance::ProcessInitialize ( EffectSettings settings,
sampleCount  totalLen,
ChannelNames  chanMap 
)
virtual

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

Reimplemented in EffectDtmf::Instance, EffectEcho::Instance, LadspaEffect::Instance, EffectReverb::Instance, StatefulPerTrackEffect::Instance, and EffectWahwah::Instance.

Definition at line 35 of file PerTrackEffect.cpp.

37{
38 return true;
39}

Referenced by PerTrackEffect::ProcessTrack().

Here is the caller graph for this function:

Member Data Documentation

◆ mProcessor

const PerTrackEffect& PerTrackEffect::Instance::mProcessor
protected

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