diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-10-19 22:02:30 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-10-19 22:02:30 +0000 |
commit | 2592a320d42dd4a157ee16101c042d875d3142be (patch) | |
tree | 0409a06f1ef030dc9339c5c17bd3ff1854125256 /gtk2_ardour/audio_streamview.cc | |
parent | 0c31e4c4f3d0bfe37d26a793c934f1b436f8fa0f (diff) |
major changes to Region, AudioRegion, Playlist, AudioPlaylist and Crossfade state management, to try to fix undo/redo. Not finished, butthe speedups etc. are in place
git-svn-id: svn://localhost/ardour2/trunk@993 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_streamview.cc')
-rw-r--r-- | gtk2_ardour/audio_streamview.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc index 0a74d89d35..3cca792523 100644 --- a/gtk2_ardour/audio_streamview.cc +++ b/gtk2_ardour/audio_streamview.cc @@ -254,7 +254,7 @@ AudioStreamView::add_crossfade (Crossfade *crossfade) /* first see if we already have a CrossfadeView for this Crossfade */ for (list<CrossfadeView *>::iterator i = crossfade_views.begin(); i != crossfade_views.end(); ++i) { - if (&(*i)->crossfade == crossfade) { + if ((*i)->crossfade == *crossfade) { if (!crossfades_visible) { (*i)->hide(); } else { @@ -313,7 +313,6 @@ AudioStreamView::redisplay_diskstream () list<RegionView *>::iterator i, tmp; list<CrossfadeView*>::iterator xi, tmpx; - for (i = region_views.begin(); i != region_views.end(); ++i) { (*i)->set_valid (false); } @@ -327,6 +326,7 @@ AudioStreamView::redisplay_diskstream () if (_trackview.is_audio_track()) { _trackview.get_diskstream()->playlist()->foreach_region (static_cast<StreamView*>(this), &StreamView::add_region_view); + AudioPlaylist* apl = dynamic_cast<AudioPlaylist*>(_trackview.get_diskstream()->playlist()); if (apl) apl->foreach_crossfade (this, &AudioStreamView::add_crossfade); @@ -358,7 +358,9 @@ AudioStreamView::redisplay_diskstream () /* now fix layering */ - playlist_modified (); + for (RegionViewList::iterator i = region_views.begin(); i != region_views.end(); ++i) { + region_layered (*i); + } } void |