fix issue with solo-in-place
[ardour.git] / gtk2_ardour / meter_strip.h
index 0ccf21d60cf9f9c14f660865fea13abfa0364453..0e7232537de172bb733a237d307787c2b9e95555 100644 (file)
@@ -43,13 +43,18 @@ namespace Gtk {
        class Style;
 }
 
-class MeterStrip : public Gtk::VBox, public RouteUI
+class MeterStrip : public Gtk::VBox, public AxisView, public RouteUI
 {
   public:
        MeterStrip (ARDOUR::Session*, boost::shared_ptr<ARDOUR::Route>);
        MeterStrip (int, ARDOUR::MeterType);
        ~MeterStrip ();
 
+       std::string name() const;
+       Gdk::Color color () const;
+
+       boost::shared_ptr<ARDOUR::Stripable> stripable() const { return RouteUI::stripable(); }
+
        void set_session (ARDOUR::Session* s);
        void fast_update ();
        boost::shared_ptr<ARDOUR::Route> route() { return _route; }
@@ -72,6 +77,8 @@ class MeterStrip : public Gtk::VBox, public RouteUI
        bool is_metric_display() { return _strip_type == 0; }
        ARDOUR::MeterType meter_type();
 
+       bool selected() const { return false; }
+
   protected:
        boost::shared_ptr<ARDOUR::Route> _route;
        PBD::ScopedConnectionList meter_route_connections;
@@ -88,7 +95,7 @@ class MeterStrip : public Gtk::VBox, public RouteUI
        void on_size_request (Gtk::Requisition*);
 
        /* route UI */
-       void update_rec_display ();
+       void blink_rec_display (bool onoff);
        std::string state_id() const;
        void set_button_names ();
 
@@ -130,7 +137,7 @@ class MeterStrip : public Gtk::VBox, public RouteUI
 
        LevelMeterHBox *level_meter;
 
-       void strip_property_changed (const PBD::PropertyChange&);
+       void route_property_changed (const PBD::PropertyChange&);
        void meter_configuration_changed (ARDOUR::ChanCount);
        void meter_type_changed (ARDOUR::MeterType);
        void update_background (ARDOUR::MeterType);
@@ -143,8 +150,10 @@ class MeterStrip : public Gtk::VBox, public RouteUI
        void update_name_box ();
        void name_changed ();
 
+       void route_color_changed ();
+
        bool _suspend_menu_callbacks;
-       bool level_meter_button_release (GdkEventButton* ev);
+       bool level_meter_button_press (GdkEventButton* ev);
        void popup_level_meter_menu (GdkEventButton* ev);
        void add_level_meter_type_item (Gtk::Menu_Helpers::MenuList&, Gtk::RadioMenuItem::Group&, std::string const &, ARDOUR::MeterType);