diff options
author | Carl Hetherington <carl@carlh.net> | 2009-11-30 23:16:28 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-11-30 23:16:28 +0000 |
commit | fddc11f556061d0ffa9a173a3652aa34c20bac3b (patch) | |
tree | a1e1fe82b7edf053effec3f8a3f561e99ce43a13 /gtk2_ardour/processor_box.cc | |
parent | 4497db3f1a9258561f7ec8a6a608bcda1594696d (diff) |
Various optimisations to speed up rec-enable.
git-svn-id: svn://localhost/ardour2/branches/3.0@6227 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r-- | gtk2_ardour/processor_box.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 41a45880ae..1f2fe906c9 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -318,8 +318,7 @@ ProcessorBox::set_route (boost::shared_ptr<Route> r) no_processor_redisplay = false; _route = r; - connections.push_back (_route->processors_changed.connect ( - mem_fun(*this, &ProcessorBox::redisplay_processors))); + connections.push_back (_route->processors_changed.connect (mem_fun (*this, &ProcessorBox::route_processors_changed))); connections.push_back (_route->GoingAway.connect ( mem_fun (*this, &ProcessorBox::route_going_away))); connections.push_back (_route->NameChanged.connect ( @@ -925,6 +924,17 @@ ProcessorBox::choose_aux (boost::weak_ptr<Route> wr) } void +ProcessorBox::route_processors_changed (RouteProcessorChange c) +{ + if (c.type == RouteProcessorChange::MeterPointChange && c.meter_visibly_changed == false) { + /* the meter has moved, but it was and still is invisible to the user, so nothing to do */ + return; + } + + redisplay_processors (); +} + +void ProcessorBox::redisplay_processors () { ENSURE_GUI_THREAD (mem_fun(*this, &ProcessorBox::redisplay_processors)); |