diff options
Diffstat (limited to 'share/scripts/_session_test.lua')
-rw-r--r-- | share/scripts/_session_test.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/share/scripts/_session_test.lua b/share/scripts/_session_test.lua new file mode 100644 index 0000000000..f6adea38c7 --- /dev/null +++ b/share/scripts/_session_test.lua @@ -0,0 +1,34 @@ +ardour { + ["type"] = "session", + name = "Good Night", + author = "Ardour Lua Task Force", + description = [[ + Example Ardour Session Script. + Session scripts are called at the beginning of every process-callback (before doing any audio processing). + This example stops the transport after rolling for a configurable time which can be set when instantiating the script.]] +} + +function sess_params () + return + { + ["print"] = { title = "Debug Print (yes/no)", default = "no", optional = true }, + ["time"] = { title = "Timeout (sec)", default = "90", optional = false }, + } +end + +function factory (params) + return function (n_samples) + local p = params["print"] or "no" + local timeout = params["time"] or 90 + a = a or 0 + if p ~= "no" then print (a, n_samples, Session:sample_rate (), Session:transport_rolling ()) end -- debug output (not rt safe) + if (not Session:transport_rolling()) then + a = 0 + return + end + a = a + n_samples + if (a > timeout * Session:sample_rate()) then + Session:request_transport_speed(0.0, true, ARDOUR.TransportRequestSource.TRS_Engine) + end + end +end |