summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-07 02:52:37 +0200
committerRobin Gareus <robin@gareus.org>2013-07-10 15:27:12 +0200
commit0710171d901d4eb8373eff289e8e70fe1a675c98 (patch)
tree6282caf09c2370ec3ac282d58cc9a9d262504117
parentbc1a0937104cc2596640d93c95f6fabb3dd5be35 (diff)
don't reset meter background/highlight on click.
-rw-r--r--gtk2_ardour/level_meter.cc7
-rw-r--r--gtk2_ardour/level_meter.h2
-rw-r--r--libs/gtkmm2ext/fastmeter.cc2
3 files changed, 5 insertions, 6 deletions
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index cc45e45f70..36a469f35c 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -298,19 +298,20 @@ bool
LevelMeter::meter_button_release (GdkEventButton* ev)
{
if (ev->button == 1) {
- clear_meters ();
+ clear_meters (false);
}
return true;
}
-void LevelMeter::clear_meters ()
+void LevelMeter::clear_meters (bool reset_highlight)
{
for (vector<MeterInfo>::iterator i = meters.begin(); i < meters.end(); i++) {
(*i).meter->clear();
(*i).max_peak = minus_infinity();
- (*i).meter->set_highlight(false);
+ if (reset_highlight)
+ (*i).meter->set_highlight(false);
}
max_peak = minus_infinity();
}
diff --git a/gtk2_ardour/level_meter.h b/gtk2_ardour/level_meter.h
index 0fa8388428..0da8ed2a8b 100644
--- a/gtk2_ardour/level_meter.h
+++ b/gtk2_ardour/level_meter.h
@@ -63,7 +63,7 @@ class LevelMeter : public Gtk::HBox, public ARDOUR::SessionHandlePtr
float update_meters ();
void update_meters_falloff ();
- void clear_meters ();
+ void clear_meters (bool reset_highlight = true);
void hide_meters ();
void setup_meters (int len=0, int width=3, int thin=2);
diff --git a/libs/gtkmm2ext/fastmeter.cc b/libs/gtkmm2ext/fastmeter.cc
index 7c0e60a71a..3dd88e6929 100644
--- a/libs/gtkmm2ext/fastmeter.cc
+++ b/libs/gtkmm2ext/fastmeter.cc
@@ -544,7 +544,5 @@ FastMeter::clear ()
current_level = 0;
current_peak = 0;
hold_state = 0;
- set_highlight(false);
- resized = true;
queue_draw ();
}