Example convolution plugin (Lua script, hardcoded IR)
[ardour.git] / scripts / remove_unknown_procs.lua
index a1ff0541b94a52e3af3bc65e19f4dd42d23dc1b4..044e85b3b8af65348a24c626d8f6577b39fb4cc4 100644 (file)
@@ -1,16 +1,15 @@
 ardour { ["type"] = "EditorAction", name = "Remove Unknown Plugins",
        license     = "MIT",
-       author      = "Robin Gareus",
-       email       = "robin@gareus.org",
-       site        = "http://gareus.org",
+       author      = "Ardour Team",
        description = [[Remove all unknown plugins/processors from all tracks and busses]]
 }
 
 function factory (params) return function ()
-       -- iterate over all tracks and busses
+       -- iterate over all tracks and busses (aka routes)
        for route in Session:get_routes ():iter () do
                -- route is-a http://manual.ardour.org/lua-scripting/class_reference/#ARDOUR:Route
                local i = 0;
+               -- we need to iterate one-by one, removing a processor invalidates the list
                repeat
                        proc = route:nth_processor (i)
                        -- proc is a http://manual.ardour.org/lua-scripting/class_reference/#ARDOUR:Processor
@@ -23,3 +22,23 @@ function factory (params) return function ()
                until proc:isnil ()
        end
 end end
+
+
+function icon (params) return function (ctx, width, height, fg)
+       local txt = Cairo.PangoLayout (ctx, "ArdourMono ".. math.ceil (math.min (width, height) * .5) .. "px")
+       txt:set_text ("Fx")
+       local tw, th = txt:get_pixel_size ()
+       ctx:move_to (.5 * (width - tw), .5 * (height - th))
+       txt:layout_cairo_path (ctx)
+
+       ctx:set_source_rgba (ARDOUR.LuaAPI.color_to_rgba (fg))
+       ctx:set_line_width (3)
+       ctx:stroke_preserve ()
+
+       ctx:set_source_rgba (.8, .2, .2, 1)
+       ctx:set_line_width (2)
+       ctx:stroke_preserve ()
+
+       ctx:set_source_rgba (0, 0, 0, 1)
+       ctx:fill ()
+end end