diff --git a/libs/ardour/plugin.cc b/libs/ardour/plugin.cc index b0d809b1c3..726337136a 100644 --- a/libs/ardour/plugin.cc +++ b/libs/ardour/plugin.cc @@ -112,6 +112,7 @@ Plugin::Plugin (const Plugin& other) , _for_impulse_analysis (false) , _have_presets (false) , _have_pending_stop_events (false) + , _last_preset (other._last_preset) , _parameter_changed_since_last_preset (false) , _immediate_events(6096) // FIXME: size? { diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index f7712f8add..e1554cc8f1 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -574,6 +574,10 @@ PluginInsert::parameter_changed_externally (uint32_t which, float val) (*i)->set_parameter (which, val); } } + boost::shared_ptr iasp = _impulseAnalysisPlugin.lock(); + if (iasp) { + iasp->set_parameter (which, val); + } } int @@ -3171,6 +3175,12 @@ PluginInsert::load_preset (ARDOUR::Plugin::PresetRecord pr) ok = false; } } + + boost::shared_ptr iasp = _impulseAnalysisPlugin.lock(); + if (iasp) { + iasp->load_preset (pr); + } + return ok; }