X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpanner_ui.h;h=4ed8767fb1258f30e7ba964b059a9461eb8d1c62;hb=fddb3778120e25b3b8e8134084e260dac07c1365;hp=bebffec6c00d532501d1d7b80a2b43e0bb2ddff4;hpb=7b94110c545415af8437fc6631e7663ebb5c28f3;p=ardour.git diff --git a/gtk2_ardour/panner_ui.h b/gtk2_ardour/panner_ui.h index bebffec6c0..4ed8767fb1 100644 --- a/gtk2_ardour/panner_ui.h +++ b/gtk2_ardour/panner_ui.h @@ -33,6 +33,8 @@ #include #include +#include "ardour/session_handle.h" + #include "enums.h" class Panner2d; @@ -53,10 +55,10 @@ namespace Gtk { class Menuitem; } -class PannerUI : public Gtk::HBox +class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr { public: - PannerUI (ARDOUR::Session&); + PannerUI (ARDOUR::Session*); ~PannerUI (); virtual void set_panner (boost::shared_ptr); @@ -80,8 +82,8 @@ class PannerUI : public Gtk::HBox friend class MixerStrip; boost::shared_ptr _panner; - ARDOUR::Session& _session; - std::vector connections; + PBD::ScopedConnectionList connections; + PBD::ScopedConnectionList _pan_control_connections; bool ignore_toggle; bool in_pan_update; @@ -90,7 +92,7 @@ class PannerUI : public Gtk::HBox static const int pan_bar_height; - Panner2d* panner; + Panner2d* twod_panner; ///< 2D panner, or 0 Panner2dWindow* big_window; Gtk::VBox pan_bar_packer; @@ -142,6 +144,8 @@ class PannerUI : public Gtk::HBox bool pan_button_event (GdkEventButton*, uint32_t which); + void connect_to_pan_control (uint32_t); + Gtk::Menu* pan_menu; Gtk::CheckMenuItem* bypass_menu_item; void build_pan_menu (uint32_t which);