Merge branch 'master' into cairocanvas
[ardour.git] / gtk2_ardour / level_meter.h
index 0a59f1a337b2ab4485d87931c28cd91411164f41..a355d7d28540fedc065e19afc74bc97b2e25173d 100644 (file)
@@ -49,12 +49,12 @@ namespace Gtk {
        class Menu;
 }
 
-class LevelMeterBase : public sigc::trackable, public ARDOUR::SessionHandlePtr
+class LevelMeterBase : public ARDOUR::SessionHandlePtr
 {
   public:
-       LevelMeterBase (ARDOUR::Session*,
+       LevelMeterBase (ARDOUR::Session*, PBD::EventLoop::InvalidationRecord* ir,
                        Gtkmm2ext::FastMeter::Orientation o = Gtkmm2ext::FastMeter::Vertical);
-       ~LevelMeterBase ();
+       virtual ~LevelMeterBase ();
 
        virtual void set_meter (ARDOUR::PeakMeter* meter);
 
@@ -71,6 +71,7 @@ class LevelMeterBase : public sigc::trackable, public ARDOUR::SessionHandlePtr
 
        /** Emitted in the GUI thread when a button is pressed over the meter */
        PBD::Signal1<bool, GdkEventButton *> ButtonPress;
+       PBD::Signal1<bool, GdkEventButton *> ButtonRelease;
        PBD::Signal1<void, ARDOUR::MeterType> MeterTypeChanged;
 
        protected:
@@ -78,6 +79,7 @@ class LevelMeterBase : public sigc::trackable, public ARDOUR::SessionHandlePtr
        virtual void mtr_remove(Gtk::Widget &w) = 0;
 
   private:
+       PBD::EventLoop::InvalidationRecord* parent_invalidator;
        ARDOUR::PeakMeter* _meter;
        Gtkmm2ext::FastMeter::Orientation _meter_orientation;