summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-01-27 23:00:17 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-01-27 23:00:17 +0000
commitb17dc03047f6edde97084d9a2ba4344dc0679c62 (patch)
tree2fc2815119f35f511cf93abd800c69f2236d7d1f /libs
parentd116af22db3c0e0cf6aeff6194a689d8bfad7c8c (diff)
"Listen" delivery processors (i.e. monitor out) never get their own panner; Route calls Pannable::set_panner() so that it is always the panner for the main outs that controls the Route's own Pannable
git-svn-id: svn://localhost/ardour2/branches/3.0@8591 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/delivery.cc8
-rw-r--r--libs/ardour/panner_shell.cc5
-rw-r--r--libs/ardour/route.cc7
3 files changed, 12 insertions, 8 deletions
diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc
index 5c535b8918..fd32214446 100644
--- a/libs/ardour/delivery.cc
+++ b/libs/ardour/delivery.cc
@@ -364,6 +364,11 @@ Delivery::set_state (const XMLNode& node, int version)
void
Delivery::reset_panner ()
{
+ if (_role == Listen) {
+ /* monitor out gets no panner */
+ return;
+ }
+
if (panners_legal) {
if (!no_panner_reset) {
@@ -395,9 +400,6 @@ Delivery::panners_became_legal ()
}
_panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, ntargets));
-#ifdef PANNER_HACKS
- _panner->load (); // automation
-#endif
panner_legal_c.disconnect ();
return 0;
}
diff --git a/libs/ardour/panner_shell.cc b/libs/ardour/panner_shell.cc
index 7963682bcf..ffe8e66ceb 100644
--- a/libs/ardour/panner_shell.cc
+++ b/libs/ardour/panner_shell.cc
@@ -104,11 +104,6 @@ PannerShell::configure_io (ChanCount in, ChanCount out)
_panner.reset (pi->descriptor.factory (_pannable, _session.get_speakers()));
_panner->configure_io (in, out);
- /* PANNER_HACKS: only the real owner should be able to claim the pannable
- */
-
- _pannable->set_panner (_panner);
-
Changed (); /* EMIT SIGNAL */
}
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index b732fd09e8..016c72b8a7 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -1602,6 +1602,13 @@ 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 ());