summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.h
diff options
context:
space:
mode:
authorDoug McLain <doug@nostar.net>2008-03-21 07:08:05 +0000
committerDoug McLain <doug@nostar.net>2008-03-21 07:08:05 +0000
commit525f02ca7553de76c527fae4910569a1ed4a86cf (patch)
tree107646c810354720e364ecd157fa91f478e0b91a /gtk2_ardour/gain_meter.h
parentcaaa0470deae42e128f37c67f388d0e4d694439b (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.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 *);