Audacity 3.2.0
|
#include <BassTrebleBase.h>
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 | RealtimeInitialize (EffectSettings &settings, double) override |
bool | RealtimeAddProcessor (EffectSettings &settings, EffectOutputs *pOutputs, 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 |
unsigned | GetAudioInCount () const override |
How many input buffers to allocate at once. More... | |
unsigned | GetAudioOutCount () const override |
How many output buffers to allocate at once. More... | |
Public Member Functions inherited from PerTrackEffect::Instance | |
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< 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 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... | |
Public Member Functions inherited from EffectInstanceWithBlockSize | |
~EffectInstanceWithBlockSize () override | |
size_t | GetBlockSize () const override |
size_t | SetBlockSize (size_t maxBlockSize) override |
Static Public Member Functions | |
static void | InstanceInit (EffectSettings &settings, BassTrebleState &data, float sampleRate) |
static size_t | InstanceProcess (EffectSettings &settings, BassTrebleState &data, const float *const *inBlock, float *const *outBlock, size_t blockLen) |
static void | Coefficients (double hz, double slope, double gain, double samplerate, int type, double &a0, double &a1, double &a2, double &b0, double &b1, double &b2) |
static float | DoFilter (BassTrebleState &data, float in) |
Public Attributes | |
BassTrebleState | mState |
std::vector< BassTrebleBase::Instance > | mSlaves |
Additional Inherited Members | |
Public Types inherited from EffectInstance | |
using | Message = EffectSettingsAccess::Message |
using | SampleCount = uint64_t |
Protected Attributes inherited from PerTrackEffect::Instance | |
const PerTrackEffect & | mProcessor |
Protected Attributes inherited from EffectInstanceWithBlockSize | |
size_t | mBlockSize { 0 } |
Definition at line 74 of file BassTrebleBase.h.
|
inlineexplicit |
Definition at line 78 of file BassTrebleBase.h.
|
static |
Definition at line 158 of file BassTrebleBase.cpp.
References kBass, M_PI, and staffpad::audio::simd::sqrt().
|
static |
Definition at line 186 of file BassTrebleBase.cpp.
References BassTrebleState::a0Bass, BassTrebleState::a0Treble, BassTrebleState::a1Bass, BassTrebleState::a1Treble, BassTrebleState::a2Bass, BassTrebleState::a2Treble, BassTrebleState::b0Bass, BassTrebleState::b0Treble, BassTrebleState::b1Bass, BassTrebleState::b1Treble, BassTrebleState::b2Bass, BassTrebleState::b2Treble, BassTrebleState::xn1Bass, BassTrebleState::xn1Treble, BassTrebleState::xn2Bass, BassTrebleState::xn2Treble, BassTrebleState::yn1Bass, BassTrebleState::yn1Treble, BassTrebleState::yn2Bass, and BassTrebleState::yn2Treble.
|
overridevirtual |
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 61 of file BassTrebleBase.cpp.
|
overridevirtual |
How many output buffers to allocate at once.
The result is not necessarily well defined before RealtimeInitialize
Implements EffectInstance.
Definition at line 66 of file BassTrebleBase.cpp.
|
static |
Definition at line 212 of file BassTrebleBase.cpp.
References BassTrebleState::a0Bass, BassTrebleState::a0Treble, BassTrebleState::a1Bass, BassTrebleState::a1Treble, BassTrebleState::a2Bass, BassTrebleState::a2Treble, BassTrebleState::b0Bass, BassTrebleState::b0Treble, BassTrebleState::b1Bass, BassTrebleState::b1Treble, BassTrebleState::b2Bass, BassTrebleState::b2Treble, BassTrebleState::bass, DB_TO_LINEAR, BassTrebleState::gain, EffectWithSettings< BassTrebleSettings, PerTrackEffect >::GetSettings(), BassTrebleState::hzBass, BassTrebleState::hzTreble, BassTrebleState::samplerate, anonymous_namespace{ClipSegmentTest.cpp}::sampleRate, settings(), BassTrebleState::slope, BassTrebleState::treble, BassTrebleState::xn1Bass, BassTrebleState::xn1Treble, BassTrebleState::xn2Bass, BassTrebleState::xn2Treble, BassTrebleState::yn1Bass, BassTrebleState::yn1Treble, BassTrebleState::yn2Bass, and BassTrebleState::yn2Treble.
|
static |
Definition at line 122 of file BassTrebleBase.cpp.
References BassTrebleState::a0Bass, BassTrebleState::a0Treble, BassTrebleState::a1Bass, BassTrebleState::a1Treble, BassTrebleState::a2Bass, BassTrebleState::a2Treble, BassTrebleState::b0Bass, BassTrebleState::b0Treble, BassTrebleState::b1Bass, BassTrebleState::b1Treble, BassTrebleState::b2Bass, BassTrebleState::b2Treble, BassTrebleState::bass, DB_TO_LINEAR, BassTrebleState::gain, EffectWithSettings< BassTrebleSettings, PerTrackEffect >::GetSettings(), BassTrebleState::hzBass, BassTrebleState::hzTreble, kBass, kTreble, BassTrebleState::samplerate, settings(), BassTrebleState::slope, and BassTrebleState::treble.
|
overridevirtual |
Called for destructive effect computation.
Implements EffectInstance.
Definition at line 78 of file BassTrebleBase.cpp.
References mState, and settings().
|
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 71 of file BassTrebleBase.cpp.
References mState, anonymous_namespace{ClipSegmentTest.cpp}::sampleRate, and settings().
|
overridevirtual |
Reimplemented from EffectInstance.
Definition at line 92 of file BassTrebleBase.cpp.
References mState, anonymous_namespace{ClipSegmentTest.cpp}::sampleRate, and settings().
|
overridevirtualnoexcept |
Reimplemented from EffectInstance.
Definition at line 105 of file BassTrebleBase.cpp.
|
overridevirtual |
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 85 of file BassTrebleBase.cpp.
|
overridevirtual |
Reimplemented from EffectInstance.
Definition at line 112 of file BassTrebleBase.cpp.
References mState, and settings().
std::vector<BassTrebleBase::Instance> BassTrebleBase::Instance::mSlaves |
Definition at line 121 of file BassTrebleBase.h.
BassTrebleState BassTrebleBase::Instance::mState |
Definition at line 120 of file BassTrebleBase.h.
Referenced by RealtimeAddProcessor().