Fix non-layered record-undo
Previously an empty RegionList was used (auto-partition changes were never collected at rec-stop), furthermore auto-partitioned regions do not have an old ARDOUR::AutomationList (fade in/out) property (_have_old is false).
This commit is contained in:
parent
5d12aa15f5
commit
8f5c3fcddb
@ -699,10 +699,8 @@ Playlist::add_region (boost::shared_ptr<Region> region, samplepos_t position, fl
|
||||
samplepos_t pos = position;
|
||||
|
||||
if (times == 1 && auto_partition) {
|
||||
RegionList thawlist;
|
||||
partition_internal (pos - 1, (pos + region->length ()), true, rlock.thawlist);
|
||||
for (RegionList::iterator i = thawlist.begin (); i != thawlist.end (); ++i) {
|
||||
(*i)->resume_property_changes ();
|
||||
for (RegionList::iterator i = rlock.thawlist.begin (); i != rlock.thawlist.end (); ++i) {
|
||||
_session.add_command (new StatefulDiffCommand (*i));
|
||||
}
|
||||
}
|
||||
|
@ -405,9 +405,10 @@ public:
|
||||
}
|
||||
|
||||
bool changed () const {
|
||||
/* Expensive, but, hey; this requires operator!= in
|
||||
our T
|
||||
*/
|
||||
if (!_old) {
|
||||
return false;
|
||||
}
|
||||
/* Expensive, but, hey; this requires operator!= in our T */
|
||||
return (*_old != *_current);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user