Audacity 3.2.0
Public Member Functions | Protected Attributes | List of all members
EffectInstanceWithBlockSize Class Reference

Inherit to add a state variable to an EffectInstance subclass. More...

#include <EffectInterface.h>

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

Public Member Functions

 ~EffectInstanceWithBlockSize () override
 
size_t GetBlockSize () const override
 
size_t SetBlockSize (size_t maxBlockSize) 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 void RealtimePassThrough (size_t group, EffectSettings &settings, const float *const *inBuf, size_t numSamples)
 Called instead of RealtimeProcess when the effect is bypassed. Default implementation does nothing. More...
 
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

size_t mBlockSize { 0 }
 

Additional Inherited Members

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

Detailed Description

Inherit to add a state variable to an EffectInstance subclass.

Definition at line 596 of file EffectInterface.h.

Constructor & Destructor Documentation

◆ ~EffectInstanceWithBlockSize()

EffectInstanceWithBlockSize::~EffectInstanceWithBlockSize ( )
overridedefault

Member Function Documentation

◆ GetBlockSize()

size_t EffectInstanceWithBlockSize::GetBlockSize ( ) const
overridevirtual

Implements EffectInstance.

Definition at line 210 of file EffectInterface.cpp.

211{
212 return mBlockSize;
213}

References mBlockSize.

Referenced by CompressorInstance::InstanceInit().

Here is the caller graph for this function:

◆ SetBlockSize()

size_t EffectInstanceWithBlockSize::SetBlockSize ( size_t  maxBlockSize)
overridevirtual

Implements EffectInstance.

Definition at line 215 of file EffectInterface.cpp.

References anonymous_namespace{StaffPadTimeAndPitch.cpp}::maxBlockSize, and mBlockSize.

Referenced by CompressorInstance::RealtimeInitialize().

Here is the caller graph for this function:

Member Data Documentation

◆ mBlockSize

size_t EffectInstanceWithBlockSize::mBlockSize { 0 }
protected

Definition at line 604 of file EffectInterface.h.

Referenced by GetBlockSize(), and SetBlockSize().


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