![]() |
Audacity 3.2.0
|
Public Member Functions | |
Instance (const PerTrackEffect &effect) | |
bool | ProcessInitialize (EffectSettings &settings, double sampleRate, ChannelNames chanMap) override |
size_t | ProcessBlock (EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen) override |
Called for destructive effect computation. More... | |
bool | ProcessFinalize (void) noexcept override |
bool | RealtimeInitialize (EffectSettings &settings, double sampleRate) override |
bool | RealtimeAddProcessor (EffectSettings &settings, EffectOutputs *, unsigned numChannels, float sampleRate) override |
bool | RealtimeFinalize (EffectSettings &settings) noexcept override |
size_t | RealtimeProcess (size_t group, EffectSettings &settings, const float *const *inbuf, float *const *outbuf, size_t numSamples) override |
bool | RealtimeSuspend () override |
unsigned | GetAudioOutCount () const override |
How many output buffers to allocate at once. More... | |
unsigned | GetAudioInCount () const override |
How many input buffers to allocate at once. More... | |
bool | InstanceInit (EffectSettings &settings, double sampleRate, EffectReverbState &data, ChannelNames chanMap, bool forceStereo) |
size_t | InstanceProcess (EffectSettings &settings, EffectReverbState &data, const float *const *inBlock, float *const *outBlock, size_t blockLen) |
![]() | |
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 |
![]() | |
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 | |
![]() | |
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< Message > | MakeMessage () 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... | |
![]() | |
~EffectInstanceWithBlockSize () override | |
size_t | GetBlockSize () const override |
size_t | SetBlockSize (size_t maxBlockSize) override |
Public Attributes | |
EffectReverbState | mState |
std::vector< EffectReverb::Instance > | mSlaves |
unsigned | mChannels { 2 } |
EffectReverbSettings | mLastAppliedSettings |
double | mLastSampleRate { 0 } |
Additional Inherited Members | |
![]() | |
using | Message = EffectSettingsAccess::Message |
using | SampleCount = uint64_t |
![]() | |
const PerTrackEffect & | mProcessor |
![]() | |
size_t | mBlockSize { 0 } |
Definition at line 183 of file Reverb.cpp.
|
inlineexplicit |
Definition at line 187 of file Reverb.cpp.
|
inlineoverridevirtual |
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
Implements EffectInstance.
Definition at line 293 of file Reverb.cpp.
References mChannels.
|
inlineoverridevirtual |
How many output buffers to allocate at once.
The result is not necessarily well defined before RealtimeInitialize
Implements EffectInstance.
Definition at line 288 of file Reverb.cpp.
References mChannels.
bool EffectReverb::Instance::InstanceInit | ( | EffectSettings & | settings, |
double | sampleRate, | ||
EffectReverbState & | data, | ||
ChannelNames | chanMap, | ||
bool | forceStereo | ||
) |
Definition at line 374 of file Reverb.cpp.
References BLOCK, ChannelNameEOL, ChannelNameFrontRight, EffectWithSettings< EffectReverbSettings, StatelessPerTrackEffect >::GetSettings(), EffectReverbState::mNumChans, EffectReverbState::mP, reverb_create(), and settings().
Referenced by RealtimeAddProcessor().
size_t EffectReverb::Instance::InstanceProcess | ( | EffectSettings & | settings, |
EffectReverbState & | data, | ||
const float *const * | inBlock, | ||
float *const * | outBlock, | ||
size_t | blockLen | ||
) |
Definition at line 421 of file Reverb.cpp.
References BLOCK, dB_to_linear, fifo_write(), EffectWithSettings< EffectReverbSettings, StatelessPerTrackEffect >::GetSettings(), min(), EffectReverbState::mNumChans, EffectReverbState::mP, reverb_process(), and settings().
Referenced by RealtimeProcess().
|
overridevirtual |
Called for destructive effect computation.
Implements EffectInstance.
Definition at line 415 of file Reverb.cpp.
References mState, and settings().
|
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 EffectInstance.
Definition at line 410 of file Reverb.cpp.
|
overridevirtual |
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 Implements EffectInstance.
Definition at line 362 of file Reverb.cpp.
References EffectWithSettings< EffectReverbSettings, StatelessPerTrackEffect >::GetSettings(), mState, and settings().
|
inlineoverridevirtual |
Reimplemented from EffectInstance.
Definition at line 212 of file Reverb.cpp.
References InstanceInit(), PerTrackEffect::Instance::mProcessor, mSlaves, mState, and settings().
|
inlineoverridevirtualnoexcept |
Reimplemented from EffectInstance.
Definition at line 227 of file Reverb.cpp.
References mSlaves.
|
inlineoverridevirtual |
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.
Reimplemented from EffectInstance.
Definition at line 201 of file Reverb.cpp.
References EffectWithSettings< EffectReverbSettings, StatelessPerTrackEffect >::GetSettings(), mLastAppliedSettings, mLastSampleRate, mSlaves, EffectInstanceWithBlockSize::SetBlockSize(), and settings().
|
inlineoverridevirtual |
Reimplemented from EffectInstance.
Definition at line 233 of file Reverb.cpp.
References EffectWithSettings< EffectReverbSettings, StatelessPerTrackEffect >::GetSettings(), InstanceProcess(), mLastAppliedSettings, mLastSampleRate, mSlaves, mState, OnlySimpleParametersChanged(), reverb_init(), reverb_set_simple_params(), and settings().
|
inlineoverridevirtual |
Reimplemented from EffectInstance.
Definition at line 274 of file Reverb.cpp.
References mSlaves, and reverb_clear().
unsigned EffectReverb::Instance::mChannels { 2 } |
Definition at line 307 of file Reverb.cpp.
Referenced by GetAudioInCount(), and GetAudioOutCount().
EffectReverbSettings EffectReverb::Instance::mLastAppliedSettings |
Definition at line 309 of file Reverb.cpp.
Referenced by RealtimeInitialize(), and RealtimeProcess().
double EffectReverb::Instance::mLastSampleRate { 0 } |
Definition at line 310 of file Reverb.cpp.
Referenced by RealtimeInitialize(), and RealtimeProcess().
std::vector<EffectReverb::Instance> EffectReverb::Instance::mSlaves |
Definition at line 305 of file Reverb.cpp.
Referenced by RealtimeAddProcessor(), RealtimeFinalize(), RealtimeInitialize(), RealtimeProcess(), and RealtimeSuspend().
EffectReverbState EffectReverb::Instance::mState |
Definition at line 304 of file Reverb.cpp.
Referenced by RealtimeAddProcessor(), and RealtimeProcess().