13
0
livetrax/scripts/_plot_graph.lua

25 lines
844 B
Lua

ardour {
["type"] = "EditorAction",
name = "Plot Process Graph",
author = "Ardour Team",
description = [[Export process graph to a graphviz file, and launch xdot]]
}
function factory () return function ()
if Session:plot_process_graph ("/tmp/ardour_graph.gv") then
os.forkexec ("/bin/sh", "-c", "xdot /tmp/ardour_graph.gv")
end
end end
function icon (params) return function (ctx, width, height, fg)
ctx:set_source_rgba (ARDOUR.LuaAPI.color_to_rgba (fg))
local txt = Cairo.PangoLayout (ctx, "Sans ".. math.ceil(math.min (width, height) * .33) .. "px")
txt:set_alignment (Cairo.Alignment.Center);
txt:set_width (width);
txt:set_ellipsize (Cairo.EllipsizeMode.Middle);
txt:set_text ("plot\ngraph")
local tw, th = txt:get_pixel_size ()
ctx:move_to (.5 * (width - tw), .5 * (height - th))
txt:show_in_cairo_context (ctx)
end end