summaryrefslogtreecommitdiff
path: root/gtk2_ardour/panner2d.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-01-27 01:31:03 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-01-27 01:31:03 +0000
commit15b5fce90480490455237da917167b0bcb5ce946 (patch)
tree5c1c5929a83c05db1a901e775fefe4f6cf8dc1b7 /gtk2_ardour/panner2d.cc
parent1385643131a2b2231bbbc0c584c76883fcfb580a (diff)
merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/panner2d.cc')
-rw-r--r--gtk2_ardour/panner2d.cc20
1 files changed, 14 insertions, 6 deletions
diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc
index 0700685056..1d98ca0093 100644
--- a/gtk2_ardour/panner2d.cc
+++ b/gtk2_ardour/panner2d.cc
@@ -78,7 +78,7 @@ Panner2d::~Panner2d()
void
Panner2d::reset (uint32_t n_inputs)
{
- Targets::size_type existing_pucks = pucks.size();
+ uint32_t nouts = panner->out().n_audio();
/* pucks */
@@ -120,36 +120,40 @@ Panner2d::reset (uint32_t n_inputs)
break;
}
+#ifdef PANNER_HACKS
for (uint32_t i = existing_pucks; i < n_inputs; ++i) {
pucks[i]->position = panner->streampanner (i).get_position ();
pucks[i]->visible = true;
}
+#endif
/* add all outputs */
- while (targets.size() < panner->nouts()) {
+ while (targets.size() < nouts) {
add_target (AngularVector());
}
- if (targets.size() > panner->nouts()) {
- for (uint32_t i = panner->nouts(); i < targets.size(); ++i) {
+ if (targets.size() > nouts) {
+ for (uint32_t i = nouts; i < targets.size(); ++i) {
delete targets[i];
}
- targets.resize (panner->nouts ());
+ targets.resize (nouts);
}
for (Targets::iterator x = targets.begin(); x != targets.end(); ++x) {
(*x)->visible = false;
}
- for (uint32_t n = 0; n < panner->nouts(); ++n) {
+ for (uint32_t n = 0; n < nouts; ++n) {
char buf[16];
snprintf (buf, sizeof (buf), "%d", n+1);
targets[n]->set_text (buf);
+#ifdef PANNER_HACKS
targets[n]->position = panner->output(n).position;
targets[n]->visible = true;
+#endif
}
queue_draw ();
@@ -201,6 +205,7 @@ Panner2d::handle_state_change ()
void
Panner2d::handle_position_change ()
{
+#ifdef PANNER_HACKS
uint32_t n;
ENSURE_GUI_THREAD (*this, &Panner2d::handle_position_change)
@@ -213,6 +218,7 @@ Panner2d::handle_position_change ()
}
queue_draw ();
+#endif
}
void
@@ -528,7 +534,9 @@ Panner2d::handle_motion (gint evx, gint evy, GdkModifierType state)
cp.angular (drag_target->position); /* sets drag target position */
+#ifdef PANNER_HACKS
panner->streampanner (drag_index).set_position (drag_target->position);
+#endif
queue_draw ();
}