mark the step entry dialog as a dialog even though it is an ArdourWindow, to help...
[ardour.git] / gtk2_ardour / level_meter.h
index 4b2a0cdbc95948a2dc2ba1faa491038a2786cfb9..0e51758858e33fa897fe8e9e30521952b4cc313d 100644 (file)
@@ -31,6 +31,7 @@
 #include <gtkmm/drawingarea.h>
 
 #include "ardour/types.h"
+#include "ardour/chan_count.h"
 #include "ardour/session_handle.h"
 
 #include <gtkmm2ext/click_box.h>
@@ -66,21 +67,24 @@ class LevelMeter : public Gtk::HBox, public ARDOUR::SessionHandlePtr
        void hide_meters ();
        void setup_meters (int len=0, int width=3);
 
+       /** Emitted in the GUI thread when a button is pressed over the meter */
+       PBD::Signal1<bool, GdkEventButton *> ButtonPress;
+
   private:
        ARDOUR::PeakMeter* _meter;
-       
+
        Width _width;
 
        struct MeterInfo {
            Gtkmm2ext::FastMeter *meter;
            gint16                width;
-               int                               length;
+            int                          length;
            bool                  packed;
 
            MeterInfo() {
                    meter = 0;
                    width = 0;
-                       length = 0;
+                    length = 0;
                    packed = false;
            }
        };
@@ -95,7 +99,8 @@ class LevelMeter : public Gtk::HBox, public ARDOUR::SessionHandlePtr
        PBD::ScopedConnection _parameter_connection;
 
        void hide_all_meters ();
-       gint meter_button_release (GdkEventButton*, uint32_t);
+       bool meter_button_press (GdkEventButton *);
+       bool meter_button_release (GdkEventButton *);
 
        void parameter_changed (std::string);
        void configuration_changed (ARDOUR::ChanCount in, ARDOUR::ChanCount out);