summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2017-01-31 10:35:37 -0600
committerBen Loftis <ben@harrisonconsoles.com>2017-01-31 10:35:37 -0600
commitbfebad3dce3c4aeb634a2979f0785b2713b093a7 (patch)
treecdf87320c0eb737ea792f75ad71c97ff8b30a93d /libs
parent0d7f88afbdb4477990706faa49a75e4dfb419b75 (diff)
Expose a new lua hook for resetting a plugin processor ( convenience func only: this avoids the necessity of an extra cast to PlugInsert )
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/lua_api.h9
-rw-r--r--libs/ardour/lua_api.cc11
-rw-r--r--libs/ardour/luabindings.cc1
3 files changed, 21 insertions, 0 deletions
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<Processor> 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<Processor> 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<Processor> proc, uint32_t
return get_plugin_insert_param (pi, which, ok);
}
+bool
+ARDOUR::LuaAPI::reset_processor_to_default ( boost::shared_ptr<Processor> proc )
+{
+ boost::shared_ptr<PluginInsert> pi = boost::dynamic_pointer_cast<PluginInsert> (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)