summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/gain_meter.h')
-rw-r--r--gtk2_ardour/gain_meter.h23
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 *);