diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-01-10 16:19:13 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-01-10 16:19:13 +0000 |
commit | 1c167454eb2d498ed0ed453136ad3042aee0b556 (patch) | |
tree | 56b889a392cd0f9295359116d03c973a91ef881a /gtk2_ardour/audio_streamview.cc | |
parent | c9fd6da8b184831565fc74dd6a828596f5d77840 (diff) |
fix xfade logic and use shared_ptr for xfades
git-svn-id: svn://localhost/ardour2/trunk@1297 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_streamview.cc')
-rw-r--r-- | gtk2_ardour/audio_streamview.cc | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc index 89d6d394c4..349f472e6e 100644 --- a/gtk2_ardour/audio_streamview.cc +++ b/gtk2_ardour/audio_streamview.cc @@ -224,7 +224,7 @@ AudioStreamView::remove_region_view (boost::weak_ptr<Region> weak_r) ++tmp; boost::shared_ptr<AudioRegion> ar = boost::dynamic_pointer_cast<AudioRegion>(r); - if (ar && (*i)->crossfade.involves (ar)) { + if (ar && (*i)->crossfade->involves (ar)) { delete *i; crossfade_views.erase (i); } @@ -276,17 +276,17 @@ AudioStreamView::playlist_changed (boost::shared_ptr<Diskstream> ds) } void -AudioStreamView::add_crossfade (Crossfade *crossfade) +AudioStreamView::add_crossfade (boost::shared_ptr<Crossfade> crossfade) { AudioRegionView* lview = 0; AudioRegionView* rview = 0; - + ENSURE_GUI_THREAD (bind (mem_fun (*this, &AudioStreamView::add_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 { @@ -312,7 +312,7 @@ AudioStreamView::add_crossfade (Crossfade *crossfade) CrossfadeView *cv = new CrossfadeView (_trackview.canvas_display, _trackview, - *crossfade, + crossfade, _samples_per_unit, region_color, *lview, *rview); @@ -326,12 +326,12 @@ AudioStreamView::add_crossfade (Crossfade *crossfade) } void -AudioStreamView::remove_crossfade (Crossfade *xfade) +AudioStreamView::remove_crossfade (boost::shared_ptr<Crossfade> xfade) { ENSURE_GUI_THREAD (bind (mem_fun (*this, &AudioStreamView::remove_crossfade), xfade)); for (list<CrossfadeView*>::iterator i = crossfade_views.begin(); i != crossfade_views.end(); ++i) { - if (&(*i)->crossfade == xfade) { + if ((*i)->crossfade == xfade) { delete *i; crossfade_views.erase (i); break; @@ -715,7 +715,7 @@ void AudioStreamView::hide_xfades_involving (AudioRegionView& rv) { for (list<CrossfadeView *>::iterator i = crossfade_views.begin(); i != crossfade_views.end(); ++i) { - if ((*i)->crossfade.involves (rv.audio_region())) { + if ((*i)->crossfade->involves (rv.audio_region())) { (*i)->fake_hide (); } } @@ -725,7 +725,7 @@ void AudioStreamView::reveal_xfades_involving (AudioRegionView& rv) { for (list<CrossfadeView *>::iterator i = crossfade_views.begin(); i != crossfade_views.end(); ++i) { - if ((*i)->crossfade.involves (rv.audio_region()) && (*i)->visible()) { + if ((*i)->crossfade->involves (rv.audio_region()) && (*i)->visible()) { (*i)->show (); } } |