X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmeter_strip.h;h=d6515e0be5e8a9efdd0e504b39f4f6bb4471efc0;hb=95e163a466c1c48ae6695663772f9eca94de722a;hp=0d9dcaa0aa7e67270c4c8fffec6e6d0c64edc222;hpb=9bab5c919babe2d842bb5f997d55524bd0235e17;p=ardour.git diff --git a/gtk2_ardour/meter_strip.h b/gtk2_ardour/meter_strip.h index 0d9dcaa0aa..d6515e0be5 100644 --- a/gtk2_ardour/meter_strip.h +++ b/gtk2_ardour/meter_strip.h @@ -29,6 +29,7 @@ #include "ardour/types.h" #include "ardour/ardour.h" #include "route_ui.h" +#include "ardour_button.h" #include "level_meter.h" @@ -41,12 +42,11 @@ namespace Gtk { class Style; } -class Meterbridge; - class MeterStrip : public Gtk::VBox, public RouteUI { public: - MeterStrip (Meterbridge&, ARDOUR::Session*, boost::shared_ptr); + MeterStrip (ARDOUR::Session*, boost::shared_ptr); + MeterStrip (int); ~MeterStrip (); void fast_update (); @@ -75,11 +75,12 @@ class MeterStrip : public Gtk::VBox, public RouteUI static cairo_pattern_t* render_ticks (Gtk::Widget &, std::vector); void on_theme_changed (); - bool style_changed; void on_size_allocate (Gtk::Allocation&); void on_size_request (Gtk::Requisition*); + bool peak_button_release (GdkEventButton*); + /* route UI */ void update_rec_display (); std::string state_id() const; @@ -91,11 +92,21 @@ class MeterStrip : public Gtk::VBox, public RouteUI Gtk::DrawingArea meter_metric_area; Gtk::DrawingArea meter_ticks1_area; Gtk::DrawingArea meter_ticks2_area; + + Gtk::Alignment meter_align; + Gtk::HBox peakbx; + Gtk::HBox btnbox; + ArdourButton peak_display; + std::vector _types; + float max_peak; LevelMeter *level_meter; void meter_changed (); + void reset_peak_display (); + void reset_group_peak_display (ARDOUR::RouteGroup*); + PBD::ScopedConnection _config_connection; void strip_property_changed (const PBD::PropertyChange&); void meter_configuration_changed (ARDOUR::ChanCount);