summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-10-06 17:50:57 +0200
committerRobin Gareus <robin@gareus.org>2016-10-06 17:50:57 +0200
commitc2c50625396cad59e70afa819aacea52c668e84d (patch)
treedfbe0644513cbe6cc6e7c7f84d0c0881743719eb /scripts
parent5915f8dac0e5e8a8d30e05998339695e0ea003a9 (diff)
Add Lua snippet to list and describe Vamp Plugins
Diffstat (limited to 'scripts')
-rw-r--r--scripts/s_vamp_plugin_index.lua41
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/s_vamp_plugin_index.lua b/scripts/s_vamp_plugin_index.lua
new file mode 100644
index 0000000000..3c2965cd7e
--- /dev/null
+++ b/scripts/s_vamp_plugin_index.lua
@@ -0,0 +1,41 @@
+ardour { ["type"] = "Snippet", name = "Vamp Plugin List" }
+function factory () return function ()
+
+ local plugins = ARDOUR.LuaAPI.Vamp.list_plugins ();
+ for id in plugins:iter () do
+ local vamp = ARDOUR.LuaAPI.Vamp(id, Session:nominal_frame_rate())
+ local vp = vamp:plugin ()
+ print (" --- VAMP Plugin ---")
+ print ("Id:", vp:getIdentifier ())
+ print ("Name:", vp:getName ())
+ print ("Description:", vp:getDescription ())
+
+ local progs = vp:getPrograms();
+ if not progs:empty () then
+ print ("Preset(s):")
+ for p in progs:iter () do
+ print (" *", p)
+ end
+ end
+
+ local params = vp:getParameterDescriptors ()
+ if not params:empty () then
+ print ("Parameters(s):")
+ for p in params:iter () do
+ -- http://manual.ardour.org/lua-scripting/class_reference/#Vamp:PluginBase:ParameterDescriptor
+ print (" * Id:", p.identifier, "Name:", p.name, "Desc:", p.description)
+ end
+ end
+
+ local feats = vp:getOutputDescriptors ()
+ if not feats:empty () then
+ print ("Output(s):")
+ for p in feats:iter () do
+ -- http://manual.ardour.org/lua-scripting/class_reference/#Vamp:Plugin:OutputDescriptor
+ print (" * Id:", p.identifier, "Name:", p.name, "Desc:", p.description)
+ end
+ end
+
+ end
+end end
+