make note overlap resolution store side effects in a DiffCommand, and add its changes to the DiffCommand being executed, so as to retain "internal" note property changes across undo

git-svn-id: svn://localhost/ardour2/branches/3.0@7256 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2010-06-14 23:43:10 +00:00
parent f1fc47b077
commit c158c44fab
4 changed files with 78 additions and 24 deletions

View file

@ -580,15 +580,14 @@ Sequence<Time>::end_write (bool delete_stuck)
template<typename Time>
bool
Sequence<Time>::add_note_unlocked(const NotePtr note,
set<NotePtr >* removed)
Sequence<Time>::add_note_unlocked(const NotePtr note, void* arg)
{
/* This is the core method to add notes to a Sequence
*/
DEBUG_TRACE (DEBUG::Sequence, string_compose ("%1 add note %2 @ %3\n", this, (int)note->note(), note->time()));
if (resolve_overlaps_unlocked (note, removed)) {
if (resolve_overlaps_unlocked (note, arg)) {
return false;
}