summaryrefslogtreecommitdiff
path: root/muse2/muse/arranger
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/arranger')
-rw-r--r--muse2/muse/arranger/arrangerview.cpp4
-rw-r--r--muse2/muse/arranger/pcanvas.cpp9
-rw-r--r--muse2/muse/arranger/tlist.cpp23
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