15 :
virtual public Steinberg::Vst::IComponentHandler
16 ,
virtual public Steinberg::Vst::IComponentHandler2
28 Steinberg::tresult PLUGIN_API queryInterface(
const Steinberg::TUID _iid,
void** obj)
override
30 using namespace Steinberg;
31 if(FUID::fromTUID(_iid) == Steinberg::Vst::IComponentHandler2::iid)
33 *obj =
static_cast<Steinberg::Vst::IComponentHandler2*
>(
this);
39 Steinberg::uint32 PLUGIN_API addRef()
override {
return 1; }
40 Steinberg::uint32 PLUGIN_API release()
override {
return 1; }
42 Steinberg::tresult PLUGIN_API beginEdit(Steinberg::Vst::ParamID
id)
override
45 if(
auto ctrl = m_model.controls.find(
id); ctrl == m_model.controls.end())
47 ossia::qt::run_async(&m_model, [&proc = m_model,
id] {
48 if(
auto ctrl = proc.controls.find(
id); ctrl == proc.controls.end())
50 auto& ctx = score::IDocument::documentContext(proc);
55 return Steinberg::kResultOk;
58 Steinberg::tresult PLUGIN_API performEdit(
59 Steinberg::Vst::ParamID
id, Steinberg::Vst::ParamValue valueNormalized)
override
63 m_model.fx.unsentParameters.insert(
id);
64 if(
auto ctrl = m_model.controls.find(
id); ctrl != m_model.controls.end())
66 ctrl->second->setValue(valueNormalized);
68 return Steinberg::kResultOk;
71 Steinberg::tresult PLUGIN_API endEdit(Steinberg::Vst::ParamID
id)
override
73 return Steinberg::kResultOk;
76 Steinberg::tresult PLUGIN_API restartComponent(Steinberg::int32 flags)
override
78 return m_model.restartComponent(flags);
81 Steinberg::tresult PLUGIN_API setDirty(Steinberg::TBool state)
override
83 return Steinberg::kResultOk;
86 Steinberg::tresult PLUGIN_API requestOpenEditor(Steinberg::FIDString name)
override
88 Process::setupExternalUI(m_model, score::IDocument::documentContext(m_model),
true);
89 return Steinberg::kResultOk;
92 Steinberg::tresult PLUGIN_API startGroupEdit()
override {
return Steinberg::kResultOk; }
94 Steinberg::tresult PLUGIN_API finishGroupEdit()
override {
return Steinberg::kResultOk; }