don't add a [shared] panner for the sends to monitoing section
authorRobin Gareus <robin@gareus.org>
Fri, 7 Feb 2014 18:30:43 +0000 (19:30 +0100)
committerRobin Gareus <robin@gareus.org>
Fri, 7 Feb 2014 18:30:43 +0000 (19:30 +0100)
fixes issue with 'stuck' mono panners (when using a stereo
monitoring section and auto-connect): the send to monitor
section is added after the main panner. At this point the
channel-count is different, but the send shared panner() with
the main route.

Here: mono-panner on track, stereo-panner; and they shared control
settings. since stereo-panner's width is 1, the position cannot be
changed.

libs/ardour/delivery.cc
libs/ardour/internal_send.cc

index 4a392a8145ba85947bdadac633a8b2604d356987..8c12d44e5107518ec495ffe30d9b00b1ffdb4102 100644 (file)
@@ -397,7 +397,7 @@ Delivery::reset_panner ()
        if (panners_legal) {
                if (!_no_panner_reset) {
 
-                       if (_panshell && _role != Insert) {
+                       if (_panshell && _role != Insert && _role != Listen) {
                                _panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
                        }
                }
index 1d4e18d06efbefd676114175ff56fc1c5628b7ab..17a3ca1f421b47dc0acbdd2d866f5286e5739048 100644 (file)
@@ -129,7 +129,7 @@ InternalSend::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame
        // we have to copy the input, because we may alter the buffers with the amp
        // in-place, which a send must never do.
 
-       if (_panshell && !_panshell->bypassed()) {
+       if (_panshell && !_panshell->bypassed() && role() != Listen) {
                _panshell->run (bufs, mixbufs, start_frame, end_frame, nframes);
        } else {
                if (role() == Listen) {