From 61ae00ed237adb043821622171f6b09f23f1c82d Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 15 Feb 2017 18:12:51 +0100 Subject: Example lua script to re-order/reverse plugins --- scripts/s_plugin_reorder.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 scripts/s_plugin_reorder.lua (limited to 'scripts/s_plugin_reorder.lua') diff --git a/scripts/s_plugin_reorder.lua b/scripts/s_plugin_reorder.lua new file mode 100644 index 0000000000..11fb0e056a --- /dev/null +++ b/scripts/s_plugin_reorder.lua @@ -0,0 +1,23 @@ +ardour { ["type"] = "Snippet", name = "Plugin Order Reverse" } + +function factory () return function () + local sel = Editor:get_selection () + -- for each selected track/bus + for r in sel.tracks:routelist ():iter () do + print ("Route:", r:name ()) + local neworder = ARDOUR.ProcessorList(); -- create a PluginList + local i = 0; + repeat -- iterate over all plugins/processors + local proc = r:nth_processor (i) + if not proc:isnil () then + -- append plugin to list + neworder:push_back(proc) + end + i = i + 1 + until proc:isnil () + -- reverse list + neworder:reverse() + -- and set new order + r:reorder_processors (neworder, nil) + end +end end -- cgit v1.2.3