X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpanner_ui.h;h=e8a9eac414ef115f2bc0403c46840ecb224034d4;hb=4336bb25d739cd007811ccd0298a15acc5e20787;hp=1c4b0cd192df506400cd9a0b1cc6e0047ef6a942;hpb=aed349f45b98158e2fca25051c56252afbf1b407;p=ardour.git diff --git a/gtk2_ardour/panner_ui.h b/gtk2_ardour/panner_ui.h index 1c4b0cd192..e8a9eac414 100644 --- a/gtk2_ardour/panner_ui.h +++ b/gtk2_ardour/panner_ui.h @@ -40,12 +40,15 @@ class Panner2d; class PannerBar; class Panner2dWindow; +class StereoPanner; namespace ARDOUR { class Session; class Panner; class Delivery; + class AutomationControl; } + namespace Gtkmm2ext { class FastMeter; } @@ -63,7 +66,7 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr virtual void set_panner (boost::shared_ptr); - void pan_changed (void *); + void panner_changed (void *); void update_pan_sensitive (); void update_gain_sensitive (); @@ -77,12 +80,16 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr boost::shared_ptr get_controllable(); void set_mono (bool); + void on_size_allocate (Gtk::Allocation &); + + static void setup_slider_pix (); private: friend class MixerStrip; boost::shared_ptr _panner; PBD::ScopedConnectionList connections; + PBD::ScopedConnectionList _pan_control_connections; bool ignore_toggle; bool in_pan_update; @@ -103,8 +110,17 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr Gtk::EventBox panning_down; Gtk::Arrow panning_down_arrow; Gtk::VBox pan_vbox; + Gtk::VBox poswidth_box; Width _width; + StereoPanner* _stereo_panner; + bool _ignore_width_change; + bool _ignore_position_change; + void width_adjusted (); + void show_width (); + void position_adjusted (); + void show_position (); + Gtk::ToggleButton panning_link_button; Gtk::Button panning_link_direction_button; Gtk::HBox panning_link_box; @@ -131,8 +147,6 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr void build_astate_menu (); void build_astyle_menu (); - void panner_changed (); - void hide_pans (); void panner_moved (int which); @@ -166,6 +180,13 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr std::string astyle_string (ARDOUR::AutoStyle); std::string short_astyle_string (ARDOUR::AutoStyle); std::string _astyle_string (ARDOUR::AutoStyle, bool); + + void start_touch (boost::weak_ptr); + void stop_touch (boost::weak_ptr); + + void bar_spinner_activate (bool); + /** true if any of our PannerBars are currently using a SpinButton to modify value */ + bool _bar_spinner_active; }; #endif /* __ardour_gtk_panner_ui_h__ */