summaryrefslogtreecommitdiff
path: root/gtk2_ardour/panner2d.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-05-02 01:33:25 +0000
committerCarl Hetherington <carl@carlh.net>2010-05-02 01:33:25 +0000
commit0d0e32d8b33e48951feab16d2ef202c14eb9f1f9 (patch)
tree158af161b2b188e9279d1285a38bd01c715226b1 /gtk2_ardour/panner2d.cc
parent13003cd9d9224c558d72403ad2c0eb0b5588cd93 (diff)
Various fixes to multiple-2D panner signal handling. Should fix some or all of #1632.
git-svn-id: svn://localhost/ardour2/branches/3.0@7037 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/panner2d.cc')
-rw-r--r--gtk2_ardour/panner2d.cc26
1 files changed, 8 insertions, 18 deletions
diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc
index e5ea0f6758..6b6aed80d9 100644
--- a/gtk2_ardour/panner2d.cc
+++ b/gtk2_ardour/panner2d.cc
@@ -111,20 +111,11 @@ Panner2d::reset (uint32_t n_inputs)
case 1:
pucks[0]->set_text ("");
- pucks[0]->x.set_value (0.0);
- pucks[0]->y.set_value (0.5);
- pucks[0]->visible = true;
break;
case 2:
pucks[0]->set_text ("R");
- pucks[0]->visible = true;
pucks[1]->set_text ("L");
- if (existing_pucks < 2) {
- pucks[1]->x.set_value (0.25f);
- pucks[1]->y.set_value (0.5f);
- }
- pucks[1]->visible = true;
break;
default:
@@ -132,19 +123,18 @@ Panner2d::reset (uint32_t n_inputs)
char buf[64];
snprintf (buf, sizeof (buf), "%" PRIu32, i);
pucks[i]->set_text (buf);
-
- if (existing_pucks < i) {
- float x, y;
- panner->streampanner (i).get_position (x, y);
- pucks[i]->x.set_value (x);
- pucks[i]->y.set_value (y);
- }
-
- pucks[i]->visible = true;
}
break;
}
+ for (uint32_t i = existing_pucks; i < n_inputs; ++i) {
+ float x, y;
+ panner->streampanner (i).get_position (x, y);
+ pucks[i]->x.set_value (x);
+ pucks[i]->y.set_value (y);
+ pucks[i]->visible = true;
+ }
+
/* add all outputs */
while (targets.size() < panner->nouts()) {