mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-22 21:27:22 +01:00
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
2 changed files with 5 additions and 6 deletions
|
|
@ -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…
Add table
Add a link
Reference in a new issue