diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 7016b9ee12..e636f8703c 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -837,6 +837,15 @@ ProcessorEntry::plugin_preset_selected (ARDOUR::Plugin::PresetRecord preset) } } +void +ProcessorEntry::reset_plugin () +{ + /* compare to PlugUIBase::add_plugin_setting */ + boost::shared_ptr pi = boost::dynamic_pointer_cast (_processor); + + pi->reset_parameters_to_default(); +} + void ProcessorEntry::plugin_preset_add () { @@ -898,6 +907,8 @@ ProcessorEntry::build_presets_menu () if (!pset.uri.empty ()) { items.push_back (MenuElem (_("Delete the current preset"), sigc::mem_fun (*this, &ProcessorEntry::plugin_preset_delete))); } + items.push_back (SeparatorElem ()); + items.push_back (MenuElem (_("Reset Plugin"), sigc::mem_fun (*this, &ProcessorEntry::reset_plugin))); if (!presets.empty ()) { items.push_back (SeparatorElem ()); } diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h index 922be831c1..2fa21916ce 100644 --- a/gtk2_ardour/processor_box.h +++ b/gtk2_ardour/processor_box.h @@ -263,6 +263,7 @@ private: void plugin_preset_selected (ARDOUR::Plugin::PresetRecord); void plugin_preset_add (); void plugin_preset_delete (); + void reset_plugin(); class PluginInlineDisplay : public PluginDisplay { public: