diff options
author | Carl Hetherington <carl@carlh.net> | 2009-08-23 19:42:01 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-08-23 19:42:01 +0000 |
commit | c91da28eb2552c4270e7f07026ee9609c3af717e (patch) | |
tree | b884c0d65bae5118bfd1f8326e648721aec36ce4 /gtk2_ardour/crossfade_view.cc | |
parent | dffd30baf9f9db9310ddf82a5a7d05f96354acd6 (diff) |
Some improvements to performance with crossfades: don't recompute a whole track's crossfade curves
when one region is moved and the display is overlaid; use a std::map for an AudioStreamView's crossfades
list so that add_crossfade can find whether a CrossfadeView already exists without looking through
the whole list.
git-svn-id: svn://localhost/ardour2/branches/3.0@5571 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/crossfade_view.cc')
-rw-r--r-- | gtk2_ardour/crossfade_view.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gtk2_ardour/crossfade_view.cc b/gtk2_ardour/crossfade_view.cc index 63c2115b87..521c33240a 100644 --- a/gtk2_ardour/crossfade_view.cc +++ b/gtk2_ardour/crossfade_view.cc @@ -126,7 +126,10 @@ CrossfadeView::crossfade_changed (Change what_changed) if (what_changed & BoundsChanged) { set_position (crossfade->position(), this); set_duration (crossfade->length(), this); - need_redraw_curves = true; + + /* set_duration will call reset_width_dependent_items which in turn will call redraw_curves via active_changed, + so no need for us to call it */ + need_redraw_curves = false; } if (what_changed & Crossfade::FollowOverlapChanged) { |