3#include <pluginterfaces/base/smartpointer.h>
4#include <pluginterfaces/vst/ivstaudioprocessor.h>
5#include <pluginterfaces/vst/ivstparameterchanges.h>
6#include <pluginterfaces/vst/ivstprocesscontext.h>
7#include <public.sdk/source/vst/hosting/module.h>
23 class IComponentHandler;
24 class IConnectionPoint;
25 class IEditController;
26 class IParameterChanges;
39 void Set(Steinberg::Vst::ParamID
id,
const Steinberg::Vst::ParamValue value);
41 Steinberg::tresult PLUGIN_API
addPoint(Steinberg::int32 sampleOffset, Steinberg::Vst::ParamValue value,
42 Steinberg::int32& index)
override;
46 Steinberg::tresult PLUGIN_API
getPoint(Steinberg::int32 index, Steinberg::int32& sampleOffset,
47 Steinberg::Vst::ParamValue& value)
override;
51 DECLARE_FUNKNOWN_METHODS
75 VST3Wrapper(VST3::Hosting::Module& module,
const VST3::Hosting::ClassInfo& effectClassInfo);
84 void InitializeComponents();
86 VST3::Hosting::Module&
GetModule()
const {
return mModule; }
87 const VST3::Hosting::ClassInfo& GetEffectClassInfo()
const;
89 bool IsActive() const noexcept;
96 void LoadPreset(const wxString& presetId);
97 void SavePresetToFile(const wxString& filepath) const;
119 size_t Process(const
float* const* inBlock,
float* const* outBlock,
size_t blockLen);
121 void SuspendProcessing();
122 void ResumeProcessing();
125 void EndParameterEdit();
129 std::vector<FactoryPresetDesc> FindFactoryPresets() const;
131 Steinberg::int32 GetLatencySamples() const;
147 bool LoadPresetFromStream(
Steinberg::IBStream* fileStream);
148 bool SavePresetToStream(
Steinberg::IBStream* fileStream) const;
153 bool mActive {
false};
155 std::vector<std::pair<Steinberg::Vst::ParamID, Steinberg::Vst::ParamValue>>
mParameters;
162 Steinberg::Vst::ProcessContext mProcessContext { };
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...
VST3Wrapper & operator=(const VST3Wrapper &)=delete
Steinberg::IPtr< Steinberg::Vst::IConnectionPoint > mControllerConnectionProxy
Steinberg::IPtr< Steinberg::Vst::IEditController > mEditController
Steinberg::IPtr< Steinberg::Vst::IComponent > mEffectComponent
VST3::Hosting::Module & GetModule() const
Steinberg::IPtr< Steinberg::Vst::IComponentHandler > mComponentHandler
VST3Wrapper(const VST3Wrapper &)=delete
const VST3::Hosting::ClassInfo & mEffectClassInfo
std::unique_ptr< SingleInputParameterValue[]> mParameterQueues
VST3::Hosting::Module & mModule
Steinberg::IPtr< Steinberg::Vst::IConnectionPoint > mComponentConnectionProxy
Steinberg::IPtr< Steinberg::Vst::IAudioProcessor > mAudioProcessor
VST3Wrapper(VST3Wrapper &&)=delete
Steinberg::Vst::ProcessSetup mSetup
std::vector< std::pair< Steinberg::Vst::ParamID, Steinberg::Vst::ParamValue > > mParameters
EffectSettings mDefaultSettings
VST3Wrapper & operator=(VST3Wrapper &&)=delete
constexpr auto sampleRate
Externalized state of a plug-in.