3#include <pluginterfaces/base/smartpointer.h>
4#include <pluginterfaces/vst/ivstaudioprocessor.h>
5#include <pluginterfaces/vst/ivstparameterchanges.h>
6#include <public.sdk/source/vst/hosting/module.h>
22 class IComponentHandler;
23 class IConnectionPoint;
24 class IEditController;
25 class IParameterChanges;
38 void Set(Steinberg::Vst::ParamID
id,
const Steinberg::Vst::ParamValue value);
40 Steinberg::tresult PLUGIN_API
addPoint(Steinberg::int32 sampleOffset, Steinberg::Vst::ParamValue value,
41 Steinberg::int32& index)
override;
45 Steinberg::tresult PLUGIN_API
getPoint(Steinberg::int32 index, Steinberg::int32& sampleOffset,
46 Steinberg::Vst::ParamValue& value)
override;
50 DECLARE_FUNKNOWN_METHODS
66 VST3Wrapper(VST3::Hosting::Module& module, VST3::UID effectUID);
106 size_t Process(const
float* const* inBlock,
float* const* outBlock,
size_t blockLen);
136 std::vector<std::pair<Steinberg::Vst::ParamID, Steinberg::Vst::ParamValue>>
mParameters;
const TranslatableString name
std::optional< std::unique_ptr< EffectSettingsAccess::Message > > OptionalMessage
static Settings & settings()
CommandParameters, derived from wxFileConfig, is essentially doing the same things as the SettingsVis...
EffectDefinitionInterface is a ComponentInterface that adds some basic read-only information about ef...
void BeginParameterEdit(EffectSettingsAccess &access)
size_t Process(const float *const *inBlock, float *const *outBlock, size_t blockLen)
VST3Wrapper & operator=(const VST3Wrapper &)=delete
static EffectSettings MakeSettings()
bool LoadPreset(Steinberg::IBStream *fileStream)
Steinberg::IPtr< Steinberg::Vst::IConnectionPoint > mControllerConnectionProxy
bool SavePreset(Steinberg::IBStream *fileStream) const
void ProcessBlockStart(const EffectSettings &settings)
Prepares effect to process next block with changes written to the settings object.
Steinberg::IPtr< Steinberg::Vst::IEditController > mEditController
Steinberg::IPtr< Steinberg::Vst::IComponent > mEffectComponent
VST3::Hosting::Module & GetModule() const
static void SaveUserPreset(const EffectDefinitionInterface &effect, const RegistryPath &name, const EffectSettings &settings)
Steinberg::IPtr< Steinberg::Vst::IComponentHandler > mComponentHandler
Steinberg::int32 GetLatencySamples() const
VST3Wrapper(const VST3Wrapper &)=delete
void FetchSettings(EffectSettings &)
Fetch state from settings object, may change internal runtime data.
static void SaveSettings(const EffectSettings &settings, CommandParameters &parms)
std::unique_ptr< SingleInputParameterValue[]> mParameterQueues
std::function< void(Steinberg::Vst::ParamID, Steinberg::Vst::ParamValue)> ParamChangedHandler
static void CopySettingsContents(const EffectSettings &src, EffectSettings &dst)
VST3::Hosting::Module & mModule
bool IsActive() const noexcept
bool Initialize(EffectSettings &settings, Steinberg::Vst::SampleRate sampleRate, Steinberg::int32 processMode, Steinberg::int32 maxSamplesPerBlock)
Initializes effect for processing using settings.
VST3Wrapper(VST3::Hosting::Module &module, VST3::UID effectUID)
void StoreSettings(EffectSettings &) const
Saves current state inside settings object, clears all runtime data.
static void LoadSettings(const CommandParameters &parms, EffectSettings &settings)
Steinberg::IPtr< Steinberg::Vst::IConnectionPoint > mComponentConnectionProxy
Steinberg::IPtr< Steinberg::Vst::IAudioProcessor > mAudioProcessor
VST3Wrapper(VST3Wrapper &&)=delete
void ConsumeChanges(const EffectSettings &settings)
Steinberg::Vst::ProcessSetup mSetup
std::vector< std::pair< Steinberg::Vst::ParamID, Steinberg::Vst::ParamValue > > mParameters
void FlushParameters(EffectSettings &settings, bool *hasChanges=nullptr)
const VST3::UID mEffectUID
EffectSettings mDefaultSettings
void Finalize(EffectSettings *settings)
static OptionalMessage LoadUserPreset(const EffectDefinitionInterface &effect, const RegistryPath &name, EffectSettings &settings)
VST3Wrapper & operator=(VST3Wrapper &&)=delete
Externalized state of a plug-in.