add/update lua scripts
authorRobin Gareus <robin@gareus.org>
Wed, 23 Mar 2016 22:45:39 +0000 (23:45 +0100)
committerRobin Gareus <robin@gareus.org>
Wed, 23 Mar 2016 22:45:39 +0000 (23:45 +0100)
doc/lua_scratch.lua [deleted file]
scripts/addscopes.lua
scripts/s_pluginutils.lua [new file with mode: 0644]
scripts/s_replaceplugin.lua [new file with mode: 0644]

diff --git a/doc/lua_scratch.lua b/doc/lua_scratch.lua
deleted file mode 100644 (file)
index 25c5101..0000000
+++ /dev/null
@@ -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)
index b71d703e9b7314867290423ae039e2a37ad312f5..8ac1519ee41ab6076ed9b1e215526afd07708578 100644 (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
diff --git a/scripts/s_pluginutils.lua b/scripts/s_pluginutils.lua
new file mode 100644 (file)
index 0000000..0ecf107
--- /dev/null
@@ -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
diff --git a/scripts/s_replaceplugin.lua b/scripts/s_replaceplugin.lua
new file mode 100644 (file)
index 0000000..6ec8276
--- /dev/null
@@ -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