![]() |
Audacity 3.2.0
|
#include <StatefulEffectBase.h>
Classes | |
class | Instance |
Calls through to members of StatefulEffectBase. More... | |
Public Types | |
using | MessagePackage = EffectInstance::MessagePackage |
Public Member Functions | |
virtual bool | Init () |
virtual bool | Process (EffectInstance &instance, EffectSettings &settings)=0 |
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 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 | SetBlockSize (size_t maxBlockSize) |
virtual size_t | GetBlockSize () const |
virtual unsigned | GetAudioInCount () const |
How many input buffers to allocate at once. More... | |
virtual unsigned | GetAudioOutCount () const |
How many output buffers to allocate at once. More... | |
virtual sampleCount | GetLatency () const |
virtual bool | NeedsDither () const |
virtual bool | ProcessInitialize (EffectSettings &settings, double sampleRate, ChannelNames chanMap=nullptr) |
virtual bool | ProcessFinalize () noexcept |
Private Attributes | |
size_t | mEffectBlockSize { 0 } |
A mix-in class for effects that are not yet migrated to statelessness. To be eliminated when all effects are migrated
Definition at line 23 of file StatefulEffectBase.h.
Definition at line 101 of file StatefulEffectBase.h.
|
virtual |
How many input buffers to allocate at once.
If the instance processes channels independently, this can return 1 The result is not necessarily well defined before RealtimeInitialize
Default implementation returns 0
Reimplemented in EffectAmplify, EffectFade, EffectInvert, EffectScienFilter, EffectStereoToMono, and VampEffect.
Definition at line 154 of file StatefulEffectBase.cpp.
|
virtual |
How many output buffers to allocate at once.
The result is not necessarily well defined before RealtimeInitialize
Default implementation returns 0
Reimplemented in EffectAmplify, EffectFade, EffectInvert, EffectNoise, EffectScienFilter, EffectStereoToMono, and EffectToneGen.
Definition at line 159 of file StatefulEffectBase.cpp.
|
virtual |
Default implementation returns mEffectBlockSize
Reimplemented in StatefulPerTrackEffect.
Definition at line 149 of file StatefulEffectBase.cpp.
References mEffectBlockSize.
|
virtual |
Default implementation returns 0
Definition at line 212 of file StatefulEffectBase.cpp.
|
virtual |
Default implementation does nothing, returns true
Reimplemented in EffectAmplify, EffectAutoDuck, EffectChangeSpeed, EffectEqualization, EffectNoiseRemoval, NyquistEffect, EffectScienFilter, and VampEffect.
Definition at line 207 of file StatefulEffectBase.cpp.
|
virtual |
Reimplemented in EffectInvert, EffectRepair, EffectRepeat, and EffectTruncSilence.
Definition at line 217 of file StatefulEffectBase.cpp.
|
pure virtual |
Implemented in StatefulPerTrackEffect, EffectAutoDuck, EffectChangeSpeed, EffectClickRemoval, EffectEqualization, EffectFindClipping, Generator, EffectLoudness, EffectNoiseReduction, EffectNoiseRemoval, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectRepair, EffectRepeat, EffectReverse, EffectSBSMS, EffectSimpleMono, EffectStereoToMono, EffectTimeScale, EffectTruncSilence, EffectTwoPassSimpleMono, and VampEffect.
Referenced by StatefulEffect::Instance::Process().
|
virtualnoexcept |
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 StatefulPerTrackEffect.
Definition at line 228 of file StatefulEffectBase.cpp.
|
virtual |
Called at start of destructive processing, for each (mono/stereo) track Default implementation does nothing, returns true
chanMap | null or array terminated with ChannelNameEOL. Do not retain the pointer |
GetAudioInCount()
and GetAudioOutCount()
are well defined Reimplemented in EffectFade, EffectNoise, EffectScienFilter, EffectToneGen, and StatefulPerTrackEffect.
Definition at line 222 of file StatefulEffectBase.cpp.
|
virtual |
Definition at line 169 of file StatefulEffectBase.cpp.
|
virtualnoexcept |
Definition at line 202 of file StatefulEffectBase.cpp.
|
virtual |
GetAudioInCount()
and GetAudioOutCount()
are well definedDefault implementation does nothing, returns false (so assume realtime is not supported). Other member functions related to realtime return true or zero, but will not be called, unless a derived class overrides RealtimeInitialize. Default implementation does nothing, returns false
Definition at line 164 of file StatefulEffectBase.cpp.
|
virtual |
Definition at line 190 of file StatefulEffectBase.cpp.
|
virtualnoexcept |
settings can be updated to let a dialog change appearance at idle
Definition at line 197 of file StatefulEffectBase.cpp.
|
virtual |
settings are possibly changed, since last call, by an asynchronous dialog
Definition at line 185 of file StatefulEffectBase.cpp.
|
virtual |
Definition at line 180 of file StatefulEffectBase.cpp.
|
virtual |
Definition at line 175 of file StatefulEffectBase.cpp.
|
virtual |
Default implementation assigns mEffectBlockSize, returns it
Reimplemented in StatefulPerTrackEffect.
Definition at line 143 of file StatefulEffectBase.cpp.
References mEffectBlockSize.
|
private |
Definition at line 175 of file StatefulEffectBase.h.
Referenced by GetBlockSize(), and SetBlockSize().