don't reset region fades to default after a playlist op unless the fades used to...
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 29 May 2012 12:54:49 +0000 (12:54 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 29 May 2012 12:54:49 +0000 (12:54 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@12476 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/audio_playlist.cc

index 2ebbdd5131569b75e8c97be78f321c10e16f5f0b..2eb80a403e5a453cca255c63137bcad2d5cbd8a7 100644 (file)
@@ -421,14 +421,18 @@ AudioPlaylist::check_crossfades (Evoral::Range<framepos_t> range)
        for (RegionList::iterator i = starts->begin(); i != starts->end(); ++i) {
                if (done_start.find (*i) == done_start.end()) {
                        boost::shared_ptr<AudioRegion> r = boost::dynamic_pointer_cast<AudioRegion> (*i);
-                       r->set_default_fade_in ();
+                       if (r->fade_in_is_xfade()) {
+                               r->set_default_fade_in ();
+                       }
                }
        }
 
        for (RegionList::iterator i = ends->begin(); i != ends->end(); ++i) {
                if (done_end.find (*i) == done_end.end()) {
                        boost::shared_ptr<AudioRegion> r = boost::dynamic_pointer_cast<AudioRegion> (*i);
-                       r->set_default_fade_out ();
+                       if (r->fade_out_is_xfade()) {
+                               r->set_default_fade_out ();
+                       }
                }
        }
 }