Script to list and count plugins used in this session

This commit is contained in:
Robin Gareus 2019-02-20 16:47:51 +01:00
parent 69322ccd1b
commit dd2ee68e21
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -1,9 +1,11 @@
ardour { ["type"] = "Snippet", name = "Dump Plugins", ardour { ["type"] = "EditorAction", name = "Dump Plugins",
license = "MIT", license = "MIT",
author = "Ardour Team", author = "Ardour Team",
description = [[List and count plugins used in this session]]
} }
function factory () return function () function factory () return function ()
local rv = "Plugins used in this session:\n | TYPE | NAME (ID)"
local all_plugs = {} local all_plugs = {}
for r in Session:get_routes ():iter () do for r in Session:get_routes ():iter () do
@ -36,9 +38,13 @@ function factory () return function ()
for k,v in pairs (all_plugs) do for k,v in pairs (all_plugs) do
print (string.format ("%2d * %-6s %-30s (%s)", v['cnt'], plugintypestr(v['type']), v['name'], v['id'])) print (string.format ("%2d * %-6s %-30s (%s)", v['cnt'], plugintypestr(v['type']), v['name'], v['id']))
rv = rv .. "\n" .. string.format ("%2d * %-6s %-30s (%s)", v['cnt'], plugintypestr(v['type']), v['name'], v['id'])
end end
LuaDialog.Message ("All Plugins", rv, LuaDialog.MessageType.Info, LuaDialog.ButtonType.Close):run()
all_plugs = nil all_plugs = nil
rv = ""
collectgarbage (); collectgarbage ();
end end end end