From bfebad3dce3c4aeb634a2979f0785b2713b093a7 Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Tue, 31 Jan 2017 10:35:37 -0600 Subject: Expose a new lua hook for resetting a plugin processor ( convenience func only: this avoids the necessity of an extra cast to PlugInsert ) --- libs/ardour/ardour/lua_api.h | 9 +++++++++ libs/ardour/lua_api.cc | 11 +++++++++++ libs/ardour/luabindings.cc | 1 + 3 files changed, 21 insertions(+) (limited to 'libs') diff --git a/libs/ardour/ardour/lua_api.h b/libs/ardour/ardour/lua_api.h index f56a640ca1..c5ce0986ce 100644 --- a/libs/ardour/ardour/lua_api.h +++ b/libs/ardour/ardour/lua_api.h @@ -99,6 +99,15 @@ namespace ARDOUR { namespace LuaAPI { */ float get_processor_param (boost::shared_ptr proc, uint32_t which, bool &ok); + /** reset a processor to its default values (only works for plugins ) + * + * This is a wrapper which looks up the Processor by plugin-insert. + * + * @param proc Plugin-Insert + * @returns true on success, false when the processor is not a plugin + */ + bool reset_processor_to_default (boost::shared_ptr proc); + /** set a plugin control-input parameter value * * This is a wrapper around set_processor_param which looks up the Processor by plugin-insert. diff --git a/libs/ardour/lua_api.cc b/libs/ardour/lua_api.cc index 5af9a6c960..080ba12841 100644 --- a/libs/ardour/lua_api.cc +++ b/libs/ardour/lua_api.cc @@ -207,6 +207,17 @@ ARDOUR::LuaAPI::get_processor_param (boost::shared_ptr proc, uint32_t return get_plugin_insert_param (pi, which, ok); } +bool +ARDOUR::LuaAPI::reset_processor_to_default ( boost::shared_ptr proc ) +{ + boost::shared_ptr pi = boost::dynamic_pointer_cast (proc); + if (pi) { + pi->reset_parameters_to_default(); + return true; + } + return false; +} + int ARDOUR::LuaAPI::plugin_automation (lua_State *L) { diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index 822cab4a55..bab4c06ffd 100644 --- a/libs/ardour/luabindings.cc +++ b/libs/ardour/luabindings.cc @@ -1888,6 +1888,7 @@ LuaBindings::common (lua_State* L) .addFunction ("new_plugin", ARDOUR::LuaAPI::new_plugin) .addFunction ("set_processor_param", ARDOUR::LuaAPI::set_processor_param) .addFunction ("set_plugin_insert_param", ARDOUR::LuaAPI::set_plugin_insert_param) + .addFunction ("reset_processor_to_default", ARDOUR::LuaAPI::reset_processor_to_default) .addRefFunction ("get_processor_param", ARDOUR::LuaAPI::get_processor_param) .addRefFunction ("get_plugin_insert_param", ARDOUR::LuaAPI::get_plugin_insert_param) .addCFunction ("plugin_automation", ARDOUR::LuaAPI::plugin_automation) -- cgit v1.2.3