diff options
author | Robin Gareus <robin@gareus.org> | 2020-02-23 20:48:02 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-02-23 20:48:02 +0100 |
commit | 180843f9bd28b191c7404245ba0a121107992511 (patch) | |
tree | c60312dc09f76c2f55ba2383245c427e15c38dea /share/scripts/__plugin_modulation.lua | |
parent | bf649cd68ad46c34a656700aa6cb89416d648c64 (diff) |
Also move Lua scripts to share subfolder
Diffstat (limited to 'share/scripts/__plugin_modulation.lua')
-rw-r--r-- | share/scripts/__plugin_modulation.lua | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/share/scripts/__plugin_modulation.lua b/share/scripts/__plugin_modulation.lua new file mode 100644 index 0000000000..bb94b64a00 --- /dev/null +++ b/share/scripts/__plugin_modulation.lua @@ -0,0 +1,46 @@ +--- session-script example to modulate plugin parameter(s) globally +-- +-- Ardour > Menu > Session > Scripting > Add Lua Script +-- "Add" , select "Modulate Plugin Parameter", click "Add" + OK. +-- +----------------------------------------------------------------------------- +-- This script currently assumes you have a track named "Audio" +-- which as a plugin at the top, where the first parameter has a range > 200 +-- e.g. "No Delay Line" +-- +-- edit below.. + + +-- plugin descriptor +ardour { + ["type"] = "session", + name = "Modulate Plugin Parameter", + license = "MIT", + author = "Ardour Lua Task Force", + description = [[An example session to modulate a plugin parameter.]] +} + +function factory () -- generate a new script instance + + local count = 0 -- script-instance "global" variable + + -- the "run" function called at the beginning of every process cycle + return function (n_samples) + count = (count + 1) % 200; -- count process cycles + local tri = math.abs (100 - count) -- triangle wave 0..100 + + -- get the track named "Audio" + -- see also http://manual.ardour.org/lua-scripting/class_reference/#ARDOUR:Session + -- and http://manual.ardour.org/lua-scripting/class_reference/#ARDOUR:Route + local route = Session:route_by_name ("Audio") + assert (not route:isnil ()) -- make sure it exists + + -- the 1st plugin (from top) on that track, ardour starts counting at zero + -- see also http://manual.ardour.org/lua-scripting/class_reference/#ARDOUR:Processor + local plugin = route:nth_plugin (0) + assert (not plugin:isnil ()) -- make sure it exists + + -- modulate the plugin's first parameter (0) from 200 .. 300 + ARDOUR.LuaAPI.set_processor_param (plugin, 0, 200.0 + tri) + end +end |