summaryrefslogtreecommitdiff
path: root/libs/ardour/panner_shell.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-02-17 16:43:55 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-02-17 16:43:55 +0000
commitda144ab5edb5bb629a8300c2cbf93c7f87947a83 (patch)
treedbb556f06c4667a820655895d704d60c98e690b4 /libs/ardour/panner_shell.cc
parent97e2aedc2d8f9ba8b6100e9ddafa08fc9762c8f7 (diff)
more progress on speakers/vbap etc. etc (still a work in progress)
git-svn-id: svn://localhost/ardour2/branches/3.0@8887 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/panner_shell.cc')
-rw-r--r--libs/ardour/panner_shell.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/libs/ardour/panner_shell.cc b/libs/ardour/panner_shell.cc
index ecf7adf990..d67925ed5c 100644
--- a/libs/ardour/panner_shell.cc
+++ b/libs/ardour/panner_shell.cc
@@ -104,7 +104,18 @@ PannerShell::configure_io (ChanCount in, ChanCount out)
abort ();
}
- Panner* p = pi->descriptor.factory (_pannable, _session.get_speakers());
+ boost::shared_ptr<Speakers> speakers = _session.get_speakers ();
+
+ if (nouts != speakers->size()) {
+ /* hmm, output count doesn't match session speaker count so
+ create a new speaker set.
+ */
+ Speakers* s = new Speakers ();
+ s->setup_default_speakers (nouts);
+ speakers.reset (s);
+ }
+
+ Panner* p = pi->descriptor.factory (_pannable, speakers);
boost_debug_shared_ptr_mark_interesting (p, "Panner");
_panner.reset (p);
_panner->configure_io (in, out);