diff options
Diffstat (limited to 'gtk2_ardour/gain_meter.h')
-rw-r--r-- | gtk2_ardour/gain_meter.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h index 4aa2a679aa..ba6984088d 100644 --- a/gtk2_ardour/gain_meter.h +++ b/gtk2_ardour/gain_meter.h @@ -38,7 +38,6 @@ #include <gtkmm2ext/slider_controller.h> #include "enums.h" -#include "level_meter.h" namespace ARDOUR { class IO; @@ -63,6 +62,7 @@ class GainMeter : public Gtk::VBox void update_gain_sensitive (); void update_meters (); + void update_meters_falloff (); void effective_gain_display (); @@ -74,6 +74,8 @@ class GainMeter : public Gtk::VBox void set_meter_strip_name (const char * name); void set_fader_name (const char * name); + void clear_meters (); + private: friend class MixerStrip; @@ -90,7 +92,6 @@ class GainMeter : public Gtk::VBox Gtk::HBox gain_display_box; Gtk::HBox fader_box; Gtk::DrawingArea meter_metric_area; - LevelMeter *level_meter; sigc::connection gain_watching; @@ -127,10 +128,28 @@ class GainMeter : public Gtk::VBox void gain_activated (); bool gain_focused (GdkEventFocus*); + struct MeterInfo { + Gtkmm2ext::FastMeter *meter; + gint16 width; + int length; + bool packed; + + MeterInfo() { + meter = 0; + width = 0; + length = 0; + packed = false; + } + }; + + guint16 regular_meter_width; + static const guint16 thin_meter_width = 2; + vector<MeterInfo> meters; float max_peak; Gtk::VBox* fader_vbox; Gtk::HBox hbox; + Gtk::HBox meter_packer; void gain_adjusted (); void gain_changed (void *); |