#include <gtkmm2ext/click_box.h>
#include <gtkmm2ext/slider_controller.h>
+#include "ardour/session_handle.h"
+
#include "enums.h"
class Panner2d;
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<ARDOUR::Panner>);
friend class MixerStrip;
boost::shared_ptr<ARDOUR::Panner> _panner;
- ARDOUR::Session& _session;
- std::vector<sigc::connection> connections;
+ PBD::ScopedConnectionList connections;
+ PBD::ScopedConnectionList _pan_control_connections;
bool ignore_toggle;
bool in_pan_update;
static const int pan_bar_height;
- Panner2d* panner;
+ Panner2d* twod_panner; ///< 2D panner, or 0
Panner2dWindow* big_window;
Gtk::VBox pan_bar_packer;
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);