summaryrefslogtreecommitdiff
path: root/muse2/muse/midiedit/pianoroll.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/midiedit/pianoroll.cpp')
-rw-r--r--muse2/muse/midiedit/pianoroll.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/muse2/muse/midiedit/pianoroll.cpp b/muse2/muse/midiedit/pianoroll.cpp
index 9105a446..b2fe55ee 100644
--- a/muse2/muse/midiedit/pianoroll.cpp
+++ b/muse2/muse/midiedit/pianoroll.cpp
@@ -198,11 +198,11 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
mapper->setMapping(funcTransposeAction, PianoCanvas::CMD_TRANSPOSE);
connect(funcTransposeAction, SIGNAL(triggered()), mapper, SLOT(map()));
- funcEraseEventAction = menuFunctions->addAction(tr("Erase Event"));
+ funcEraseEventAction = menuFunctions->addAction(tr("Erase Events"));
mapper->setMapping(funcEraseEventAction, PianoCanvas::CMD_ERASE_EVENT);
connect(funcEraseEventAction, SIGNAL(triggered()), mapper, SLOT(map()));
- funcNoteShiftAction = menuFunctions->addAction(tr("Note Shift"));
+ funcNoteShiftAction = menuFunctions->addAction(tr("Move Notes"));
mapper->setMapping(funcNoteShiftAction, PianoCanvas::CMD_NOTE_SHIFT);
connect(funcNoteShiftAction, SIGNAL(triggered()), mapper, SLOT(map()));
@@ -213,7 +213,12 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
funcDelOverlapsAction = menuFunctions->addAction(tr("Delete Overlaps"));
mapper->setMapping(funcDelOverlapsAction, PianoCanvas::CMD_DELETE_OVERLAPS);
connect(funcDelOverlapsAction, SIGNAL(triggered()), mapper, SLOT(map()));
-
+
+ QAction* funcLegatoAction = menuFunctions->addAction(tr("Legato"));
+ mapper->setMapping(funcLegatoAction, PianoCanvas::CMD_LEGATO);
+ connect(funcLegatoAction, SIGNAL(triggered()), mapper, SLOT(map()));
+
+
menuPlugins = menuBar()->addMenu(tr("&Plugins"));
song->populateScriptMenu(menuPlugins, this);
@@ -600,6 +605,15 @@ void PianoRoll::cmd(int cmd)
{
switch (cmd)
{
+ case PianoCanvas::CMD_CUT:
+ copy_notes(partlist_to_set(parts()), 1);
+ erase_notes(partlist_to_set(parts()), 1);
+ break;
+ case PianoCanvas::CMD_COPY: copy_notes(partlist_to_set(parts()), 1); break;
+ case PianoCanvas::CMD_PASTE:
+ ((PianoCanvas*)canvas)->cmd(PianoCanvas::CMD_SELECT_NONE);
+ paste_notes(canvas->part());
+ break;
case PianoCanvas::CMD_MODIFY_GATE_TIME: modify_notelen(partlist_to_set(parts())); break;
case PianoCanvas::CMD_MODIFY_VELOCITY: modify_velocity(partlist_to_set(parts())); break;
case PianoCanvas::CMD_CRESCENDO: crescendo(partlist_to_set(parts())); break;
@@ -610,6 +624,7 @@ void PianoRoll::cmd(int cmd)
case PianoCanvas::CMD_NOTE_SHIFT: move_notes(partlist_to_set(parts())); break;
case PianoCanvas::CMD_FIXED_LEN: set_notelen(partlist_to_set(parts())); break;
case PianoCanvas::CMD_DELETE_OVERLAPS: delete_overlaps(partlist_to_set(parts())); break;
+ case PianoCanvas::CMD_LEGATO: legato(partlist_to_set(parts())); break;
default: ((PianoCanvas*)canvas)->cmd(cmd);
}