diff options
author | Nikolaus Gullotta <nikolaus.gullotta@gmail.com> | 2018-08-02 15:59:23 -0500 |
---|---|---|
committer | Nikolaus Gullotta <nikolaus.gullotta@gmail.com> | 2018-08-02 15:59:47 -0500 |
commit | 857be477280d1dcbd972df136b4a6dc4a508dd17 (patch) | |
tree | c1823c2ce07a4245632ca36cd6092c7e25e33967 | |
parent | cf39ebc966c3518411bebe85e499237b0c750817 (diff) |
protect the_instrument() on MIDI tracks, needs a lot more work.
-rw-r--r-- | scripts/mixer_settings_recall.lua | 10 |
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 |