summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-10 23:01:44 +0200
committerRobin Gareus <robin@gareus.org>2016-04-10 23:01:44 +0200
commitc6d4fafcd95504da2b94f54f05561036e7806699 (patch)
treeb27550d7f2b4af1ee2056f51a7ea6863606a7177
parentc76ef648703128e0b1dbcbc0790daa25254a1ce4 (diff)
update lua related doc, add missing bindings
-rw-r--r--libs/ardour/ardour/lua_api.h13
-rw-r--r--libs/ardour/luabindings.cc10
-rw-r--r--libs/lua/LuaBridge/detail/Namespace.h1
3 files changed, 21 insertions, 3 deletions
diff --git a/libs/ardour/ardour/lua_api.h b/libs/ardour/ardour/lua_api.h
index 840c90081b..92e63d7692 100644
--- a/libs/ardour/ardour/lua_api.h
+++ b/libs/ardour/ardour/lua_api.h
@@ -94,11 +94,11 @@ namespace ARDOUR { namespace LuaAPI {
bool set_plugin_insert_param (boost::shared_ptr<ARDOUR::PluginInsert> pi, uint32_t which, float val);
/**
- * A convenience function to get a AutomationControList and ParamaterDescriptor
+ * A convenience function to get a Automation Lists and ParamaterDescriptor
* for a given plugin control.
*
* This is equivalent to the following lua code
- * <code>
+ * @code
* function (processor, param_id)
* local plugininsert = processor:to_insert ()
* local plugin = plugininsert:plugin(0)
@@ -108,7 +108,14 @@ namespace ARDOUR { namespace LuaAPI {
* local acl = ac:alist()
* return ac:alist(), ac:to_ctrl():list(), t[2]
* end
- * </code>
+ * @endcode
+ *
+ * Example usage: get 3rd input parameter of first plugin on the given route
+ * (Ardour starts counting at zero).
+ * @code
+ * local al, cl, pd = ARDOUR.LuaAPI.plugin_automation (route:nth_plugin (0), 3)
+ * @endcode
+ * @returns 3 parameters: AutomationList, ControlList, ParamaterDescriptor
*/
int plugin_automation (lua_State *lua);
} } /* namespace */
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc
index 21a8fdeed4..227c6ced9c 100644
--- a/libs/ardour/luabindings.cc
+++ b/libs/ardour/luabindings.cc
@@ -29,6 +29,7 @@
#include "ardour/audiosource.h"
#include "ardour/audio_backend.h"
#include "ardour/audio_buffer.h"
+#include "ardour/audio_port.h"
#include "ardour/audio_track.h"
#include "ardour/buffer_set.h"
#include "ardour/chan_mapping.h"
@@ -39,6 +40,7 @@
#include "ardour/luabindings.h"
#include "ardour/meter.h"
#include "ardour/midi_track.h"
+#include "ardour/midi_port.h"
#include "ardour/playlist.h"
#include "ardour/plugin.h"
#include "ardour/plugin_insert.h"
@@ -338,6 +340,14 @@ LuaBindings::common (lua_State* L)
.addFunction ("disconnect", (int (Port::*)(Port*))&Port::disconnect)
.endClass ()
+ .deriveWSPtrClass <AudioPort, Port> ("AudioPort")
+ .endClass ()
+
+ .deriveWSPtrClass <MidiPort, Port> ("MidiPort")
+ .addFunction ("input_active", &MidiPort::input_active)
+ .addFunction ("set_input_active", &MidiPort::set_input_active)
+ .endClass ()
+
.beginWSPtrClass <PortSet> ("PortSet")
.addFunction ("num_ports", (size_t (PortSet::*)(DataType)const)&PortSet::num_ports)
.addFunction ("add", &PortSet::add)
diff --git a/libs/lua/LuaBridge/detail/Namespace.h b/libs/lua/LuaBridge/detail/Namespace.h
index 820b2b8441..722d02e4a7 100644
--- a/libs/lua/LuaBridge/detail/Namespace.h
+++ b/libs/lua/LuaBridge/detail/Namespace.h
@@ -1589,6 +1589,7 @@ public:
*/
Namespace& addCFunction (char const* name, int (*const fp)(lua_State*))
{
+ DATADOC ("Free C Function", name, fp)
lua_pushcfunction (L, fp);
rawsetfield (L, -2, name);