tweak plugin-pin management dev script
authorRobin Gareus <robin@gareus.org>
Sat, 26 Mar 2016 13:56:25 +0000 (14:56 +0100)
committerRobin Gareus <robin@gareus.org>
Sat, 26 Mar 2016 13:56:25 +0000 (14:56 +0100)
scripts/s_chanmap.lua

index 82e9bb003910351d243865194de617f97648d341..fd5e006c8dafbe6488aa3c0ff230811aaf31ac4b 100644 (file)
@@ -1,11 +1,23 @@
-ardour { ["type"] = "Snippet", name = "plugin channel mapping" }
+ardour { ["type"] = "Snippet", name = "plugin channel-map dev" }
 
 function factory () return function ()
-       -- first track needs to be stereo and has a stereo plugin
+       -- first track needs to be stereo and have a stereo plugin
        -- (x42-eq with spectrum display, per channel processing,
-       --  and pre/post visualization is handy here)
+       --  and pre/post visualization is very handy here)
+
+       function checksetup (r)
+               -- fail if Route ID 1 is not present or not stereo
+               assert (r and not r:isnil())
+                assert (r:n_inputs():n_audio() == 2)
+               -- check first Plugin and make sure it is a "Plugin Insert"
+               if not r:nth_plugin(0):isnil() and not r:nth_plugin(0):to_insert():isnil() then return end
+               -- insert x42-eq at the top.
+               local proc = ARDOUR.LuaAPI.new_plugin(Session, "http://gareus.org/oss/lv2/fil4#stereo", ARDOUR.PluginType.LV2, "");
+               r:add_processor_by_index(proc, 0, nil, true)
+       end
 
        r = Session:route_by_remote_id(1)
+       checksetup (r)
        pi = r:nth_plugin(0):to_insert()
 
        pi:set_no_inplace (true)