From 24ed994d02ef076b4667b7d6fa2782944289d59b Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Fri, 16 Dec 2022 15:36:27 -0600 Subject: [PATCH] redirect box: add a Reset action to the Presets submenu --- gtk2_ardour/processor_box.cc | 11 +++++++++++ gtk2_ardour/processor_box.h | 1 + 2 files changed, 12 insertions(+) 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: