diff options
Diffstat (limited to 'muse2/muse/midiedit/dcanvas.cpp')
-rw-r--r-- | muse2/muse/midiedit/dcanvas.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/muse2/muse/midiedit/dcanvas.cpp b/muse2/muse/midiedit/dcanvas.cpp index 893694c3..ba18d8a3 100644 --- a/muse2/muse/midiedit/dcanvas.cpp +++ b/muse2/muse/midiedit/dcanvas.cpp @@ -1212,8 +1212,7 @@ void DrumCanvas::resizeEvent(QResizeEvent* ev) void DrumCanvas::modifySelected(NoteInfo::ValType type, int val, bool delta_mode) { QList< QPair<int,MusECore::Event> > already_done; - MusEGlobal::audio->msgIdle(true); - MusEGlobal::song->startUndo(); + MusECore::Undo operations; for (iCItem i = items.begin(); i != items.end(); ++i) { if (!(i->second->isSelected())) continue; @@ -1302,14 +1301,12 @@ void DrumCanvas::modifySelected(NoteInfo::ValType type, int val, bool delta_mode } break; } - MusEGlobal::song->changeEvent(event, newEvent, part); - // Indicate do not do port controller values and clone parts. - MusEGlobal::song->addUndo(MusECore::UndoOp(MusECore::UndoOp::ModifyEvent, newEvent, event, part, false, false)); + + operations.push_back(MusECore::UndoOp(MusECore::UndoOp::ModifyEvent, newEvent, event, part, false, false)); already_done.append(QPair<int,MusECore::Event>(part->clonemaster_sn(), event)); } - MusEGlobal::song->endUndo(SC_EVENT_MODIFIED); - MusEGlobal::audio->msgIdle(false); + MusEGlobal::song->applyOperationGroup(operations); } //--------------------------------------------------------- |