diff options
author | Robin Gareus <robin@gareus.org> | 2016-10-06 17:50:57 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-10-06 17:50:57 +0200 |
commit | c2c50625396cad59e70afa819aacea52c668e84d (patch) | |
tree | dfbe0644513cbe6cc6e7c7f84d0c0881743719eb /scripts | |
parent | 5915f8dac0e5e8a8d30e05998339695e0ea003a9 (diff) |
Add Lua snippet to list and describe Vamp Plugins
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/s_vamp_plugin_index.lua | 41 |
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 + |