summaryrefslogtreecommitdiff
path: root/libs/ardour/panner.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-12-12 14:43:24 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-12-12 14:43:24 +0000
commitbc89fe0147c04b67141936d109c00dfd4d69cc4b (patch)
tree544ff450c40fe1f43853a8420228a26f27f1eafb /libs/ardour/panner.cc
parent30daaebaa2d90d6b0e8673143ccc3cacd7bd1753 (diff)
most of the 2.X->3.0 commit (up to rev 4299) except for gtk2_ardour/editor_canvas.cc; builds and runs and does a few specific things but expect it to be buggy for a while yet
git-svn-id: svn://localhost/ardour2/branches/3.0@4313 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/panner.cc')
-rw-r--r--libs/ardour/panner.cc15
1 files changed, 12 insertions, 3 deletions
diff --git a/libs/ardour/panner.cc b/libs/ardour/panner.cc
index fe0a792b6b..04c744b880 100644
--- a/libs/ardour/panner.cc
+++ b/libs/ardour/panner.cc
@@ -749,10 +749,14 @@ Panner::reset (uint32_t nouts, uint32_t npans)
{
uint32_t n;
bool changed = false;
+ bool do_not_and_did_not_need_panning = ((nouts < 2) && (outputs.size() < 2));
- //configure_io( ChanCount( DataType::AUDIO, nout ), ChanCount( DataType::AUDIO, nin ) )
-
- if (nouts < 2 || (nouts == outputs.size() && npans == _streampanners.size())) {
+ /* if new and old config don't need panning, or if
+ the config hasn't changed, we're done.
+ */
+
+ if (do_not_and_did_not_need_panning ||
+ ((nouts == outputs.size()) && (npans == _streampanners.size()))) {
return;
}
@@ -770,6 +774,10 @@ Panner::reset (uint32_t nouts, uint32_t npans)
changed = true;
}
+ if (nouts < 2) {
+ goto send_changed;
+ }
+
switch (nouts) {
case 0:
break;
@@ -871,6 +879,7 @@ Panner::reset (uint32_t nouts, uint32_t npans)
}
}
+ send_changed:
if (changed) {
Changed (); /* EMIT SIGNAL */
}