diff options
author | Thomas Brand <tom@trellis.ch> | 2016-09-16 22:09:05 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-09-16 22:09:05 +0200 |
commit | faf44386460b6cdda0aa249eb138e8fd82700194 (patch) | |
tree | e0277496a2f17336a30083f12918d35be2710f9a /libs/ardour/ardour/lua_api.h | |
parent | 8e36e9bf053eb6b880a3ab6c8039d2158cd3ca7a (diff) |
Add convenience Lua bindings to access plugin controls
Diffstat (limited to 'libs/ardour/ardour/lua_api.h')
-rw-r--r-- | libs/ardour/ardour/lua_api.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/libs/ardour/ardour/lua_api.h b/libs/ardour/ardour/lua_api.h index f737eddc4b..ffffaea1b4 100644 --- a/libs/ardour/ardour/lua_api.h +++ b/libs/ardour/ardour/lua_api.h @@ -74,6 +74,42 @@ namespace ARDOUR { namespace LuaAPI { */ boost::shared_ptr<ARDOUR::Processor> new_plugin (ARDOUR::Session *s, const std::string& id, ARDOUR::PluginType type, const std::string& preset = ""); + /** set a plugin control-input parameter value by name + * + * @param proc Plugin-Processor + * @param name name of control-input to set + * @param value value to set + * @returns true on success, false on error or out-of-bounds value + */ + bool set_plugin_input_parameter_value_named(boost::shared_ptr<Processor> proc, const std::string& name, float val); + + /** get a plugin control parameter value by name + * + * @param proc Plugin-Processor + * @param name name of control port to query + * @param ok boolean variable contains true or false after call returned. to be checked by caller before using value. + * @returns value + */ + float get_plugin_parameter_value_named(boost::shared_ptr<Processor> proc, int type, const std::string& name, bool &ok); + + /** get a plugin control-input parameter value by name + * + * @param proc Plugin-Processor + * @param name name of control-input port to query + * @param ok boolean variable contains true or false after call returned. to be checked by caller before using value. + * @returns value + */ + float get_plugin_input_parameter_value_named(boost::shared_ptr<Processor> proc, const std::string& name, bool &ok); + + /** get a plugin control-output parameter value by name + * + * @param proc Plugin-Processor + * @param name name of control-output port to query + * @param ok boolean variable contains true or false after call returned. to be checked by caller before using value. + * @returns value + */ + float get_plugin_output_parameter_value_named(boost::shared_ptr<Processor> proc, const std::string& name, bool &ok); + /** set a plugin control-input parameter value * * @param proc Plugin-Processor @@ -82,6 +118,16 @@ namespace ARDOUR { namespace LuaAPI { * @returns true on success, false on error or out-of-bounds value */ bool set_processor_param (boost::shared_ptr<ARDOUR::Processor> proc, uint32_t which, float val); + + /** get a plugin control parameter value + * + * @param proc Plugin-Processor + * @param which control port to set (starting at 0, including ports of type input and output)) + * @param ok boolean variable contains true or false after call returned. to be checked by caller before using value. + * @returns value + */ + float get_processor_param (boost::shared_ptr<Processor> proc, uint32_t which, bool &ok); + /** set a plugin control-input parameter value * * This is a wrapper around set_processor_param which looks up the Processor by plugin-insert. @@ -93,6 +139,15 @@ namespace ARDOUR { namespace LuaAPI { */ bool set_plugin_insert_param (boost::shared_ptr<ARDOUR::PluginInsert> pi, uint32_t which, float val); + /** get a plugin control parameter value + * + * @param proc Plugin-Insert + * @param which control port to query (starting at 0, including ports of type input and output) + * @param ok boolean variable contains true or false after call returned. to be checked by caller before using value. + * @returns value + */ + float get_plugin_insert_param (boost::shared_ptr<ARDOUR::PluginInsert> pi, uint32_t which, bool &ok); + /** * A convenience function to get a Automation Lists and ParamaterDescriptor * for a given plugin control. |