summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolaus Gullotta <nikolaus.gullotta@gmail.com>2018-08-02 15:59:23 -0500
committerNikolaus Gullotta <nikolaus.gullotta@gmail.com>2018-08-02 15:59:47 -0500
commit857be477280d1dcbd972df136b4a6dc4a508dd17 (patch)
treec1823c2ce07a4245632ca36cd6092c7e25e33967
parentcf39ebc966c3518411bebe85e499237b0c750817 (diff)
protect the_instrument() on MIDI tracks, needs a lot more work.
-rw-r--r--scripts/mixer_settings_recall.lua10
1 files changed, 9 insertions, 1 deletions
diff --git a/scripts/mixer_settings_recall.lua b/scripts/mixer_settings_recall.lua
index 363c7bcf3b..d560a62b3f 100644
--- a/scripts/mixer_settings_recall.lua
+++ b/scripts/mixer_settings_recall.lua
@@ -180,7 +180,7 @@ function factory () return function ()
if rt_group then rt_group:add(rt) end
well_known = {'PRE', 'Trim', 'EQ', 'Comp', 'Fader', 'POST'}
-
+ protected_instrument = false
for k, v in pairs(order) do
local proc = Session:processor_by_id(PBD.ID(1))
if not(was_subbed) then
@@ -207,6 +207,14 @@ function factory () return function ()
end
::nextproc::
if proc and not(proc:isnil()) then old_order:push_back(proc) end
+ if not(old_order:empty()) and not(protected_instrument) then
+ if not(rt:to_track():to_midi_track():isnil()) then
+ if not(rt:the_instrument():isnil()) then
+ protected_instrument = true
+ old_order:push_back(rt:the_instrument())
+ end
+ end
+ end
end
rt:reorder_processors(old_order, nil)
if muted then rt:mute_control():set_value(1, 1) else rt:mute_control():set_value(0, 1) end