summaryrefslogtreecommitdiff
path: root/gtk2_ardour/level_meter.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-05-04 17:05:55 +0000
committerDavid Robillard <d@drobilla.net>2009-05-04 17:05:55 +0000
commit807bc4c3d6c619244ac01d6be8ad98109140e3e6 (patch)
tree14373b288fdeb828bd4cc204b6cc6815e77a5cce /gtk2_ardour/level_meter.h
parentca10cc82a4374a5b413c06ead6cc89c53f8881ee (diff)
Reconfigure GUI meters when route I/O configuration changes.
git-svn-id: svn://localhost/ardour2/branches/3.0@5037 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/level_meter.h')
-rw-r--r--gtk2_ardour/level_meter.h31
1 files changed, 15 insertions, 16 deletions
diff --git a/gtk2_ardour/level_meter.h b/gtk2_ardour/level_meter.h
index ee2f03e3df..ac91cdfbd0 100644
--- a/gtk2_ardour/level_meter.h
+++ b/gtk2_ardour/level_meter.h
@@ -39,14 +39,11 @@
#include "enums.h"
namespace ARDOUR {
- class IO;
class Session;
- class Route;
- class RouteGroup;
+ class PeakMeter;
}
namespace Gtkmm2ext {
class FastMeter;
- class BarController;
}
namespace Gtk {
class Menu;
@@ -58,7 +55,7 @@ class LevelMeter : public Gtk::HBox
LevelMeter (ARDOUR::Session&);
~LevelMeter ();
- virtual void set_io (boost::shared_ptr<ARDOUR::IO> io);
+ virtual void set_meter (ARDOUR::PeakMeter& meter);
void update_gain_sensitive ();
@@ -69,18 +66,16 @@ class LevelMeter : public Gtk::HBox
void setup_meters (int len=0, int width=3);
private:
-
- //friend class MixerStrip;
- boost::shared_ptr<ARDOUR::IO> _io;
- ARDOUR::Session& _session;
+ ARDOUR::Session& _session;
+ ARDOUR::PeakMeter* _meter;
Width _width;
struct MeterInfo {
Gtkmm2ext::FastMeter *meter;
- gint16 width;
- int length;
- bool packed;
+ gint16 width;
+ int length;
+ bool packed;
MeterInfo() {
meter = 0;
@@ -90,15 +85,19 @@ class LevelMeter : public Gtk::HBox
}
};
- guint16 regular_meter_width;
- static const guint16 thin_meter_width = 2;
- std::vector<MeterInfo> meters;
- float max_peak;
+ guint16 regular_meter_width;
+ int meter_length;
+ static const guint16 thin_meter_width = 2;
+ std::vector<MeterInfo> meters;
+ float max_peak;
+
+ sigc::connection _configuration_connection;
void hide_all_meters ();
gint meter_button_release (GdkEventButton*, uint32_t);
void parameter_changed (const char*);
+ void configuration_changed (ARDOUR::ChanCount in, ARDOUR::ChanCount out);
void on_theme_changed ();
bool style_changed;