diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-05 22:18:04 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-10 15:27:11 +0200 |
commit | 62d5585e34d410c9c5feb7cf7b4742360c2187b0 (patch) | |
tree | 3ca7125166d46d2205187867a8f499aa009fcda8 /gtk2_ardour/meter_strip.cc | |
parent | 09be35c5cbfc218f9a83842e10f41db14ba4abea (diff) |
prepare meter configuration..
- rework metric/tick image cache invalidation
- flush cache
- send signal to queue redraws
(TODO) selectively flush cache // cache per size, style
- add four common line up levels
Diffstat (limited to 'gtk2_ardour/meter_strip.cc')
-rw-r--r-- | gtk2_ardour/meter_strip.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc index 011bbe554e..faaa07b566 100644 --- a/gtk2_ardour/meter_strip.cc +++ b/gtk2_ardour/meter_strip.cc @@ -71,6 +71,7 @@ MeterStrip::MeterStrip (int metricmode) set_size_request_to_display_given_text (meter_metric_area, "-8888", 1, 0); meter_metric_area.signal_expose_event().connect ( sigc::mem_fun(*this, &MeterStrip::meter_metrics_expose)); + RedrawMetrics.connect (sigc::mem_fun(*this, &MeterStrip::redraw_metrics)); meterbox.pack_start(meter_metric_area, true, false); @@ -174,6 +175,7 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt) ResetAllPeakDisplays.connect (sigc::mem_fun(*this, &MeterStrip::reset_peak_display)); ResetRoutePeakDisplays.connect (sigc::mem_fun(*this, &MeterStrip::reset_route_peak_display)); ResetGroupPeakDisplays.connect (sigc::mem_fun(*this, &MeterStrip::reset_group_peak_display)); + RedrawMetrics.connect (sigc::mem_fun(*this, &MeterStrip::redraw_metrics)); meter_configuration_changed (_route->shared_peak_meter()->input_streams ()); @@ -249,8 +251,6 @@ MeterStrip::fast_update () void MeterStrip::on_theme_changed() { - meter_clear_pattern_cache(); - if (level_meter && _route) { int meter_width = 6; if (_route->shared_peak_meter()->input_streams().n_total() == 1) { @@ -258,9 +258,6 @@ MeterStrip::on_theme_changed() } level_meter->setup_meters (220, meter_width, 6); } - meter_metric_area.queue_draw(); - meter_ticks1_area.queue_draw(); - meter_ticks2_area.queue_draw(); } void @@ -412,3 +409,11 @@ MeterStrip::peak_button_release (GdkEventButton* ev) } return true; } + +void +MeterStrip::redraw_metrics () +{ + meter_metric_area.queue_draw(); + meter_ticks1_area.queue_draw(); + meter_ticks2_area.queue_draw(); +} |