From: Nikolaus Gullotta Date: Thu, 2 Aug 2018 20:59:23 +0000 (-0500) Subject: protect the_instrument() on MIDI tracks, needs a lot more work. X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=857be477280d1dcbd972df136b4a6dc4a508dd17;p=ardour.git protect the_instrument() on MIDI tracks, needs a lot more work. --- 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