diff --git a/libs/ardour/ardour/vst3_plugin.h b/libs/ardour/ardour/vst3_plugin.h index c71052f0a7..69e162a667 100644 --- a/libs/ardour/ardour/vst3_plugin.h +++ b/libs/ardour/ardour/vst3_plugin.h @@ -237,8 +237,8 @@ private: Linux::IRunLoop* _run_loop; #endif - FUnknownPtr _processor; - Vst::ProcessContext _context; + IPtr _processor; + Vst::ProcessContext _context; /* Parameters */ Vst3ParameterChanges _input_param_changes; diff --git a/libs/ardour/vst3_plugin.cc b/libs/ardour/vst3_plugin.cc index 545bc9abc4..5eb35d2453 100644 --- a/libs/ardour/vst3_plugin.cc +++ b/libs/ardour/vst3_plugin.cc @@ -1103,7 +1103,7 @@ VST3PI::VST3PI (boost::shared_ptr m, std::string uniqu throw failed_constructor (); } - if (!(_processor = FUnknownPtr (_component).take ())) { + if (!(_processor = FUnknownPtr (_component))) { _controller->terminate (); _controller->release (); _component->terminate (); @@ -1111,8 +1111,6 @@ VST3PI::VST3PI (boost::shared_ptr m, std::string uniqu throw failed_constructor (); } - _processor->addRef (); - /* prepare process context */ memset (&_context, 0, sizeof (Vst::ProcessContext)); @@ -1242,7 +1240,6 @@ VST3PI::terminate () deactivate (); - _processor->release (); _processor = 0; disconnect_components ();