Tidy up PluginInsert's handling of how it chooses to map plugin IO to that of the...
[ardour.git] / libs / ardour / delivery.cc
index 967e01187e762a3e5c8a87ea2f92bcee243fac57..1566f7877d5b16be588f5f56683adc1089c28cb8 100644 (file)
@@ -375,22 +375,24 @@ Delivery::unpan ()
        _panshell.reset ();
 }
 
+uint32_t
+Delivery::pan_outs () const
+{
+       if (_output) {
+               return _output->n_ports().n_audio();
+       } 
+
+       return _configured_output.n_audio();
+}
+
 void
 Delivery::reset_panner ()
 {
        if (panners_legal) {
                if (!no_panner_reset) {
 
-                       uint32_t ntargets;
-
-                       if (_output) {
-                               ntargets = _output->n_ports().n_audio();
-                       } else {
-                               ntargets = _configured_output.n_audio();
-                       }
-
                        if (_panshell) {
-                               _panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, ntargets));
+                               _panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
                                
                                if (_role == Main) {
                                        _panshell->pannable()->set_panner (_panshell->panner());
@@ -407,16 +409,8 @@ Delivery::reset_panner ()
 int
 Delivery::panners_became_legal ()
 {
-       uint32_t ntargets;
-
-       if (_output) {
-               ntargets = _output->n_ports().n_audio();
-       } else {
-               ntargets = _configured_output.n_audio();
-       }
-
        if (_panshell) {
-               _panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, ntargets));
+               _panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
                
                if (_role == Main) {
                        _panshell->pannable()->set_panner (_panshell->panner());