summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorJesse Chappell <jesse@essej.net>2007-01-03 20:49:03 +0000
committerJesse Chappell <jesse@essej.net>2007-01-03 20:49:03 +0000
commit239a5db49701e977db96854cdcef96646b4d8c4f (patch)
treeb669fa074f81966f4bc3d36276d2436d345ba98e /gtk2_ardour
parentebbc8b3b6a6d77f705698aff36455c61ee07bb66 (diff)
* added max peak hold state to IO so that the true held peaks can be displayed
in the numeric field in the gui. * returned meter falloff to proper slower speeds git-svn-id: svn://localhost/ardour2/trunk@1265 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_ui_options.cc4
-rw-r--r--gtk2_ardour/gain_meter.cc17
2 files changed, 13 insertions, 8 deletions
diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc
index b69a24e95b..d0f523481f 100644
--- a/gtk2_ardour/ardour_ui_options.cc
+++ b/gtk2_ardour/ardour_ui_options.cc
@@ -587,10 +587,8 @@ ARDOUR_UI::map_meter_falloff ()
{
const char* action = X_("MeterFalloffMedium");
- /* XXX hack alert. Fix this. Please */
-
float val = Config->get_meter_falloff ();
- MeterFalloff code = (MeterFalloff) (int) (floor (val));
+ MeterFalloff code = meter_falloff_from_float(val);
switch (code) {
case MeterFalloffOff:
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index 9c222b62c8..06b1195a18 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -312,7 +312,7 @@ GainMeter::update_meters ()
{
vector<MeterInfo>::iterator i;
uint32_t n;
- float peak;
+ float peak, mpeak;
char buf[32];
for (n = 0, i = meters.begin(); i != meters.end(); ++i, ++n) {
@@ -320,9 +320,11 @@ GainMeter::update_meters ()
peak = _io->peak_input_power (n);
(*i).meter->set (log_meter (peak), peak);
-
- if (peak > max_peak) {
- max_peak = peak;
+
+ mpeak = _io->max_peak_power(n);
+
+ if (mpeak > max_peak) {
+ max_peak = mpeak;
/* set peak display */
if (max_peak <= -200.0f) {
peak_display.set_text (_("-inf"));
@@ -478,7 +480,12 @@ GainMeter::peak_button_release (GdkEventButton* ev)
void
GainMeter::reset_peak_display ()
{
- max_peak = minus_infinity();
+ Route * r;
+ if ((r = dynamic_cast<Route*> (_io.get())) != 0) {
+ r->reset_max_peak_meters();
+ }
+
+ max_peak = -INFINITY;
peak_display.set_text (_("-Inf"));
peak_display.set_name ("MixerStripPeakDisplay");
}