diff options
author | David Robillard <d@drobilla.net> | 2009-05-04 17:05:55 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-05-04 17:05:55 +0000 |
commit | 807bc4c3d6c619244ac01d6be8ad98109140e3e6 (patch) | |
tree | 14373b288fdeb828bd4cc204b6cc6815e77a5cce /gtk2_ardour/level_meter.h | |
parent | ca10cc82a4374a5b413c06ead6cc89c53f8881ee (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.h | 31 |
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; |