add more lua examples/doc
This commit is contained in:
parent
dffdee85a0
commit
88caab41b2
42
doc/lua_scratch.lua
Normal file
42
doc/lua_scratch.lua
Normal file
@ -0,0 +1,42 @@
|
||||
-------------------------------------------------------------------------------
|
||||
-- collection of snippets for testing and upcoming doc
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- replace a plugin
|
||||
route = Session:route_by_remote_id(1)
|
||||
old = route:nth_plugin(0)
|
||||
new = ARDOUR.LuaAPI.new_plugin(Session, "http://gareus.org/oss/lv2/fil4#stereo", ARDOUR.PluginType.LV2, "");
|
||||
route:replace_processor (old, new, nil)
|
||||
old = nil new = nil -- explicitly drop references (unless they're local vars)
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- add a LuaProcessor (here "Scope") to all tracks
|
||||
for t in Session:get_tracks():iter() do
|
||||
local pos = 0 -- insert at the top
|
||||
local proc = ARDOUR.LuaAPI.new_luaproc(Session, "Inline Scope");
|
||||
t:add_processor_by_index(proc, pos, nil, true)
|
||||
-- optionally set some parameters
|
||||
ARDOUR.LuaAPI.set_processor_param (proc, 0, 5) -- timescale 5sec
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- add a Plugin (here LV2) to all mono tracks that contain the pattern "dru"
|
||||
-- and load a plugin-preset (if it exists)
|
||||
for r in Session:get_routes():iter() do
|
||||
if (string.match (r:name(), "dru") and r:n_inputs():n_audio() == 1) then
|
||||
local proc = ARDOUR.LuaAPI.new_plugin(Session, "http://gareus.org/oss/lv2/fil4#mono", ARDOUR.PluginType.LV2, "cutbass");
|
||||
r:add_processor_by_index(proc, 0, nil, true)
|
||||
end
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- load a plugin preset
|
||||
route = Session:route_by_remote_id(2)
|
||||
-- to 4th plugin (from top), ardour starts counting at zero
|
||||
plugin = route:nth_plugin(3):to_insert():plugin(0)
|
||||
ps = plugin:preset_by_label("cutbass") -- get preset by name
|
||||
print (ps.uri)
|
||||
plugin:load_preset (ps)
|
@ -47,7 +47,10 @@ function factory (params)
|
||||
local a = ARDOUR.LuaAPI.new_luaproc(Session, "Inline Scope");
|
||||
if (not a:isnil()) then
|
||||
t:add_processor_by_index(a, pos, nil, true)
|
||||
a = nil
|
||||
ARDOUR.LuaAPI.set_processor_param (a, 0, 5) -- timescale 5sec
|
||||
-- ARDOUR.LuaAPI.set_processor_param (a, 1, 1) -- logscale on
|
||||
-- ARDOUR.LuaAPI.set_processor_param (a, 2, 3) -- "Max" height
|
||||
a = nil -- explicitly drop shared-ptr reference
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user