26 return GetEffect().Init();
45 return GetEffect().RealtimeSuspend();
50 return GetEffect().RealtimeResume();
56 return GetEffect().RealtimeProcessStart(package);
61 const float *
const *inBuf,
float *
const *outBuf,
size_t numSamples)
64 .RealtimeProcess(group,
settings, inBuf, outBuf, numSamples);
69 return GetEffect().RealtimeProcessEnd(
settings);
74 return GetEffect().RealtimeFinalize(
settings);
79 return GetEffect().GetBlockSize();
89 return GetEffect().GetAudioInCount();
94 return GetEffect().GetAudioOutCount();
99 return GetEffect().NeedsDither();
111 return GetEffect().ProcessFinalize();
163 const float *
const *inbuf,
float *
const *outbuf,
size_t numSamples)
static Settings & settings()
Hold values to send to effect output meters.
bool NeedsDither() const override
bool RealtimeFinalize(EffectSettings &settings) noexcept override
bool RealtimeSuspend() override
bool ProcessInitialize(EffectSettings &settings, double sampleRate, ChannelNames chanMap) override
bool RealtimeAddProcessor(EffectSettings &settings, EffectOutputs *pOutputs, unsigned numChannels, float sampleRate) override
bool ProcessFinalize() noexcept override
unsigned GetAudioOutCount() const override
How many output buffers to allocate at once.
size_t RealtimeProcess(size_t group, EffectSettings &settings, const float *const *inBuf, float *const *outBuf, size_t numSamples) override
bool RealtimeProcessStart(MessagePackage &package) override
settings are possibly changed, since last call, by an asynchronous dialog
bool RealtimeInitialize(EffectSettings &settings, double sampleRate) override
unsigned GetAudioInCount() const override
How many input buffers to allocate at once.
bool Init() override
Call once to set up state for whole list of tracks to be processed.
bool RealtimeProcessEnd(EffectSettings &settings) noexcept override
settings can be updated to let a dialog change appearance at idle
size_t SetBlockSize(size_t maxBlockSize) override
size_t GetBlockSize() const override
Instance(StatefulEffectBase &effect)
bool RealtimeResume() override
virtual bool RealtimeInitialize(EffectSettings &settings, double sampleRate)
virtual bool NeedsDither() const
virtual bool ProcessFinalize() noexcept
virtual unsigned GetAudioOutCount() const
How many output buffers to allocate at once.
virtual unsigned GetAudioInCount() const
How many input buffers to allocate at once.
virtual size_t RealtimeProcess(size_t group, EffectSettings &settings, const float *const *inBuf, float *const *outBuf, size_t numSamples)
virtual bool RealtimeProcessStart(MessagePackage &package)
settings are possibly changed, since last call, by an asynchronous dialog
virtual size_t GetBlockSize() const
virtual bool RealtimeResume()
virtual size_t SetBlockSize(size_t maxBlockSize)
virtual bool RealtimeProcessEnd(EffectSettings &settings) noexcept
settings can be updated to let a dialog change appearance at idle
virtual bool RealtimeAddProcessor(EffectSettings &settings, EffectOutputs *pOutputs, unsigned numChannels, float sampleRate)
virtual bool RealtimeSuspend()
virtual sampleCount GetLatency() const
virtual bool RealtimeFinalize(EffectSettings &settings) noexcept
virtual bool ProcessInitialize(EffectSettings &settings, double sampleRate, ChannelNames chanMap=nullptr)
Positions or offsets within audio files need a wide type.
constexpr auto sampleRate
constexpr auto maxBlockSize
Externalized state of a plug-in.