From 857be477280d1dcbd972df136b4a6dc4a508dd17 Mon Sep 17 00:00:00 2001 From: Nikolaus Gullotta Date: Thu, 2 Aug 2018 15:59:23 -0500 Subject: [PATCH] protect the_instrument() on MIDI tracks, needs a lot more work. --- scripts/mixer_settings_recall.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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 -- 2.30.2