13
0

Don't move automation to follow region when a region has only been trimmed rather than moved.

git-svn-id: svn://localhost/ardour2/branches/3.0@7465 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2010-07-22 01:22:56 +00:00
parent 092e598389
commit cb80dbd927
2 changed files with 8 additions and 1 deletions

View File

@ -182,6 +182,8 @@ class Playlist : public SessionObject
PBD::Signal0<void> NameChanged;
PBD::Signal0<void> LengthChanged;
PBD::Signal0<void> LayeringChanged;
/** Emitted when regions have moved (not when regions have only been trimmed) */
PBD::Signal2<void,std::list< Evoral::RangeMove<framepos_t> > const &, bool> RangesMoved;
static std::string bump_name (std::string old_name, Session&);
@ -253,6 +255,11 @@ class Playlist : public SessionObject
bool pending_contents_change;
bool pending_layering;
bool pending_length;
/** Movements of time ranges caused by region moves; note that
* region trims are not included in this list; it is used to
* do automation-follows-regions.
*/
std::list< Evoral::RangeMove<framepos_t> > pending_range_moves;
bool save_on_thaw;
std::string last_save_reason;

View File

@ -1619,7 +1619,7 @@ Playlist::region_changed (const PropertyChange& what_changed, boost::shared_ptr<
check_dependents (region, false);
}
if (what_changed.contains (Properties::position)) {
if (what_changed.contains (Properties::position) && !what_changed.contains (Properties::length)) {
notify_region_moved (region);
}