From 452672f78f5f0f9195bfd48398e29b18a8fb1df7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 1 Feb 2012 01:07:52 +0000 Subject: Make crossfade convert-to-full and activate/deactivate work across edit groups (#4658). git-svn-id: svn://localhost/ardour2/branches/3.0@11413 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/audioplaylist.h | 1 + libs/ardour/audio_playlist.cc | 10 ++++++++++ 2 files changed, 11 insertions(+) (limited to 'libs/ardour') diff --git a/libs/ardour/ardour/audioplaylist.h b/libs/ardour/ardour/audioplaylist.h index 5b1af2dc1f..fea70aade7 100644 --- a/libs/ardour/ardour/audioplaylist.h +++ b/libs/ardour/ardour/audioplaylist.h @@ -92,6 +92,7 @@ public: void update (const CrossfadeListProperty::ChangeRecord &); boost::shared_ptr find_crossfade (const PBD::ID &) const; + void get_equivalent_crossfades (boost::shared_ptr, std::vector > &); protected: diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc index 56f2c4fe83..76d0228547 100644 --- a/libs/ardour/audio_playlist.cc +++ b/libs/ardour/audio_playlist.cc @@ -1194,3 +1194,13 @@ AudioPlaylist::pre_uncombine (vector >& originals, boo _session.add_command (new StatefulDiffCommand (*i)); } } + +void +AudioPlaylist::get_equivalent_crossfades (boost::shared_ptr c, vector > & results) +{ + for (list >::iterator i = _crossfades.begin(); i != _crossfades.end(); ++i) { + if ((*i)->equivalent (c)) { + results.push_back (*i); + } + } +} -- cgit v1.2.3