From c2c50625396cad59e70afa819aacea52c668e84d Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 6 Oct 2016 17:50:57 +0200 Subject: Add Lua snippet to list and describe Vamp Plugins --- scripts/s_vamp_plugin_index.lua | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 scripts/s_vamp_plugin_index.lua (limited to 'scripts') 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 + -- cgit v1.2.3