summaryrefslogtreecommitdiff
path: root/gtk2_ardour/level_meter.cc
diff options
context:
space:
mode:
authorDoug McLain <doug@nostar.net>2008-03-20 14:27:23 +0000
committerDoug McLain <doug@nostar.net>2008-03-20 14:27:23 +0000
commitcaaa0470deae42e128f37c67f388d0e4d694439b (patch)
treedfe95c672cb904a6f243bc316092f39fc7775c05 /gtk2_ardour/level_meter.cc
parent422c2d18c379bb27412cd740c9a8eadc9387f1a0 (diff)
build the meters in GainMeter from the LevelMeters class instead of doing it all over again
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3160 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/level_meter.cc')
-rw-r--r--gtk2_ardour/level_meter.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index 6ef920235d..166e1877b9 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -66,6 +66,7 @@ LevelMeter::LevelMeter (boost::shared_ptr<IO> io, Session& s)
Config->ParameterChanged.connect (mem_fun (*this, &LevelMeter::parameter_changed));
UI::instance()->theme_changed.connect (mem_fun(*this, &LevelMeter::on_theme_changed));
ColorsChanged.connect (mem_fun (*this, &LevelMeter::color_handler));
+ max_peak = minus_infinity();
}
void
@@ -83,7 +84,7 @@ LevelMeter::~LevelMeter ()
}
}
-void
+float
LevelMeter::update_meters ()
{
vector<MeterInfo>::iterator i;
@@ -95,8 +96,12 @@ LevelMeter::update_meters ()
peak = _io->peak_input_power (n);
(*i).meter->set (log_meter (peak));
mpeak = _io->max_peak_power(n);
+ if (mpeak > max_peak) {
+ max_peak = mpeak;
+ }
}
}
+ return max_peak;
}
void
@@ -133,8 +138,9 @@ LevelMeter::hide_all_meters ()
}
void
-LevelMeter::setup_meters (int len)
+LevelMeter::setup_meters (int len, int initial_width)
{
+ regular_meter_width = initial_width;
uint32_t nmeters = _io->n_outputs();
guint16 width;