diff options
Diffstat (limited to 'share/scripts/s_chanmap.lua')
-rw-r--r-- | share/scripts/s_chanmap.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/share/scripts/s_chanmap.lua b/share/scripts/s_chanmap.lua new file mode 100644 index 0000000000..7bc070c8cc --- /dev/null +++ b/share/scripts/s_chanmap.lua @@ -0,0 +1,34 @@ +ardour { ["type"] = "Snippet", name = "plugin channel-map dev" } + +function factory () return function () + -- first track needs to be stereo and have a stereo plugin + -- (x42-eq with spectrum display, per channel processing, + -- 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:get_remote_nth_route(1) + checksetup (r) + pi = r:nth_plugin(0):to_insert() + + pi:set_no_inplace (true) + + cm = ARDOUR.ChanMapping() + --cm:set(ARDOUR.DataType("Audio"), 0, 0) + cm:set(ARDOUR.DataType("Audio"), 1, 0) + pi:set_input_map (0, cm) + + cm = ARDOUR.ChanMapping() + --cm:set(ARDOUR.DataType("Audio"), 0, 0) + cm:set(ARDOUR.DataType("Audio"), 1, 0) + pi:set_output_map (0, cm) +end end |