Make authoring consistent
[ardour.git] / scripts / mixer_settings_recall.lua
index 1fcfd7ae45190f36e5c057d9cb28614bc0054efb..d560a62b3fe21d58b7abc0ab65915280cd3008b0 100644 (file)
@@ -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
@@ -379,7 +387,7 @@ function factory () return function ()
                                recall_options[2]['path'] = global_default_path
                                local rv = LuaDialog.Dialog("Recall Mixer Settings:", recall_options):run()
                                if not(rv) then return end
-                               local dry_return = LuaDialog.Dialog("Mixer Store:", dry_run(false, rv['file'])):run()
+                               local dry_return = LuaDialog.Dialog("Recall Mixer Settings:", dry_run(false, rv['file'])):run()
                                if dry_return then
                                        recall(false, rv['file'], dry_return)
                                else
@@ -400,7 +408,7 @@ function factory () return function ()
                                recall_options[2]['path'] = local_default_path
                                local rv = LuaDialog.Dialog("Recall Mixer Settings:", recall_options):run()
                                if not(rv) then return end
-                               local dry_return = LuaDialog.Dialog("Mixer Store:", dry_run(false, rv['file'])):run()
+                               local dry_return = LuaDialog.Dialog("Recall Mixer Settings:", dry_run(false, rv['file'])):run()
                                if dry_return then
                                        recall(true, rv['file'], dry_return)
                                else