diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index 05c2843630..16d7a19009 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -205,9 +205,9 @@ PannerUI::~PannerUI () delete pan_astyle_menu; delete pan_astate_menu; delete _stereo_panner; + delete _mono_panner; } - void PannerUI::panshell_changed () { @@ -279,23 +279,22 @@ PannerUI::setup_pan () } else if (nins == 1) { /* 1-in/2out */ - MonoPanner* mp; boost::shared_ptr pannable = _panner->pannable(); boost::shared_ptr ac = pannable->pan_azimuth_control; - mp = new MonoPanner (_panner); - - mp->StartGesture.connect (sigc::bind (sigc::mem_fun (*this, &PannerUI::start_touch), + _mono_panner = new MonoPanner (_panner); + + _mono_panner->StartGesture.connect (sigc::bind (sigc::mem_fun (*this, &PannerUI::start_touch), boost::weak_ptr (ac))); - mp->StopGesture.connect (sigc::bind (sigc::mem_fun (*this, &PannerUI::stop_touch), + _mono_panner->StopGesture.connect (sigc::bind (sigc::mem_fun (*this, &PannerUI::stop_touch), boost::weak_ptr(ac))); - mp->signal_button_release_event().connect (sigc::mem_fun(*this, &PannerUI::pan_button_event)); + _mono_panner->signal_button_release_event().connect (sigc::mem_fun(*this, &PannerUI::pan_button_event)); - mp->set_size_request (-1, pan_bar_height); + _mono_panner->set_size_request (-1, pan_bar_height); update_pan_sensitive (); - pan_vbox.pack_start (*mp, false, false); + pan_vbox.pack_start (*_mono_panner, false, false); } else { warning << string_compose (_("No panner user interface is currently available for %1-in/2out tracks/busses"), diff --git a/gtk2_ardour/panner_ui.h b/gtk2_ardour/panner_ui.h index fb31607316..0bb8401957 100644 --- a/gtk2_ardour/panner_ui.h +++ b/gtk2_ardour/panner_ui.h @@ -107,6 +107,8 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr Width _width; StereoPanner* _stereo_panner; + MonoPanner* _mono_panner; + bool _ignore_width_change; bool _ignore_position_change; void width_adjusted ();