diff options
author | Robin Gareus <robin@gareus.org> | 2014-01-11 23:29:36 +0100 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-13 09:37:35 -0500 |
commit | 60fe9606f404cc723c0aa33110f0e15c5324a97d (patch) | |
tree | d30765f9931e6365039606ae5351b2d6efcd967e /gtk2_ardour | |
parent | 1bf9c4c990ccc7f308a38a2eba91fbdb4bb93292 (diff) |
VBAP GUI depends on signal-position (not parameter changes)
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/panner2d.cc | 5 | ||||
-rw-r--r-- | gtk2_ardour/panner2d.h | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc index 395cd2f5dd..b822b5c381 100644 --- a/gtk2_ardour/panner2d.cc +++ b/gtk2_ardour/panner2d.cc @@ -77,8 +77,7 @@ Panner2d::Panner2d (boost::shared_ptr<PannerShell> p, int32_t h) { panner_shell->Changed.connect (connections, invalidator (*this), boost::bind (&Panner2d::handle_state_change, this), gui_context()); - panner_shell->pannable()->pan_azimuth_control->Changed.connect (connections, invalidator(*this), boost::bind (&Panner2d::handle_position_change, this), gui_context()); - panner_shell->pannable()->pan_width_control->Changed.connect (connections, invalidator(*this), boost::bind (&Panner2d::handle_position_change, this), gui_context()); + panner_shell->panner()->SignalPositionChanged.connect (panconnect, invalidator(*this), boost::bind (&Panner2d::handle_position_change, this), gui_context()); drag_target = 0; set_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::POINTER_MOTION_MASK); @@ -199,6 +198,8 @@ Panner2d::add_speaker (const AngularVector& a) void Panner2d::handle_state_change () { + panconnect.drop_connections(); + panner_shell->panner()->SignalPositionChanged.connect (panconnect, invalidator(*this), boost::bind (&Panner2d::handle_position_change, this), gui_context()); queue_draw (); } diff --git a/gtk2_ardour/panner2d.h b/gtk2_ardour/panner2d.h index 881638856f..474d7e1b10 100644 --- a/gtk2_ardour/panner2d.h +++ b/gtk2_ardour/panner2d.h @@ -136,6 +136,7 @@ class Panner2d : public Gtk::DrawingArea void label_signals (); PBD::ScopedConnectionList connections; + PBD::ScopedConnectionList panconnect; /* cartesian coordinates in GTK units ; adjust to same but on a circle of radius 1.0 and centered in the middle of our area |