refine video-tools installer:
[ardour.git] / gtk2_ardour / panner_ui.h
index 3d714d92531d0b1bf62222019b9a10d827d0c630..de93d49956f0aee7785e591f6ddab43c51e5f453 100644 (file)
@@ -37,7 +37,6 @@
 #include "enums.h"
 
 class Panner2d;
-class PannerBar;
 class Panner2dWindow;
 class StereoPanner;
 class MonoPanner;
@@ -45,6 +44,7 @@ class MonoPanner;
 namespace ARDOUR {
        class Session;
        class Panner;
+       class PannerShell;
        class Delivery;
         class AutomationControl;
 }
@@ -64,9 +64,9 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
        PannerUI (ARDOUR::Session*);
        ~PannerUI ();
 
-       virtual void set_panner (boost::shared_ptr<ARDOUR::Panner>);
+       virtual void set_panner (boost::shared_ptr<ARDOUR::PannerShell>, boost::shared_ptr<ARDOUR::Panner>);
 
-       void panner_changed (void *);
+       void panshell_changed ();
 
        void update_pan_sensitive ();
        void update_gain_sensitive ();
@@ -77,15 +77,15 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
        void effective_pan_display ();
 
        void set_meter_strip_name (std::string name);
-       boost::shared_ptr<PBD::Controllable> get_controllable();
 
        void on_size_allocate (Gtk::Allocation &);
-        
+
        static void setup_slider_pix ();
 
   private:
        friend class MixerStrip;
 
+       boost::shared_ptr<ARDOUR::PannerShell> _panshell;
        boost::shared_ptr<ARDOUR::Panner> _panner;
        PBD::ScopedConnectionList connections;
        PBD::ScopedConnectionList _pan_control_connections;
@@ -106,6 +106,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 ();
@@ -119,10 +121,7 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
        Gtk::Button pan_automation_style_button;
        Gtk::ToggleButton pan_automation_state_button;
 
-       std::vector<MonoPanner*> pan_bars;
-
        void pan_value_changed (uint32_t which);
-       void update_pan_state ();
        void build_astate_menu ();
        void build_astyle_menu ();
 
@@ -141,6 +140,7 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
        void build_pan_menu ();
        void pan_reset ();
        void pan_bypass_toggle ();
+       void pan_edit ();
 
        void pan_automation_state_changed();
        void pan_automation_style_changed();