diff options
Diffstat (limited to 'muse2/muse/arranger')
-rw-r--r-- | muse2/muse/arranger/arrangerview.cpp | 4 | ||||
-rw-r--r-- | muse2/muse/arranger/pcanvas.cpp | 9 | ||||
-rw-r--r-- | muse2/muse/arranger/tlist.cpp | 23 |
3 files changed, 11 insertions, 25 deletions
diff --git a/muse2/muse/arranger/arrangerview.cpp b/muse2/muse/arranger/arrangerview.cpp index 7974369a..ecedd968 100644 --- a/muse2/muse/arranger/arrangerview.cpp +++ b/muse2/muse/arranger/arrangerview.cpp @@ -519,14 +519,14 @@ void ArrangerView::cmd(int cmd) arranger->cmd(Arranger::CMD_INSERT_EMPTYMEAS); break; case CMD_DELETE: - if (!MusEGlobal::song->msgRemoveParts()) //automatically does undo if neccessary and returns true then + if (!MusECore::delete_selected_parts()) { QMessageBox::StandardButton btn = QMessageBox::warning( this,tr("Remove track(s)"),tr("Are you sure you want to remove this track(s)?"), QMessageBox::Ok|QMessageBox::Cancel, QMessageBox::Ok); if (btn == QMessageBox::Cancel) - break; //msgRemoveParts() returned false -> no parts to remove? + break; MusEGlobal::song->startUndo(); MusEGlobal::audio->msgRemoveTracks(); //TODO FINDME this could still be speeded up! MusEGlobal::song->endUndo(SC_TRACK_REMOVED); diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index a280d58b..57645a97 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -668,12 +668,11 @@ bool PartCanvas::deleteItem(CItem* i) void PartCanvas::splitItem(CItem* item, const QPoint& pt) { NPart* np = (NPart*) item; - MusECore::Track* t = np->track(); MusECore::Part* p = np->part(); int x = pt.x(); if (x < 0) x = 0; - MusEGlobal::song->cmdSplitPart(t, p, AL::sigmap.raster(x, *_raster)); + split_part(p,AL::sigmap.raster(x, *_raster)); } //--------------------------------------------------------- @@ -683,9 +682,7 @@ void PartCanvas::splitItem(CItem* item, const QPoint& pt) void PartCanvas::glueItem(CItem* item) { NPart* np = (NPart*) item; - MusECore::Track* t = np->track(); - MusECore::Part* p = np->part(); - MusEGlobal::song->cmdGluePart(t, p); + merge_with_next_part(np->part()); } //--------------------------------------------------------- @@ -1116,7 +1113,7 @@ void PartCanvas::keyPress(QKeyEvent* event) if (getCurrentDrag()) return; - MusEGlobal::song->msgRemoveParts(); + MusECore::delete_selected_parts(); return; } else if (key == shortcuts[SHRT_POS_DEC].key) { diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp index b27a48e1..7ebcad4d 100644 --- a/muse2/muse/arranger/tlist.cpp +++ b/muse2/muse/arranger/tlist.cpp @@ -75,6 +75,8 @@ #include "dssihost.h" #endif +using MusECore::UndoOp; + namespace MusEGui { static const int MIN_TRACKHEIGHT = 20; @@ -599,13 +601,10 @@ void TList::returnPressed() } } - MusEGlobal::song->startUndo(); - MusEGlobal::song->addUndo(MusECore::UndoOp(MusECore::UndoOp::ModifyTrackName, + MusEGlobal::song->applyOperation(MusECore::UndoOp(MusECore::UndoOp::ModifyTrackName, editTrack, editTrack->name().toLatin1().constData(), editor->text().toLatin1().constData())); - editTrack->setName(editor->text()); - MusEGlobal::song->endUndo(-1); //uagh, why "-1", why no proper flags? } } @@ -640,16 +639,10 @@ void TList::chanValueFinished() channel = 0; if(channel != mt->outChannel()) { - MusEGlobal::song->startUndo(); - MusEGlobal::song->addUndo(MusECore::UndoOp(MusECore::UndoOp::ModifyTrackChannel, + MusEGlobal::song->applyOperation(MusECore::UndoOp(MusECore::UndoOp::ModifyTrackChannel, editTrack, mt->outChannel(), channel)); - MusEGlobal::audio->msgIdle(true); - mt->setOutChanAndUpdate(channel); - MusEGlobal::audio->msgIdle(false); - MusEGlobal::audio->msgUpdateSoloStates(); - MusEGlobal::song->endUndo(SC_MIDI_TRACK_PROP); } } } @@ -667,13 +660,10 @@ void TList::chanValueFinished() n = 1; if(n != at->channels()) { - MusEGlobal::song->startUndo(); - MusEGlobal::song->addUndo(MusECore::UndoOp(MusECore::UndoOp::ModifyTrackChannel, + MusEGlobal::song->applyOperation(MusECore::UndoOp(MusECore::UndoOp::ModifyTrackChannel, editTrack, at->channels(), n)); - MusEGlobal::audio->msgSetChannels(at, n); - MusEGlobal::song->endUndo(SC_CHANNELS); } } } @@ -1962,8 +1952,7 @@ void TList::mousePressEvent(QMouseEvent* ev) { switch (n) { case 1001: // delete track - MusEGlobal::song->removeTrack0(t); - MusEGlobal::audio->msgUpdateSoloStates(); + MusEGlobal::song->applyOperation(UndoOp(UndoOp::DeleteTrack, MusEGlobal::song->tracks()->index(t), t)); break; case 1002: // show track comment |