From f31b485e9008b832546378b5833b8a67e10de8e6 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 11 May 2011 15:58:09 +0000 Subject: [PATCH] Reset fades on regions copied from time ranges in other regions (#4035). git-svn-id: svn://localhost/ardour2/branches/3.0@9494 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/audioregion.h | 3 ++- libs/ardour/audio_playlist.cc | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h index 8d929827c5..3ee7962bde 100644 --- a/libs/ardour/ardour/audioregion.h +++ b/libs/ardour/ardour/audioregion.h @@ -140,6 +140,8 @@ class AudioRegion : public Region void set_fade_out (FadeShape, framecnt_t); void set_fade_out (boost::shared_ptr); + void set_default_fades (); + void set_envelope_active (bool yn); void set_default_envelope (); @@ -201,7 +203,6 @@ class AudioRegion : public Region void post_set (const PBD::PropertyChange&); void init (); - void set_default_fades (); void set_default_fade_in (); void set_default_fade_out (); diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc index c3d4bfc8de..bb4bc9c0e3 100644 --- a/libs/ardour/audio_playlist.cc +++ b/libs/ardour/audio_playlist.cc @@ -168,6 +168,17 @@ AudioPlaylist::AudioPlaylist (boost::shared_ptr other, fram , _crossfades (*this) { add_property (_crossfades); + + /* Audio regions that have been created by the Playlist constructor + will currently have the same fade in/out as the regions that they + were created from. This is wrong, so reset the fades here. + */ + + for (RegionList::iterator i = regions.begin(); i != regions.end(); ++i) { + boost::shared_ptr ar = boost::dynamic_pointer_cast (*i); + assert (ar); + ar->set_default_fades (); + } /* this constructor does NOT notify others (session) */ }