36 const std::optional<double>& GetSampleRate()
const;
37 float GetLatencyMs()
const;
38 void SetOutputQueue(std::weak_ptr<DynamicRangeProcessorOutputPacketQueue>);
39 void SetMeterValuesQueue(
40 std::weak_ptr<DynamicRangeProcessorMeterValuesQueue> queue);
51 float*
const* outBlock,
size_t blockLen)
override;
66 float*
const* outbuf,
size_t numSamples)
override;
70 size_t numSamples)
override;
76 size_t InstanceProcess(
78 const float*
const* inBlock,
float*
const* outBlock,
size_t blockLen);
88 long long mSampleCounter = 0;
90 std::weak_ptr<DynamicRangeProcessorOutputPacketQueue>
mOutputQueue;
static Settings & settings()
std::weak_ptr< DynamicRangeProcessorMeterValuesQueue > mCompressionValueQueue
std::optional< double > mSampleRate
std::weak_ptr< DynamicRangeProcessorOutputPacketQueue > mOutputQueue
std::unique_ptr< CompressorProcessor > mCompressor
std::vector< CompressorInstance > mSlaves
virtual unsigned GetAudioInCount() const =0
How many input buffers to allocate at once.
virtual bool RealtimeAddProcessor(EffectSettings &settings, EffectOutputs *pOutputs, unsigned numChannels, float sampleRate)
virtual size_t ProcessBlock(EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen)=0
Called for destructive effect computation.
virtual bool RealtimeResume()
virtual bool RealtimeInitialize(EffectSettings &settings, double sampleRate)
virtual bool RealtimeFinalize(EffectSettings &settings) noexcept
virtual SampleCount GetLatency(const EffectSettings &settings, double sampleRate) const
virtual unsigned GetAudioOutCount() const =0
How many output buffers to allocate at once.
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.
virtual size_t RealtimeProcess(size_t group, EffectSettings &settings, const float *const *inBuf, float *const *outBuf, size_t numSamples)
Inherit to add a state variable to an EffectInstance subclass.
Hold values to send to effect output meters.
An object that sends messages to an open-ended list of subscribed callbacks.
bool ProcessFinalize() noexcept override
bool ProcessInitialize(EffectSettings &settings, double sampleRate, ChannelNames chanMap) override
Base class for many of the effects in Audacity.
constexpr auto sampleRate
Externalized state of a plug-in.