3#include <public.sdk/source/vst/utility/uid.h>
33 size_t mUserBlockSize { 8192 };
34 size_t mProcessingBlockSize { 8192 };
35 bool mUseLatency {
true };
38 bool mRecruited{
false };
50 unsigned numChannels,
float sampleRate)
override;
55 size_t numSamples)
override;
64 size_t GetBlockSize() const override;
67 size_t blockLen) override;
71 unsigned GetAudioOutCount() const override;
72 unsigned GetAudioInCount() const override;
74 void ReloadUserOptions();
static Settings & settings()
virtual size_t GetTailSize() const
virtual bool RealtimeAddProcessor(EffectSettings &settings, EffectOutputs *pOutputs, unsigned numChannels, float sampleRate)
virtual bool RealtimeSuspend()
virtual bool RealtimeResume()
virtual bool RealtimeInitialize(EffectSettings &settings, double sampleRate)
virtual bool RealtimeProcessEnd(EffectSettings &settings) noexcept
settings can be updated to let a dialog change appearance at idle
virtual bool RealtimeFinalize(EffectSettings &settings) noexcept
virtual SampleCount GetLatency(const EffectSettings &settings, double sampleRate) const
virtual bool RealtimeProcessStart(MessagePackage &package)
settings are possibly changed, since last call, by an asynchronous dialog
virtual size_t RealtimeProcess(size_t group, EffectSettings &settings, const float *const *inBuf, float *const *outBuf, size_t numSamples)
Hold values to send to effect output meters.
bool ProcessFinalize() noexcept override
Base class for many of the effects in Audacity.
Objects of this class connect Audacity with VST3 effects.
std::vector< std::unique_ptr< VST3Instance > > mProcessors
VST3Instance(const VST3Instance &)=delete
VST3Instance & operator=(const VST3Instance &)=delete
std::unique_ptr< VST3Wrapper > mWrapper
"Plain" plugin UI, contains a list of parameter controls and values.
Positions or offsets within audio files need a wide type.
constexpr auto sampleRate
constexpr auto maxBlockSize
Externalized state of a plug-in.