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:
Collaboration diagram for PerTrackEffect::Instance:

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
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...
 ~EffectInstanceEx () override
- Public Member Functions inherited from EffectInstance
virtual ~EffectInstance ()
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, EffectOutputs *pOutputs, unsigned numChannels, float sampleRate)
virtual bool RealtimeSuspend ()
virtual bool RealtimeResume ()
virtual std::unique_ptr< MessageMakeMessage () const
 Called on the main thread, in which the result may be cloned. More...
virtual bool UsesMessages () const noexcept
virtual bool RealtimeProcessStart (MessagePackage &package)
 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 SampleCount GetLatency (const EffectSettings &settings, double sampleRate) const
virtual bool NeedsDither () const
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...

Protected Attributes

const PerTrackEffectmProcessor

Additional Inherited Members

- Public Types inherited from EffectInstance
using Message = EffectSettingsAccess::Message
using SampleCount = uint64_t

Detailed Description

Definition at line 39 of file PerTrackEffect.h.

Constructor & Destructor Documentation

◆ Instance()

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

Definition at line 41 of file PerTrackEffect.h.

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

◆ ~Instance()

PerTrackEffect::Instance::~Instance ( )

Member Function Documentation

◆ Process()

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

Uses the other virtual functions of this class.

Implements EffectInstanceEx.

Definition at line 37 of file PerTrackEffect.cpp.

39 return mProcessor.Process(*this, settings);
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 ( )

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 EffectInstance.

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

Definition at line 48 of file PerTrackEffect.cpp.

50 return true;

◆ ProcessInitialize()

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

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

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

Implements EffectInstance.

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

Definition at line 42 of file PerTrackEffect.cpp.

45 return true;

Member Data Documentation

◆ mProcessor

const PerTrackEffect& PerTrackEffect::Instance::mProcessor

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