add/update lua scripts

This commit is contained in:
Robin Gareus 2016-03-23 23:45:39 +01:00
parent dafdf87b79
commit 9ed7793326
4 changed files with 50 additions and 44 deletions

View File

@ -1,42 +0,0 @@
-------------------------------------------------------------------------------
-- 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)

View File

@ -20,8 +20,9 @@ end
function factory (params)
return function ()
-- get configuration
local uniq = params["unique"] or "yes"
local pos = params["position"] or 0
local p = params or {}
local uniq = p["unique"] or "yes"
local pos = p["position"] or 0
-- loop over all tracks
for t in Session:get_tracks():iter() do

36
scripts/s_pluginutils.lua Normal file
View File

@ -0,0 +1,36 @@
ardour { ["type"] = "Snippet", name = "Plugin Utils" }
function factory () return function ()
-------------------------------------------------------------------------------
-- 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)
-------------------------------------------------------------------------------
-- 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
end end

View File

@ -0,0 +1,11 @@
ardour { ["type"] = "Snippet", name = "Replace Plugin" }
function factory () return function ()
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)
end end