diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc index fd32214446..ee695afe64 100644 --- a/libs/ardour/delivery.cc +++ b/libs/ardour/delivery.cc @@ -381,7 +381,10 @@ Delivery::reset_panner () } _panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, ntargets)); + } + + } else { panner_legal_c.disconnect (); PannersLegal.connect_same_thread (panner_legal_c, boost::bind (&Delivery::panners_became_legal, this)); @@ -400,6 +403,11 @@ Delivery::panners_became_legal () } _panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, ntargets)); + + if (_role == Main) { + _panshell->pannable()->set_panner (_panshell->panner()); + } + panner_legal_c.disconnect (); return 0; } diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 016c72b8a7..b732fd09e8 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1602,13 +1602,6 @@ Route::configure_processors_unlocked (ProcessorStreams* err) _meter->reset_max_channels (processor_max_streams); } - /* if we haven't bound the main outs panner & our pannable together yet, do it now .. - */ - - if (_main_outs && !_pannable->panner()) { - _pannable->set_panner (_main_outs->panner_shell()->panner()); - } - /* make sure we have sufficient scratch buffers to cope with the new processor configuration */ _session.ensure_buffers (n_process_buffers ());