Unify handling for *::{get,set}State

Since these functions are exactly the same, and for whatever reason they
didn't just add them to the `IPluginBase` both `IComponent` and
`IEditController`. inherit from
This commit is contained in:
Robbert van der Helm
2020-12-17 17:52:51 +01:00
parent d8694b062b
commit fe2de8de8d
9 changed files with 136 additions and 108 deletions
@@ -80,10 +80,16 @@ class YaEditController2 : public Steinberg::Vst::IEditController,
virtual tresult PLUGIN_API
setComponentState(Steinberg::IBStream* state) override = 0;
// `setState()` and `getState()` are defiend in both `IComponent` and
// `IEditController`. Since an object can only ever implement one or the
// other, the messages for calling either are defined directly on
// `Vst3PluginProxy`.
virtual tresult PLUGIN_API
setState(Steinberg::IBStream* state) override = 0;
virtual tresult PLUGIN_API
getState(Steinberg::IBStream* state) override = 0;
virtual int32 PLUGIN_API getParameterCount() override = 0;
virtual tresult PLUGIN_API
getParameterInfo(int32 paramIndex,