5 author = "Robin Gareus",
6 email = "robin@gareus.org",
7 site = "http://gareus.org",
9 An Example Ardour Session Process Plugin.
10 Install a 'hook' that is called on every process cycle
11 (before doing any processing).
12 This example stops the transport after rolling for a specific time.]]
15 function sess_params ()
18 ["print"] = { title = "Debug Print (yes/no)", default = "no", optional = true },
19 ["time"] = { title = "Timeout (sec)", default = "90", optional = false },
23 function factory (params)
24 return function (n_samples)
25 local p = params["print"] or "no"
26 local timeout = params["time"] or 90
28 if p ~= "no" then print (a, n_samples, Session:frame_rate (), Session:transport_rolling ()) end -- debug output (not rt safe)
29 if (not Session:transport_rolling()) then
34 if (a > timeout * Session:frame_rate()) then
35 Session:request_transport_speed(0.0, true)