merge with master, with minor conflict fixes
[ardour.git] / libs / ardour / delivery.cc
index b4b9831d97c82d6b35cf4b3487444a305e3edb10..8c12d44e5107518ec495ffe30d9b00b1ffdb4102 100644 (file)
@@ -368,7 +368,6 @@ Delivery::set_state (const XMLNode& node, int version)
        XMLNode* pannnode = node.child (X_("Pannable"));
        if (_panshell && _panshell->panner() && pannnode) {
                _panshell->pannable()->set_state (*pannnode, version);
-               _panshell->pannable()->set_panner(_panshell->panner());
        }
 
        return 0;
@@ -398,12 +397,8 @@ Delivery::reset_panner ()
        if (panners_legal) {
                if (!_no_panner_reset) {
 
-                       if (_panshell) {
+                       if (_panshell && _role != Insert && _role != Listen) {
                                _panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
-                               
-                               if (_role == Main || _role == Aux || _role == Send) {
-                                       _panshell->pannable()->set_panner (_panshell->panner());
-                               }
                        }
                }
 
@@ -416,12 +411,8 @@ Delivery::reset_panner ()
 void
 Delivery::panners_became_legal ()
 {
-       if (_panshell) {
+       if (_panshell && _role != Insert) {
                _panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
-               
-               if (_role == Main) {
-                       _panshell->pannable()->set_panner (_panshell->panner());
-               }
        }
 
        panner_legal_c.disconnect ();