diff options
author | Carl Hetherington <carl@carlh.net> | 2010-05-02 01:33:25 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-05-02 01:33:25 +0000 |
commit | 0d0e32d8b33e48951feab16d2ef202c14eb9f1f9 (patch) | |
tree | 158af161b2b188e9279d1285a38bd01c715226b1 /gtk2_ardour/panner2d.cc | |
parent | 13003cd9d9224c558d72403ad2c0eb0b5588cd93 (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.cc | 26 |
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()) { |