diff options
author | Doug McLain <doug@nostar.net> | 2008-03-21 07:08:05 +0000 |
---|---|---|
committer | Doug McLain <doug@nostar.net> | 2008-03-21 07:08:05 +0000 |
commit | 525f02ca7553de76c527fae4910569a1ed4a86cf (patch) | |
tree | 107646c810354720e364ecd157fa91f478e0b91a /gtk2_ardour/gain_meter.h | |
parent | caaa0470deae42e128f37c67f388d0e4d694439b (diff) |
Undo 3160 for now. The canvas stops updating when the mixer is open (but only on one of 3 machines) so I obviously broke something
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3161 d708f5d6-7413-0410-9779-e7cbd77b26cf
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 *); |