summaryrefslogtreecommitdiff
path: root/muse2/muse
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2011-09-04 17:43:39 +0000
committerFlorian Jung <flo@windfisch.org>2011-09-04 17:43:39 +0000
commit5669de5d2d1b978bd34c80964d299688282d7027 (patch)
treed049caa2e608865a0381a7096d0f0b97a30a6474 /muse2/muse
parent46369b4c33d841aa1ece363c3deb3775658165ad (diff)
added paste dialog plus minor fixes:
- moved and changed muse.pro file - added update_pro.sh and update_translations.sh - updated translations - moved stuff from functions.cpp out to dialogs.cpp - fixed behaviour of movePartsTotheRight(): parts which begin at "start of move" aren't expanded, but moved now
Diffstat (limited to 'muse2/muse')
-rw-r--r--muse2/muse/CMakeLists.txt1
-rw-r--r--muse2/muse/arranger/arranger.cpp11
-rw-r--r--muse2/muse/arranger/arranger.h4
-rw-r--r--muse2/muse/arranger/arrangerview.cpp49
-rw-r--r--muse2/muse/arranger/arrangerview.h7
-rw-r--r--muse2/muse/arranger/pcanvas.cpp176
-rw-r--r--muse2/muse/arranger/pcanvas.h10
-rw-r--r--muse2/muse/dialogs.cpp126
-rw-r--r--muse2/muse/dialogs.h42
-rw-r--r--muse2/muse/functions.cpp116
-rw-r--r--muse2/muse/functions.h30
-rw-r--r--muse2/muse/midiedit/scoreedit.cpp6
-rw-r--r--muse2/muse/muse.log1875
-rw-r--r--muse2/muse/muse.pro370
-rw-r--r--muse2/muse/shortcuts.cpp7
-rw-r--r--muse2/muse/shortcuts.h7
-rw-r--r--muse2/muse/structure.cpp12
-rw-r--r--muse2/muse/structure.h3
-rw-r--r--muse2/muse/widgets/CMakeLists.txt3
-rw-r--r--muse2/muse/widgets/pastedialog.cpp132
-rw-r--r--muse2/muse/widgets/pastedialog.h48
-rw-r--r--muse2/muse/widgets/pastedialogbase.ui291
22 files changed, 856 insertions, 2470 deletions
diff --git a/muse2/muse/CMakeLists.txt b/muse2/muse/CMakeLists.txt
index cea95083..1a3bb565 100644
--- a/muse2/muse/CMakeLists.txt
+++ b/muse2/muse/CMakeLists.txt
@@ -85,6 +85,7 @@ file (GLOB core_source_files
confmport.cpp
controlfifo.cpp
ctrl.cpp
+ dialogs.cpp
dssihost.cpp
event.cpp
eventlist.cpp
diff --git a/muse2/muse/arranger/arranger.cpp b/muse2/muse/arranger/arranger.cpp
index d9712427..03caae3e 100644
--- a/muse2/muse/arranger/arranger.cpp
+++ b/muse2/muse/arranger/arranger.cpp
@@ -757,14 +757,11 @@ void Arranger::cmd(int cmd)
case CMD_PASTE_CLONE_PART:
ncmd = PartCanvas::CMD_PASTE_CLONE_PART;
break;
- case CMD_PASTE_PART_TO_TRACK:
- ncmd = PartCanvas::CMD_PASTE_PART_TO_TRACK;
+ case CMD_PASTE_DIALOG:
+ ncmd = PartCanvas::CMD_PASTE_DIALOG;
break;
- case CMD_PASTE_CLONE_PART_TO_TRACK:
- ncmd = PartCanvas::CMD_PASTE_CLONE_PART_TO_TRACK;
- break;
- case CMD_INSERT_PART:
- ncmd = PartCanvas::CMD_INSERT_PART;
+ case CMD_PASTE_CLONE_DIALOG:
+ ncmd = PartCanvas::CMD_PASTE_CLONE_DIALOG;
break;
case CMD_INSERT_EMPTYMEAS:
ncmd = PartCanvas::CMD_INSERT_EMPTYMEAS;
diff --git a/muse2/muse/arranger/arranger.h b/muse2/muse/arranger/arranger.h
index 4e91272e..a89c4de9 100644
--- a/muse2/muse/arranger/arranger.h
+++ b/muse2/muse/arranger/arranger.h
@@ -150,8 +150,8 @@ class Arranger : public QWidget {
void controllerChanged(Track *t);
public:
- enum { CMD_CUT_PART, CMD_COPY_PART, CMD_COPY_PART_IN_RANGE, CMD_PASTE_PART, CMD_PASTE_CLONE_PART, CMD_PASTE_PART_TO_TRACK, CMD_PASTE_CLONE_PART_TO_TRACK,
- CMD_INSERT_PART, CMD_INSERT_EMPTYMEAS };
+ enum { CMD_CUT_PART, CMD_COPY_PART, CMD_COPY_PART_IN_RANGE, CMD_PASTE_PART, CMD_PASTE_CLONE_PART,
+ CMD_PASTE_DIALOG, CMD_PASTE_CLONE_DIALOG, CMD_INSERT_EMPTYMEAS };
Arranger(ArrangerView* parent, const char* name = 0);
diff --git a/muse2/muse/arranger/arrangerview.cpp b/muse2/muse/arranger/arrangerview.cpp
index 4e844f35..2ba3ab8f 100644
--- a/muse2/muse/arranger/arrangerview.cpp
+++ b/muse2/muse/arranger/arrangerview.cpp
@@ -374,11 +374,10 @@ ArrangerView::ArrangerView(QWidget* parent)
editCopyAction = new QAction(QIcon(*editcopyIconSet), tr("&Copy"), this);
editCopyRangeAction = new QAction(QIcon(*editcopyIconSet), tr("&Copy in range"), this);
editPasteAction = new QAction(QIcon(*editpasteIconSet), tr("&Paste"), this);
- editInsertAction = new QAction(QIcon(*editpasteIconSet), tr("&Insert"), this);
- editInsertEMAction = new QAction(QIcon(*editpasteIconSet), tr("&Insert Empty Measure"), this);
+ editPasteDialogAction = new QAction(QIcon(*editpasteIconSet), tr("Paste (show dialog)"), this);
editPasteCloneAction = new QAction(QIcon(*editpasteCloneIconSet), tr("Paste c&lone"), this);
- editPaste2TrackAction = new QAction(QIcon(*editpaste2TrackIconSet), tr("Paste to &track"), this);
- editPasteC2TAction = new QAction(QIcon(*editpasteClone2TrackIconSet), tr("Paste clone to trac&k"), this);
+ editPasteCloneDialogAction = new QAction(QIcon(*editpasteCloneIconSet), tr("Paste clone (show dialog)"), this);
+ editInsertEMAction = new QAction(QIcon(*editpasteIconSet), tr("&Insert Empty Measure"), this);
editDeleteSelectedAction = new QAction(QIcon(*edit_track_delIcon), tr("Delete Selected Tracks"), this);
editShrinkPartsAction = new QAction(tr("Shrink selected parts"), this); //FINDMICH TODO tooltips!
@@ -442,11 +441,10 @@ ArrangerView::ArrangerView(QWidget* parent)
menuEdit->addAction(editCopyAction);
menuEdit->addAction(editCopyRangeAction);
menuEdit->addAction(editPasteAction);
- menuEdit->addAction(editInsertAction);
- menuEdit->addAction(editInsertEMAction);
+ menuEdit->addAction(editPasteDialogAction);
menuEdit->addAction(editPasteCloneAction);
- menuEdit->addAction(editPaste2TrackAction);
- menuEdit->addAction(editPasteC2TAction);
+ menuEdit->addAction(editPasteCloneDialogAction);
+ menuEdit->addAction(editInsertEMAction);
menuEdit->addSeparator();
menuEdit->addAction(editShrinkPartsAction);
menuEdit->addAction(editExpandPartsAction);
@@ -520,11 +518,10 @@ ArrangerView::ArrangerView(QWidget* parent)
connect(editCopyAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
connect(editCopyRangeAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
connect(editPasteAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
- connect(editInsertAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
- connect(editInsertEMAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
connect(editPasteCloneAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
- connect(editPaste2TrackAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
- connect(editPasteC2TAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
+ connect(editPasteDialogAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
+ connect(editPasteCloneDialogAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
+ connect(editInsertEMAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
connect(editDeleteSelectedAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
connect(editShrinkPartsAction, SIGNAL(triggered()), editSignalMapper, SLOT(map()));
@@ -542,10 +539,9 @@ ArrangerView::ArrangerView(QWidget* parent)
editSignalMapper->setMapping(editCopyAction, CMD_COPY);
editSignalMapper->setMapping(editCopyRangeAction, CMD_COPY_RANGE);
editSignalMapper->setMapping(editPasteAction, CMD_PASTE);
- editSignalMapper->setMapping(editInsertAction, CMD_INSERT);
editSignalMapper->setMapping(editPasteCloneAction, CMD_PASTE_CLONE);
- editSignalMapper->setMapping(editPaste2TrackAction, CMD_PASTE_TO_TRACK);
- editSignalMapper->setMapping(editPasteC2TAction, CMD_PASTE_CLONE_TO_TRACK);
+ editSignalMapper->setMapping(editPasteDialogAction, CMD_PASTE_DIALOG);
+ editSignalMapper->setMapping(editPasteCloneDialogAction, CMD_PASTE_CLONE_DIALOG);
editSignalMapper->setMapping(editInsertEMAction, CMD_INSERTMEAS);
editSignalMapper->setMapping(editDeleteSelectedAction, CMD_DELETE_TRACK);
editSignalMapper->setMapping(editShrinkPartsAction, CMD_SHRINK_PART);
@@ -715,14 +711,11 @@ void ArrangerView::cmd(int cmd)
case CMD_PASTE_CLONE:
arranger->cmd(Arranger::CMD_PASTE_CLONE_PART);
break;
- case CMD_PASTE_TO_TRACK:
- arranger->cmd(Arranger::CMD_PASTE_PART_TO_TRACK);
- break;
- case CMD_PASTE_CLONE_TO_TRACK:
- arranger->cmd(Arranger::CMD_PASTE_CLONE_PART_TO_TRACK);
+ case CMD_PASTE_DIALOG:
+ arranger->cmd(Arranger::CMD_PASTE_DIALOG);
break;
- case CMD_INSERT:
- arranger->cmd(Arranger::CMD_INSERT_PART);
+ case CMD_PASTE_CLONE_DIALOG:
+ arranger->cmd(Arranger::CMD_PASTE_CLONE_DIALOG);
break;
case CMD_INSERTMEAS:
arranger->cmd(Arranger::CMD_INSERT_EMPTYMEAS);
@@ -886,11 +879,10 @@ void ArrangerView::updateShortcuts()
editCopyAction->setShortcut(shortcuts[SHRT_COPY].key);
editCopyRangeAction->setShortcut(shortcuts[SHRT_COPY_RANGE].key);
editPasteAction->setShortcut(shortcuts[SHRT_PASTE].key);
- editInsertAction->setShortcut(shortcuts[SHRT_INSERT].key);
- editInsertEMAction->setShortcut(shortcuts[SHRT_INSERTMEAS].key);
editPasteCloneAction->setShortcut(shortcuts[SHRT_PASTE_CLONE].key);
- editPaste2TrackAction->setShortcut(shortcuts[SHRT_PASTE_TO_TRACK].key);
- editPasteC2TAction->setShortcut(shortcuts[SHRT_PASTE_CLONE_TO_TRACK].key);
+ editPasteDialogAction->setShortcut(shortcuts[SHRT_PASTE_DIALOG].key);
+ editPasteCloneDialogAction->setShortcut(shortcuts[SHRT_PASTE_CLONE_DIALOG].key);
+ editInsertEMAction->setShortcut(shortcuts[SHRT_INSERTMEAS].key);
//editDeleteSelectedAction has no acceleration
@@ -936,10 +928,9 @@ void ArrangerView::clipboardChanged()
flag = true;
editPasteAction->setEnabled(flag);
- editInsertAction->setEnabled(flag);
editPasteCloneAction->setEnabled(flag);
- editPaste2TrackAction->setEnabled(flag);
- editPasteC2TAction->setEnabled(flag);
+ editPasteDialogAction->setEnabled(flag);
+ editPasteCloneDialogAction->setEnabled(flag);
}
//---------------------------------------------------------
diff --git a/muse2/muse/arranger/arrangerview.h b/muse2/muse/arranger/arrangerview.h
index 580173f9..f5214640 100644
--- a/muse2/muse/arranger/arrangerview.h
+++ b/muse2/muse/arranger/arrangerview.h
@@ -48,8 +48,8 @@ class ArrangerView : public TopWin
private:
enum cmd_enum
- {CMD_CUT, CMD_COPY, CMD_COPY_RANGE, CMD_PASTE, CMD_INSERT, CMD_INSERTMEAS, CMD_PASTE_CLONE,
- CMD_PASTE_TO_TRACK, CMD_PASTE_CLONE_TO_TRACK, CMD_DELETE,
+ {CMD_CUT, CMD_COPY, CMD_COPY_RANGE, CMD_PASTE, CMD_INSERTMEAS, CMD_PASTE_CLONE,
+ CMD_PASTE_DIALOG, CMD_PASTE_CLONE_DIALOG, CMD_DELETE,
CMD_SELECT_ALL, CMD_SELECT_NONE, CMD_SELECT_INVERT,
CMD_SELECT_ILOOP, CMD_SELECT_OLOOP, CMD_SELECT_PARTS,
CMD_DELETE_TRACK, CMD_EXPAND_PART, CMD_SHRINK_PART, CMD_CLEAN_PART,
@@ -74,7 +74,8 @@ class ArrangerView : public TopWin
QAction *strGlobalCutAction, *strGlobalInsertAction, *strGlobalSplitAction;
QAction *trackMidiAction, *trackDrumAction, *trackWaveAction, *trackAOutputAction, *trackAGroupAction;
QAction *trackAInputAction, *trackAAuxAction;
- QAction *editCutAction, *editCopyAction, *editCopyRangeAction, *editPasteAction, *editInsertAction, *editPasteCloneAction, *editPaste2TrackAction;
+ QAction *editCutAction, *editCopyAction, *editCopyRangeAction;
+ QAction *editPasteAction, *editPasteCloneAction, *editPasteDialogAction, *editPasteCloneDialogAction;
QAction *editInsertEMAction, *editPasteC2TAction, *editDeleteSelectedAction, *editSelectAllAction, *editDeselectAllAction;
QAction *editInvertSelectionAction, *editInsideLoopAction, *editOutsideLoopAction, *editAllPartsAction;
QAction *masterGraphicAction, *masterListAction;
diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp
index 094cf68a..3cd1e18e 100644
--- a/muse2/muse/arranger/pcanvas.cpp
+++ b/muse2/muse/arranger/pcanvas.cpp
@@ -46,11 +46,17 @@
#include "midi.h"
#include "midictrl.h"
#include "utils.h"
+#include "dialogs.h"
+#include "widgets/pastedialog.h"
//#define ABS(x) ((x) < 0) ? -(x) : (x))
//#define ABS(x) (x>=0?x:-x)
#define ABS(x) (abs(x))
+using std::set;
+
+int get_paste_len();
+
//---------------------------------------------------------
// colorRect
// paints a rectangular icon with a given color
@@ -2590,20 +2596,35 @@ void PartCanvas::cmd(int cmd)
copy_in_range(&pl);
break;
case CMD_PASTE_PART:
- paste(false, false);
- break;
- case CMD_PASTE_CLONE_PART:
- paste(true, false);
- break;
- case CMD_PASTE_PART_TO_TRACK:
paste();
break;
- case CMD_PASTE_CLONE_PART_TO_TRACK:
+ case CMD_PASTE_CLONE_PART:
paste(true);
break;
- case CMD_INSERT_PART:
- paste(false, false, true);
+ case CMD_PASTE_DIALOG:
+ case CMD_PASTE_CLONE_DIALOG:
+ {
+ unsigned temp_begin = AL::sigmap.raster1(song->vcpos(),0);
+ unsigned temp_end = AL::sigmap.raster2(temp_begin + get_paste_len(), 0);
+ paste_dialog->raster = temp_end - temp_begin;
+ paste_dialog->clone = (cmd == CMD_PASTE_CLONE_DIALOG);
+
+ if (paste_dialog->exec())
+ {
+ paste_mode_t paste_mode;
+ switch (paste_dialog->insert_method)
+ {
+ case 0: paste_mode=PASTEMODE_MIX; break;
+ case 1: paste_mode=PASTEMODE_MOVEALL; break;
+ case 2: paste_mode=PASTEMODE_MOVESOME; break;
+ }
+
+ paste(paste_dialog->clone, paste_mode, paste_dialog->all_in_one_track,
+ paste_dialog->number, paste_dialog->raster);
+ }
+
break;
+ }
case CMD_INSERT_EMPTYMEAS:
int startPos=song->vcpos();
int oneMeas=AL::sigmap.ticksMeasure(startPos);
@@ -2765,11 +2786,88 @@ void PartCanvas::copy(PartList* pl)
fclose(tmp);
}
-//---------------------------------------------------------
-// pasteAt
-//---------------------------------------------------------
-Undo PartCanvas::pasteAt(const QString& pt, Track* track, unsigned int pos, bool clone, bool toTrack, int* finalPosPtr)
+
+int get_paste_len()
+{
+ QClipboard* cb = QApplication::clipboard();
+ const QMimeData* md = cb->mimeData(QClipboard::Clipboard);
+
+ QString pfx("text/");
+ QString mdpl("x-muse-midipartlist");
+ QString wvpl("x-muse-wavepartlist");
+ QString mxpl("x-muse-mixedpartlist");
+ QString txt;
+
+ if(md->hasFormat(pfx + mdpl))
+ txt = cb->text(mdpl, QClipboard::Clipboard);
+ else if(md->hasFormat(pfx + wvpl))
+ txt = cb->text(wvpl, QClipboard::Clipboard);
+ else if(md->hasFormat(pfx + mxpl))
+ txt = cb->text(mxpl, QClipboard::Clipboard);
+ else
+ return 0;
+
+
+ QByteArray ba = txt.toLatin1();
+ const char* ptxt = ba.constData();
+ Xml xml(ptxt);
+ bool end = false;
+
+ unsigned begin_tick=-1; //this uses the greatest possible begin_tick
+ unsigned end_tick=0;
+
+ for (;;)
+ {
+ Xml::Token token = xml.parse();
+ const QString& tag = xml.s1();
+ switch (token)
+ {
+ case Xml::Error:
+ case Xml::End:
+ end = true;
+ break;
+
+ case Xml::TagStart:
+ if (tag == "part")
+ {
+ Part* p = 0;
+ p = readXmlPart(xml, NULL, false, false);
+
+ if (p)
+ {
+ if (p->tick() < begin_tick)
+ begin_tick=p->tick();
+
+ if (p->endTick() > end_tick)
+ end_tick=p->endTick();
+
+ delete p;
+ }
+ }
+ else
+ xml.unknown("PartCanvas::get_paste_len");
+ break;
+
+ case Xml::TagEnd:
+ break;
+
+ default:
+ end = true;
+ break;
+ }
+ if(end)
+ break;
+ }
+
+ if (begin_tick > end_tick)
+ return 0;
+ else
+ return end_tick - begin_tick;
+}
+
+
+Undo PartCanvas::pasteAt(const QString& pt, Track* track, unsigned int pos, bool clone, bool toTrack, int* finalPosPtr, set<Track*>* affected_tracks)
{
Undo operations;
@@ -2821,6 +2919,8 @@ Undo PartCanvas::pasteAt(const QString& pt, Track* track, unsigned int pos, bool
}
p->setSelected(true);
operations.push_back(UndoOp(UndoOp::AddPart,p));
+ if (affected_tracks)
+ affected_tracks->insert(p->track());
}
else
xml.unknown("PartCanvas::pasteAt");
@@ -2855,16 +2955,12 @@ Undo PartCanvas::pasteAt(const QString& pt, Track* track, unsigned int pos, bool
// paste part to current selected track at cpos
//---------------------------------------------------------
-void PartCanvas::paste(bool clone, bool toTrack, bool doInsert)
+void PartCanvas::paste(bool clone, paste_mode_t paste_mode, bool to_single_track, int amount, int raster)
{
Track* track = 0;
-
- if (doInsert) // logic depends on keeping track of newly selected tracks
- deselectAll();
-
-
+
// If we want to paste to a selected track...
- if(toTrack)
+ if (to_single_track)
{
TrackList* tl = song->tracks();
for (iTrack i = tl->begin(); i != tl->end(); ++i) {
@@ -2897,7 +2993,7 @@ void PartCanvas::paste(bool clone, bool toTrack, bool doInsert)
if(md->hasFormat(pfx + mdpl))
{
// If we want to paste to a selected track...
- if(toTrack && !track->isMidiTrack())
+ if(to_single_track && !track->isMidiTrack())
{
QMessageBox::critical(this, QString("MusE"),
tr("Can only paste to midi/drum track"));
@@ -2905,11 +3001,10 @@ void PartCanvas::paste(bool clone, bool toTrack, bool doInsert)
}
txt = cb->text(mdpl, QClipboard::Clipboard);
}
- else
- if(md->hasFormat(pfx + wvpl))
+ else if(md->hasFormat(pfx + wvpl))
{
// If we want to paste to a selected track...
- if(toTrack && track->type() != Track::WAVE)
+ if(to_single_track && track->type() != Track::WAVE)
{
QMessageBox::critical(this, QString("MusE"),
tr("Can only paste to wave track"));
@@ -2917,11 +3012,10 @@ void PartCanvas::paste(bool clone, bool toTrack, bool doInsert)
}
txt = cb->text(wvpl, QClipboard::Clipboard);
}
- else
- if(md->hasFormat(pfx + mxpl))
+ else if(md->hasFormat(pfx + mxpl))
{
// If we want to paste to a selected track...
- if(toTrack && !track->isMidiTrack() && track->type() != Track::WAVE)
+ if(to_single_track && !track->isMidiTrack() && track->type() != Track::WAVE)
{
QMessageBox::critical(this, QString("MusE"),
tr("Can only paste to midi or wave track"));
@@ -2940,15 +3034,35 @@ void PartCanvas::paste(bool clone, bool toTrack, bool doInsert)
{
int endPos=0;
unsigned int startPos=song->vcpos();
+ set<Track*> affected_tracks;
+
deselectAll();
- Undo operations=pasteAt(txt, track, startPos, clone, toTrack, &endPos);
+
+ Undo operations;
+ for (int i=0;i<amount;i++)
+ {
+ Undo temp = pasteAt(txt, track, startPos + i*raster, clone, to_single_track, &endPos, &affected_tracks);
+ operations.insert(operations.end(), temp.begin(), temp.end());
+ }
+
Pos p(endPos, true);
song->setPos(0, p);
- if (doInsert) {
- int offset = endPos-startPos;
- Undo temp=movePartsTotheRight(startPos, offset);
+
+ if (paste_mode != PASTEMODE_MIX)
+ {
+ int offset;
+ if (amount==1) offset = endPos-startPos;
+ else offset = amount*raster;
+
+ Undo temp;
+ if (paste_mode==PASTEMODE_MOVESOME)
+ temp=movePartsTotheRight(startPos, offset, false, &affected_tracks);
+ else
+ temp=movePartsTotheRight(startPos, offset);
+
operations.insert(operations.end(), temp.begin(), temp.end());
}
+
song->applyOperationGroup(operations);
}
diff --git a/muse2/muse/arranger/pcanvas.h b/muse2/muse/arranger/pcanvas.h
index 837d8c05..f9f9a3df 100644
--- a/muse2/muse/arranger/pcanvas.h
+++ b/muse2/muse/arranger/pcanvas.h
@@ -10,6 +10,7 @@
#define __PCANVAS_H__
#include <QVector>
+#include <set>
#include "song.h"
#include "canvas.h"
@@ -110,8 +111,9 @@ class PartCanvas : public Canvas {
void copy(PartList*);
void copy_in_range(PartList*);
- void paste(bool clone = false, bool toTrack = true, bool doInsert=false);
- Undo pasteAt(const QString&, Track*, unsigned int, bool clone = false, bool toTrack = true, int* finalPosPtr = NULL);
+ enum paste_mode_t { PASTEMODE_MIX, PASTEMODE_MOVEALL, PASTEMODE_MOVESOME };
+ void paste(bool clone = false, paste_mode_t paste_mode = PASTEMODE_MIX, bool to_single_track=false, int amount=1, int raster=1536);
+ Undo pasteAt(const QString&, Track*, unsigned int, bool clone = false, bool toTrack = true, int* finalPosPtr = NULL, std::set<Track*>* affected_tracks = NULL);
//Part* readClone(Xml&, Track*, bool toTrack = true);
void drawWavePart(QPainter&, const QRect&, WavePart*, const QRect&);
//void drawMidiPart(QPainter&, const QRect& rect, EventList* events, MidiTrack*mt, const QRect& r, int pTick, int from, int to);
@@ -148,8 +150,8 @@ class PartCanvas : public Canvas {
void returnPressed();
public:
- enum { CMD_CUT_PART, CMD_COPY_PART, CMD_COPY_PART_IN_RANGE, CMD_PASTE_PART, CMD_PASTE_CLONE_PART, CMD_PASTE_PART_TO_TRACK, CMD_PASTE_CLONE_PART_TO_TRACK,
- CMD_INSERT_PART, CMD_INSERT_EMPTYMEAS };
+ enum { CMD_CUT_PART, CMD_COPY_PART, CMD_COPY_PART_IN_RANGE, CMD_PASTE_PART, CMD_PASTE_CLONE_PART,
+ CMD_PASTE_DIALOG, CMD_PASTE_CLONE_DIALOG, CMD_INSERT_EMPTYMEAS };
PartCanvas(int* raster, QWidget* parent, int, int);
void partsChanged();
diff --git a/muse2/muse/dialogs.cpp b/muse2/muse/dialogs.cpp
new file mode 100644
index 00000000..674aa232
--- /dev/null
+++ b/muse2/muse/dialogs.cpp
@@ -0,0 +1,126 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: functions.cpp,v 1.20.2.19 2011/05/05 20:10 flo93 Exp $
+// (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#include "dialogs.h"
+#include "widgets/function_dialogs/velocity.h"
+#include "widgets/function_dialogs/quantize.h"
+#include "widgets/function_dialogs/crescendo.h"
+#include "widgets/function_dialogs/gatetime.h"
+#include "widgets/function_dialogs/remove.h"
+#include "widgets/function_dialogs/transpose.h"
+#include "widgets/function_dialogs/setlen.h"
+#include "widgets/function_dialogs/move.h"
+#include "widgets/function_dialogs/deloverlaps.h"
+#include "widgets/function_dialogs/legato.h"
+#include "widgets/pastedialog.h"
+
+#include "xml.h"
+
+#include <iostream>
+
+using namespace std;
+
+GateTime* gatetime_dialog=NULL;
+Velocity* velocity_dialog=NULL;
+Quantize* quantize_dialog=NULL;
+Remove* erase_dialog=NULL;
+DelOverlaps* del_overlaps_dialog=NULL;
+Setlen* set_notelen_dialog=NULL;
+Move* move_notes_dialog=NULL;
+Transpose* transpose_dialog=NULL;
+Crescendo* crescendo_dialog=NULL;
+Legato* legato_dialog=NULL;
+PasteDialog* paste_dialog=NULL;
+
+void init_function_dialogs(QWidget* parent)
+{
+ gatetime_dialog = new GateTime(parent);
+ velocity_dialog = new Velocity(parent);
+ quantize_dialog = new Quantize(parent);
+ erase_dialog = new Remove(parent);
+ del_overlaps_dialog = new DelOverlaps(parent);
+ set_notelen_dialog = new Setlen(parent);
+ move_notes_dialog = new Move(parent);
+ transpose_dialog = new Transpose(parent);
+ crescendo_dialog = new Crescendo(parent);
+ legato_dialog = new Legato(parent);
+ paste_dialog = new PasteDialog(parent);
+}
+
+void read_function_dialog_config(Xml& xml)
+{
+ if (erase_dialog==NULL)
+ {
+ cout << "ERROR: THIS SHOULD NEVER HAPPEN: read_function_dialog_config() called, but\n"
+ " dialogs are still uninitalized (NULL)!"<<endl;
+ return;
+ }
+
+ for (;;)
+ {
+ Xml::Token token = xml.parse();
+ if (token == Xml::Error || token == Xml::End)
+ break;
+
+ const QString& tag = xml.s1();
+ switch (token)
+ {
+ case Xml::TagStart:
+ if (tag == "mod_len")
+ gatetime_dialog->read_configuration(xml);
+ else if (tag == "mod_velo")
+ velocity_dialog->read_configuration(xml);
+ else if (tag == "quantize")
+ quantize_dialog->read_configuration(xml);
+ else if (tag == "erase")
+ erase_dialog->read_configuration(xml);
+ else if (tag == "del_overlaps")
+ del_overlaps_dialog->read_configuration(xml);
+ else if (tag == "setlen")
+ set_notelen_dialog->read_configuration(xml);
+ else if (tag == "move")
+ move_notes_dialog->read_configuration(xml);
+ else if (tag == "transpose")
+ transpose_dialog->read_configuration(xml);
+ else if (tag == "crescendo")
+ crescendo_dialog->read_configuration(xml);
+ else if (tag == "legato")
+ legato_dialog->read_configuration(xml);
+ else if (tag == "pastedialog")
+ paste_dialog->read_configuration(xml);
+ else
+ xml.unknown("dialogs");
+ break;
+
+ case Xml::TagEnd:
+ if (tag == "dialogs")
+ return;
+
+ default:
+ break;
+ }
+ }
+}
+
+void write_function_dialog_config(int level, Xml& xml)
+{
+ xml.tag(level++, "dialogs");
+
+ gatetime_dialog->write_configuration(level, xml);
+ velocity_dialog->write_configuration(level, xml);
+ quantize_dialog->write_configuration(level, xml);
+ erase_dialog->write_configuration(level, xml);
+ del_overlaps_dialog->write_configuration(level, xml);
+ set_notelen_dialog->write_configuration(level, xml);
+ move_notes_dialog->write_configuration(level, xml);
+ transpose_dialog->write_configuration(level, xml);
+ crescendo_dialog->write_configuration(level, xml);
+ legato_dialog->write_configuration(level, xml);
+ paste_dialog->write_configuration(level, xml);
+
+ xml.tag(level, "/dialogs");
+}
diff --git a/muse2/muse/dialogs.h b/muse2/muse/dialogs.h
new file mode 100644
index 00000000..3a99cdb0
--- /dev/null
+++ b/muse2/muse/dialogs.h
@@ -0,0 +1,42 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: dialogs.h,v 1.20.2.19 2011/05/05 20:10 flo93 Exp $
+// (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#ifndef __DIALOGS_H__
+#define __DIALOGS_H__
+
+class QWidget;
+class GateTime;
+class Velocity;
+class Quantize;
+class Remove;
+class DelOverlaps;
+class Setlen;
+class Move;
+class Transpose;
+class Crescendo;
+class Legato;
+class PasteDialog;
+
+class Xml;
+
+extern GateTime* gatetime_dialog;
+extern Velocity* velocity_dialog;
+extern Quantize* quantize_dialog;
+extern Remove* erase_dialog;
+extern DelOverlaps* del_overlaps_dialog;
+extern Setlen* set_notelen_dialog;
+extern Move* move_notes_dialog;
+extern Transpose* transpose_dialog;
+extern Crescendo* crescendo_dialog;
+extern Legato* legato_dialog;
+extern PasteDialog* paste_dialog;
+
+void init_function_dialogs(QWidget* parent);
+void read_function_dialog_config(Xml& xml);
+void write_function_dialog_config(int level, Xml& xml);
+
+#endif
diff --git a/muse2/muse/functions.cpp b/muse2/muse/functions.cpp
index 025f6c63..d410844a 100644
--- a/muse2/muse/functions.cpp
+++ b/muse2/muse/functions.cpp
@@ -13,6 +13,17 @@
#include "audio.h"
#include "gconfig.h"
+#include "widgets/function_dialogs/velocity.h"
+#include "widgets/function_dialogs/quantize.h"
+#include "widgets/function_dialogs/crescendo.h"
+#include "widgets/function_dialogs/gatetime.h"
+#include "widgets/function_dialogs/remove.h"
+#include "widgets/function_dialogs/transpose.h"
+#include "widgets/function_dialogs/setlen.h"
+#include "widgets/function_dialogs/move.h"
+#include "widgets/function_dialogs/deloverlaps.h"
+#include "widgets/function_dialogs/legato.h"
+
#include <values.h>
#include <iostream>
#include <errno.h>
@@ -28,44 +39,10 @@
#include <QMessageBox>
#include <QClipboard>
-#include "widgets/function_dialogs/velocity.h"
-#include "widgets/function_dialogs/quantize.h"
-#include "widgets/function_dialogs/crescendo.h"
-#include "widgets/function_dialogs/gatetime.h"
-#include "widgets/function_dialogs/remove.h"
-#include "widgets/function_dialogs/transpose.h"
-#include "widgets/function_dialogs/setlen.h"
-#include "widgets/function_dialogs/move.h"
-#include "widgets/function_dialogs/deloverlaps.h"
-#include "widgets/function_dialogs/legato.h"
using namespace std;
-GateTime* gatetime_dialog=NULL;
-Velocity* velocity_dialog=NULL;
-Quantize* quantize_dialog=NULL;
-Remove* erase_dialog=NULL;
-DelOverlaps* del_overlaps_dialog=NULL;
-Setlen* set_notelen_dialog=NULL;
-Move* move_notes_dialog=NULL;
-Transpose* transpose_dialog=NULL;
-Crescendo* crescendo_dialog=NULL;
-Legato* legato_dialog=NULL;
-
-void init_function_dialogs(QWidget* parent)
-{
- gatetime_dialog = new GateTime(parent);
- velocity_dialog = new Velocity(parent);
- quantize_dialog = new Quantize(parent);
- erase_dialog = new Remove(parent);
- del_overlaps_dialog = new DelOverlaps(parent);
- set_notelen_dialog = new Setlen(parent);
- move_notes_dialog = new Move(parent);
- transpose_dialog = new Transpose(parent);
- crescendo_dialog = new Crescendo(parent);
- legato_dialog = new Legato(parent);
-}
set<Part*> partlist_to_set(PartList* pl)
{
@@ -1230,74 +1207,3 @@ void clean_parts()
song->applyOperationGroup(operations);
}
-
-void read_function_dialog_config(Xml& xml)
-{
- if (erase_dialog==NULL)
- {
- cout << "ERROR: THIS SHOULD NEVER HAPPEN: read_function_dialog_config() called, but\n"
- " dialogs are still uninitalized (NULL)!"<<endl;
- return;
- }
-
- for (;;)
- {
- Xml::Token token = xml.parse();
- if (token == Xml::Error || token == Xml::End)
- break;
-
- const QString& tag = xml.s1();
- switch (token)
- {
- case Xml::TagStart:
- if (tag == "mod_len")
- gatetime_dialog->read_configuration(xml);
- else if (tag == "mod_velo")
- velocity_dialog->read_configuration(xml);
- else if (tag == "quantize")
- quantize_dialog->read_configuration(xml);
- else if (tag == "erase")
- erase_dialog->read_configuration(xml);
- else if (tag == "del_overlaps")
- del_overlaps_dialog->read_configuration(xml);
- else if (tag == "setlen")
- set_notelen_dialog->read_configuration(xml);
- else if (tag == "move")
- move_notes_dialog->read_configuration(xml);
- else if (tag == "transpose")
- transpose_dialog->read_configuration(xml);
- else if (tag == "crescendo")
- crescendo_dialog->read_configuration(xml);
- else if (tag == "legato")
- legato_dialog->read_configuration(xml);
- else
- xml.unknown("function_dialogs");
- break;
-
- case Xml::TagEnd:
- if (tag == "dialogs")
- return;
-
- default:
- break;
- }
- }
-}
-
-void write_function_dialog_config(int level, Xml& xml)
-{
- xml.tag(level++, "dialogs");
-
- gatetime_dialog->write_configuration(level, xml);
- velocity_dialog->write_configuration(level, xml);
- quantize_dialog->write_configuration(level, xml);
- erase_dialog->write_configuration(level, xml);
- del_overlaps_dialog->write_configuration(level, xml);
- set_notelen_dialog->write_configuration(level, xml);
- move_notes_dialog->write_configuration(level, xml);
- transpose_dialog->write_configuration(level, xml);
- crescendo_dialog->write_configuration(level, xml);
- legato_dialog->write_configuration(level, xml);
-
- xml.tag(level, "/dialogs");
-}
diff --git a/muse2/muse/functions.h b/muse2/muse/functions.h
index 4e2e7151..1d3233b7 100644
--- a/muse2/muse/functions.h
+++ b/muse2/muse/functions.h
@@ -10,36 +10,13 @@
#include <set>
#include "part.h"
+#include "dialogs.h"
#include <QWidget>
class QString;
class QMimeData;
class Undo;
-class GateTime;
-class Velocity;
-class Quantize;
-class Remove;
-class DelOverlaps;
-class Setlen;
-class Move;
-class Transpose;
-class Crescendo;
-class Legato;
-
-extern GateTime* gatetime_dialog;
-extern Velocity* velocity_dialog;
-extern Quantize* quantize_dialog;
-extern Remove* erase_dialog;
-extern DelOverlaps* del_overlaps_dialog;
-extern Setlen* set_notelen_dialog;
-extern Move* move_notes_dialog;
-extern Transpose* transpose_dialog;
-extern Crescendo* crescendo_dialog;
-extern Legato* legato_dialog;
-
-void init_function_dialogs(QWidget* parent);
-
#define FUNCTION_RANGE_ONLY_SELECTED 1
#define FUNCTION_RANGE_ONLY_BETWEEN_MARKERS 2
@@ -109,9 +86,4 @@ void expand_parts(int raster=-1);
void schedule_resize_all_same_len_clone_parts(Part* part, unsigned new_len, Undo& operations);
void clean_parts();
-//functions for reading and writing default values
-class Xml;
-void read_function_dialog_config(Xml& xml);
-void write_function_dialog_config(int level, Xml& xml);
-
#endif
diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp
index afcc3e37..4ce73eb0 100644
--- a/muse2/muse/midiedit/scoreedit.cpp
+++ b/muse2/muse/midiedit/scoreedit.cpp
@@ -4443,8 +4443,6 @@ void staff_t::update_part_indices()
/* BUGS and potential bugs
- * o THIS SHOULD NEVER HAPPEN: could not split note (found by tim)
- *
* o tied notes don't work properly when there's a key-change in
* between, for example, when a cis is tied to a des
* o schedule_all_same_len_parts: if there are two clones A and B,
@@ -4455,6 +4453,10 @@ void staff_t::update_part_indices()
* changing "share" status, the changed state isn't stored
*
* CURRENT TODO
+ * ! o paste-slot must set up the dialog properly: set raster to correct default !!
+ * ! o paste function: "move only some parts" !!
+ *
+ *
* M o remove that ugly "bool initalizing" stuff. it's probably unneeded (watch out for the FINDMICH message)
* M o shortcuts for "pencil" in score editor etc.
* o mirror most menus to an additional right-click context menu to avoid the long mouse pointer
diff --git a/muse2/muse/muse.log b/muse2/muse/muse.log
deleted file mode 100644
index 887f40d5..00000000
--- a/muse2/muse/muse.log
+++ /dev/null
@@ -1,1875 +0,0 @@
-
-*** Beginning merge of project muse
-
-User: ws
-Date: Mon, 11 Aug 2003 15:03:52 +0200
-Common version: 0.2
-Selected version: 0.4
-Working version: 0.2(w)
-
-*** Action on file `m4/alsa.m4'
-No prompt for file `m4/alsa.m4'
-
-*** Action on file `m4/docbook.m4'
-No prompt for file `m4/docbook.m4'
-
-*** Action on file `m4/Makefile.am'
-No prompt for file `m4/Makefile.am'
-
-*** Action on file `m4/aclocal-include.m4'
-No prompt for file `m4/aclocal-include.m4'
-
-*** Action on file `m4/qt.m4'
-No prompt for file `m4/qt.m4'
-
-*** Action on file [symlink:COPYING]
-No prompt for file [symlink:COPYING]
-
-*** Action on file [symlink:INSTALL]
-No prompt for file [symlink:INSTALL]
-
-*** Action on file [symlink:depcomp]
-No prompt for file [symlink:depcomp]
-
-*** Action on file [symlink:mkinstalldirs]
-No prompt for file [symlink:mkinstalldirs]
-
-*** Action on file [symlink:missing]
-No prompt for file [symlink:missing]
-
-*** Action on file [symlink:config.sub]
-No prompt for file [symlink:config.sub]
-
-*** Action on file [symlink:install-sh]
-No prompt for file [symlink:install-sh]
-
-*** Action on file [symlink:config.guess]
-No prompt for file [symlink:config.guess]
-
-*** Action on file [symlink:ltmain.sh]
-No prompt for file [symlink:ltmain.sh]
-
-*** Action on file `configure.ac'
-No prompt for file `configure.ac'
-
-*** Action on file `Doxyfile.in'
-No prompt for file `Doxyfile.in'
-
-*** Action on file `common.am'
-No prompt for file `common.am'
-
-*** Action on file `aclocal.m4'
-No prompt for file `aclocal.m4'
-
-*** Action on file `ChangeLog'
-No prompt for file `ChangeLog'
-
-*** Action on file `README.ladspaguis'
-No prompt for file `README.ladspaguis'
-
-*** Action on file `README.instruments'
-No prompt for file `README.instruments'
-
-*** Action on file `README.translate'
-No prompt for file `README.translate'
-
-*** Action on file `README'
-No prompt for file `README'
-
-*** Action on file `README.de'
-No prompt for file `README.de'
-
-*** Action on file `AUTHORS'
-No prompt for file `AUTHORS'
-
-*** Action on file `README.shortcuts'
-No prompt for file `README.shortcuts'
-
-*** Action on file `README.CVS'
-No prompt for file `README.CVS'
-
-*** Action on file `NEWS'
-No prompt for file `NEWS'
-
-*** Action on file `README.softsynth'
-No prompt for file `README.softsynth'
-
-*** Action on file `SECURITY'
-No prompt for file `SECURITY'
-
-*** Action on file `.cvsignore'
-No prompt for file `.cvsignore'
-
-*** Action on file `Makefile.am'
-No prompt for file `Makefile.am'
-
-*** Action on file `pos.h'
-No prompt for file `pos.h'
-
-*** Action on file `mtc.h'
-No prompt for file `mtc.h'
-
-*** Action on file `cfprint.cpp'
-No prompt for file `cfprint.cpp'
-
-*** Action on file `key.h'
-No prompt for file `key.h'
-
-*** Action on file `app.h'
-No prompt for file `app.h'
-
-*** Action on file `song.cpp'
-No prompt for file `song.cpp'
-
-*** Action on file `key.cpp'
-No prompt for file `key.cpp'
-
-*** Action on file `memory.cpp'
-No prompt for file `memory.cpp'
-
-*** Action on file `midiport.h'
-No prompt for file `midiport.h'
-
-*** Action on file `xml.cpp'
-No prompt for file `xml.cpp'
-
-*** Action on file `undo.cpp'
-No prompt for file `undo.cpp'
-
-*** Action on file `debug.h'
-No prompt for file `debug.h'
-
-*** Action on file `app.cpp'
-No prompt for file `app.cpp'
-
-*** Action on file `thread.h'
-No prompt for file `thread.h'
-
-*** Action on file `icons.h'
-No prompt for file `icons.h'
-
-*** Action on file `midithread.cpp'
-Copied working file `midithread.cpp' to `obsolete/midithread.cpp.v0'
-Merge file `midithread.cpp' by rule 2
-
-*** Action on file `device.h'
-No prompt for file `device.h'
-
-*** Action on file `icons.cpp'
-No prompt for file `icons.cpp'
-
-*** Action on file `wave.h'
-No prompt for file `wave.h'
-
-*** Action on file `ladspa.h'
-No prompt for file `ladspa.h'
-
-*** Action on file `undo.h'
-No prompt for file `undo.h'
-
-*** Action on file `sync.h'
-No prompt for file `sync.h'
-
-*** Action on file `song.h'
-No prompt for file `song.h'
-
-*** Action on file `value.cpp'
-No prompt for file `value.cpp'
-
-*** Action on file `midiport.cpp'
-No prompt for file `midiport.cpp'
-
-*** Action on file `givertcap.c'
-No prompt for file `givertcap.c'
-
-*** Action on file `value.h'
-No prompt for file `value.h'
-
-*** Action on file `part.h'
-No prompt for file `part.h'
-
-*** Action on file `node.h'
-No prompt for file `node.h'
-
-*** Action on file `cobject.cpp'
-No prompt for file `cobject.cpp'
-
-*** Action on file `midithread.h'
-No prompt for file `midithread.h'
-
-*** Action on file `tempo.cpp'
-No prompt for file `tempo.cpp'
-
-*** Action on file `memory.h'
-Copied working file `memory.h' to `obsolete/memory.h.v0'
-Merge file `memory.h' by rule 2, conflicts created
-
-*** Action on file `help.cpp'
-No prompt for file `help.cpp'
-
-*** Action on file `audiomix.h'
-No prompt for file `audiomix.h'
-
-*** Action on file `thread.cpp'
-No prompt for file `thread.cpp'
-
-*** Action on file `mrecord.cpp'
-No prompt for file `mrecord.cpp'
-
-*** Action on file `globals.cpp'
-No prompt for file `globals.cpp'
-
-*** Action on file `pos.cpp'
-No prompt for file `pos.cpp'
-
-*** Action on file `track.cpp'
-No prompt for file `track.cpp'
-
-*** Action on file `midictrl.h'
-No prompt for file `midictrl.h'
-
-*** Action on file `node.cpp'
-No prompt for file `node.cpp'
-
-*** Action on file `audiomix.cpp'
-No prompt for file `audiomix.cpp'
-
-*** Action on file `transport.h'
-No prompt for file `transport.h'
-
-*** Action on file `transpose.h'
-No prompt for file `transpose.h'
-
-*** Action on file `seqmsg.cpp'
-No prompt for file `seqmsg.cpp'
-
-*** Action on file `audionode.h'
-No prompt for file `audionode.h'
-
-*** Action on file `audio.h'
-No prompt for file `audio.h'
-
-*** Action on file `grepmidi.cpp'
-No prompt for file `grepmidi.cpp'
-
-*** Action on file `globals.h'
-No prompt for file `globals.h'
-
-*** Action on file `midieditor.cpp'
-No prompt for file `midieditor.cpp'
-
-*** Action on file `wave.cpp'
-No prompt for file `wave.cpp'
-
-*** Action on file `midi.h'
-No prompt for file `midi.h'
-
-*** Action on file `mess.h'
-No prompt for file `mess.h'
-
-*** Action on file `sync.cpp'
-No prompt for file `sync.cpp'
-
-*** Action on file `config.h.in'
-No prompt for file `config.h.in'
-
-*** Action on file `track.h'
-No prompt for file `track.h'
-
-*** Action on file `mtc.cpp'
-No prompt for file `mtc.cpp'
-
-*** Action on file `minstrument.h'
-No prompt for file `minstrument.h'
-
-*** Action on file `cobject.h'
-No prompt for file `cobject.h'
-
-*** Action on file `synth.h'
-No prompt for file `synth.h'
-
-*** Action on file `songfile.cpp'
-No prompt for file `songfile.cpp'
-
-*** Action on file `midictrl.cpp'
-No prompt for file `midictrl.cpp'
-
-*** Action on file `mpevent.h'
-No prompt for file `mpevent.h'
-
-*** Action on file `font.h'
-No prompt for file `font.h'
-
-*** Action on file `conf.cpp'
-No prompt for file `conf.cpp'
-
-*** Action on file `conf.h'
-No prompt for file `conf.h'
-
-*** Action on file `event.cpp'
-No prompt for file `event.cpp'
-
-*** Action on file `midi.cpp'
-No prompt for file `midi.cpp'
-
-*** Action on file `event.h'
-No prompt for file `event.h'
-
-*** Action on file `audioprefetch.h'
-No prompt for file `audioprefetch.h'
-
-*** Action on file `mpevent.cpp'
-No prompt for file `mpevent.cpp'
-
-*** Action on file `appearance.cpp'
-No prompt for file `appearance.cpp'
-
-*** Action on file `autogen.sh'
-No prompt for file `autogen.sh'
-
-*** Action on file `tempo.h'
-No prompt for file `tempo.h'
-
-*** Action on file `muse.pro'
-No prompt for file `muse.pro'
-
-*** Action on file `part.cpp'
-No prompt for file `part.cpp'
-
-*** Action on file `make.inc'
-No prompt for file `make.inc'
-
-*** Action on file `confmport.h'
-No prompt for file `confmport.h'
-
-*** Action on file `audio.cpp'
-No prompt for file `audio.cpp'
-
-*** Action on file `confmport.cpp'
-No prompt for file `confmport.cpp'
-
-*** Action on file `cfprint.h'
-No prompt for file `cfprint.h'
-
-*** Action on file `sig.cpp'
-No prompt for file `sig.cpp'
-
-*** Action on file `font.cpp'
-No prompt for file `font.cpp'
-
-*** Action on file `midieditor.h'
-No prompt for file `midieditor.h'
-
-*** Action on file `appearance.h'
-No prompt for file `appearance.h'
-
-*** Action on file `globaldefs.h'
-No prompt for file `globaldefs.h'
-
-*** Action on file `seq.cpp'
-No prompt for file `seq.cpp'
-
-*** Action on file `miditransform.cpp'
-No prompt for file `miditransform.cpp'
-
-*** Action on file `miditransform.h'
-No prompt for file `miditransform.h'
-
-*** Action on file `minstrument.cpp'
-Copied working file `minstrument.cpp' to `obsolete/minstrument.cpp.v0'
-Merge file `minstrument.cpp' by rule 2
-
-*** Action on file `audioprefetch.cpp'
-No prompt for file `audioprefetch.cpp'
-
-*** Action on file `transport.cpp'
-No prompt for file `transport.cpp'
-
-*** Action on file `transpose.cpp'
-No prompt for file `transpose.cpp'
-
-*** Action on file `xml.h'
-No prompt for file `xml.h'
-
-*** Action on file `sig.h'
-No prompt for file `sig.h'
-
-*** Action on file `seq.h'
-No prompt for file `seq.h'
-
-*** Action on file `demos/Makefile.am'
-No prompt for file `demos/Makefile.am'
-
-*** Action on file `demos/rasen.med'
-No prompt for file `demos/rasen.med'
-
-*** Action on file `widgets/.cvsignore'
-No prompt for file `widgets/.cvsignore'
-
-*** Action on file `widgets/mmath.cpp'
-No prompt for file `widgets/mmath.cpp'
-
-*** Action on file `widgets/dimap.cpp'
-No prompt for file `widgets/dimap.cpp'
-
-*** Action on file `widgets/utils.cpp'
-No prompt for file `widgets/utils.cpp'
-
-*** Action on file `widgets/sclif.cpp'
-No prompt for file `widgets/sclif.cpp'
-
-*** Action on file `widgets/filedialog.cpp'
-No prompt for file `widgets/filedialog.cpp'
-
-*** Action on file `widgets/citem.h'
-No prompt for file `widgets/citem.h'
-
-*** Action on file `widgets/bigtime.cpp'
-No prompt for file `widgets/bigtime.cpp'
-
-*** Action on file `widgets/view.cpp'
-No prompt for file `widgets/view.cpp'
-
-*** Action on file `widgets/scldraw.h'
-No prompt for file `widgets/scldraw.h'
-
-*** Action on file `widgets/sliderbase.h'
-No prompt for file `widgets/sliderbase.h'
-
-*** Action on file `widgets/hitscale.cpp'
-No prompt for file `widgets/hitscale.cpp'
-
-*** Action on file `widgets/itransformbase.ui'
-No prompt for file `widgets/itransformbase.ui'
-
-*** Action on file `widgets/header.cpp'
-No prompt for file `widgets/header.cpp'
-
-*** Action on file `widgets/tempolabel.h'
-No prompt for file `widgets/tempolabel.h'
-
-*** Action on file `widgets/velocity.cpp'
-No prompt for file `widgets/velocity.cpp'
-
-*** Action on file `widgets/midirawbase.ui'
-No prompt for file `widgets/midirawbase.ui'
-
-*** Action on file `widgets/drange.cpp'
-No prompt for file `widgets/drange.cpp'
-
-*** Action on file `widgets/header.h'
-No prompt for file `widgets/header.h'
-
-*** Action on file `widgets/mlabel.h'
-No prompt for file `widgets/mlabel.h'
-
-*** Action on file `widgets/spinboxFP.cpp'
-No prompt for file `widgets/spinboxFP.cpp'
-
-*** Action on file `widgets/mlabel.cpp'
-No prompt for file `widgets/mlabel.cpp'
-
-*** Action on file `widgets/metronome.cpp'
-No prompt for file `widgets/metronome.cpp'
-
-*** Action on file `widgets/ctrlcombo.cw'
-No prompt for file `widgets/ctrlcombo.cw'
-
-*** Action on file `widgets/sigedit.h'
-No prompt for file `widgets/sigedit.h'
-
-*** Action on file `widgets/intlabel.h'
-No prompt for file `widgets/intlabel.h'
-
-*** Action on file `widgets/comment.cpp'
-No prompt for file `widgets/comment.cpp'
-
-*** Action on file `widgets/ctrlcombo.cpp'
-No prompt for file `widgets/ctrlcombo.cpp'
-
-*** Action on file `widgets/mixdowndialog.cpp'
-No prompt for file `widgets/mixdowndialog.cpp'
-
-*** Action on file `widgets/fontsel.cpp'
-No prompt for file `widgets/fontsel.cpp'
-
-*** Action on file `widgets/hitscale.h'
-No prompt for file `widgets/hitscale.h'
-
-*** Action on file `widgets/posedit.cpp'
-No prompt for file `widgets/posedit.cpp'
-
-*** Action on file `widgets/audioconfbase.ui'
-No prompt for file `widgets/audioconfbase.ui'
-
-*** Action on file `widgets/utils.h'
-No prompt for file `widgets/utils.h'
-
-*** Action on file `widgets/splitter.cpp'
-No prompt for file `widgets/splitter.cpp'
-
-*** Action on file `widgets/editctrl7dialogbase.ui'
-No prompt for file `widgets/editctrl7dialogbase.ui'
-
-*** Action on file `widgets/doublelabel.h'
-No prompt for file `widgets/doublelabel.h'
-
-*** Action on file `widgets/noteinfo.h'
-No prompt for file `widgets/noteinfo.h'
-
-*** Action on file `widgets/sigscale.h'
-No prompt for file `widgets/sigscale.h'
-
-*** Action on file `widgets/canvas.cpp'
-No prompt for file `widgets/canvas.cpp'
-
-*** Action on file `widgets/view.h'
-No prompt for file `widgets/view.h'
-
-*** Action on file `widgets/audioconf.h'
-No prompt for file `widgets/audioconf.h'
-
-*** Action on file `widgets/ccontrolbase.ui'
-No prompt for file `widgets/ccontrolbase.ui'
-
-*** Action on file `widgets/transposebase.ui'
-No prompt for file `widgets/transposebase.ui'
-
-*** Action on file `widgets/spinboxFP.h'
-No prompt for file `widgets/spinboxFP.h'
-
-*** Action on file `widgets/mtscale.h'
-No prompt for file `widgets/mtscale.h'
-
-*** Action on file `widgets/nentry.cpp'
-No prompt for file `widgets/nentry.cpp'
-
-*** Action on file `widgets/siglabel.h'
-No prompt for file `widgets/siglabel.h'
-
-*** Action on file `widgets/transformbase.ui'
-No prompt for file `widgets/transformbase.ui'
-
-*** Action on file `widgets/mittransposebase.ui'
-No prompt for file `widgets/mittransposebase.ui'
-
-*** Action on file `widgets/dentry.h'
-No prompt for file `widgets/dentry.h'
-
-*** Action on file `widgets/slider.h'
-No prompt for file `widgets/slider.h'
-
-*** Action on file `widgets/wtscale.cpp'
-No prompt for file `widgets/wtscale.cpp'
-
-*** Action on file `widgets/action.h'
-No prompt for file `widgets/action.h'
-
-*** Action on file `widgets/nentry.h'
-No prompt for file `widgets/nentry.h'
-
-*** Action on file `widgets/ttoolbar.h'
-No prompt for file `widgets/ttoolbar.h'
-
-*** Action on file `widgets/comboQuant.cpp'
-No prompt for file `widgets/comboQuant.cpp'
-
-*** Action on file `widgets/midisyncimpl.h'
-No prompt for file `widgets/midisyncimpl.h'
-
-*** Action on file `widgets/sliderbase.cpp'
-No prompt for file `widgets/sliderbase.cpp'
-
-*** Action on file `widgets/genset.cpp'
-No prompt for file `widgets/genset.cpp'
-
-*** Action on file `widgets/velocity.h'
-No prompt for file `widgets/velocity.h'
-
-*** Action on file `widgets/poslabel.h'
-No prompt for file `widgets/poslabel.h'
-
-*** Action on file `widgets/knob.h'
-No prompt for file `widgets/knob.h'
-
-*** Action on file `widgets/cliplisteditorbase.ui'
-No prompt for file `widgets/cliplisteditorbase.ui'
-
-*** Action on file `widgets/splitter.h'
-No prompt for file `widgets/splitter.h'
-
-*** Action on file `widgets/sigedit.cpp'
-No prompt for file `widgets/sigedit.cpp'
-
-*** Action on file `widgets/audioconf.cpp'
-No prompt for file `widgets/audioconf.cpp'
-
-*** Action on file `widgets/swidget.h'
-No prompt for file `widgets/swidget.h'
-
-*** Action on file `widgets/tools.h'
-No prompt for file `widgets/tools.h'
-
-*** Action on file `widgets/pitchlabel.h'
-No prompt for file `widgets/pitchlabel.h'
-
-*** Action on file `widgets/Makefile.am'
-No prompt for file `widgets/Makefile.am'
-
-*** Action on file `widgets/moc_ttoolbar.cpp'
-No prompt for file `widgets/moc_ttoolbar.cpp'
-
-*** Action on file `widgets/intlabel.cpp'
-No prompt for file `widgets/intlabel.cpp'
-
-*** Action on file `widgets/citem.cpp'
-No prompt for file `widgets/citem.cpp'
-
-*** Action on file `widgets/canvas.h'
-No prompt for file `widgets/canvas.h'
-
-*** Action on file `widgets/doublelabel.cpp'
-No prompt for file `widgets/doublelabel.cpp'
-
-*** Action on file `widgets/slider.cpp'
-No prompt for file `widgets/slider.cpp'
-
-*** Action on file `widgets/mmath.h'
-No prompt for file `widgets/mmath.h'
-
-*** Action on file `widgets/wtscale.h'
-No prompt for file `widgets/wtscale.h'
-
-*** Action on file `widgets/genset.h'
-No prompt for file `widgets/genset.h'
-
-*** Action on file `widgets/posedit.h'
-No prompt for file `widgets/posedit.h'
-
-*** Action on file `widgets/velocitybase.ui'
-No prompt for file `widgets/velocitybase.ui'
-
-*** Action on file `widgets/ttoolbar.cpp'
-No prompt for file `widgets/ttoolbar.cpp'
-
-*** Action on file `widgets/scrollscale.cpp'
-No prompt for file `widgets/scrollscale.cpp'
-
-*** Action on file `widgets/mtscale.cpp'
-No prompt for file `widgets/mtscale.cpp'
-
-*** Action on file `widgets/noteinfo.cpp'
-No prompt for file `widgets/noteinfo.cpp'
-
-*** Action on file `widgets/lcombo.cpp'
-No prompt for file `widgets/lcombo.cpp'
-
-*** Action on file `widgets/appearancebase.ui'
-No prompt for file `widgets/appearancebase.ui'
-
-*** Action on file `widgets/vscale.h'
-No prompt for file `widgets/vscale.h'
-
-*** Action on file `widgets/scldiv.h'
-No prompt for file `widgets/scldiv.h'
-
-*** Action on file `widgets/drange.h'
-No prompt for file `widgets/drange.h'
-
-*** Action on file `widgets/midisync.ui'
-No prompt for file `widgets/midisync.ui'
-
-*** Action on file `widgets/wtrackinfobase.ui'
-No prompt for file `widgets/wtrackinfobase.ui'
-
-*** Action on file `widgets/vscale.cpp'
-No prompt for file `widgets/vscale.cpp'
-
-*** Action on file `widgets/editsysexdialogbase.ui'
-No prompt for file `widgets/editsysexdialogbase.ui'
-
-*** Action on file `widgets/gatetimebase.ui'
-No prompt for file `widgets/gatetimebase.ui'
-
-*** Action on file `widgets/editmetadialogbase.ui'
-No prompt for file `widgets/editmetadialogbase.ui'
-
-*** Action on file `widgets/sigscale.cpp'
-No prompt for file `widgets/sigscale.cpp'
-
-*** Action on file `widgets/mtrackinfobase.ui'
-No prompt for file `widgets/mtrackinfobase.ui'
-
-*** Action on file `widgets/metronome.h'
-No prompt for file `widgets/metronome.h'
-
-*** Action on file `widgets/gatetime.cpp'
-No prompt for file `widgets/gatetime.cpp'
-
-*** Action on file `widgets/tb1.cpp'
-No prompt for file `widgets/tb1.cpp'
-
-*** Action on file `widgets/gensetbase.ui'
-No prompt for file `widgets/gensetbase.ui'
-
-*** Action on file `widgets/scldraw.cpp'
-No prompt for file `widgets/scldraw.cpp'
-
-*** Action on file `widgets/bigtime.h'
-No prompt for file `widgets/bigtime.h'
-
-*** Action on file `widgets/poslabel.cpp'
-No prompt for file `widgets/poslabel.cpp'
-
-*** Action on file `widgets/metronomebase.ui'
-No prompt for file `widgets/metronomebase.ui'
-
-*** Action on file `widgets/scrollscale.h'
-No prompt for file `widgets/scrollscale.h'
-
-*** Action on file `widgets/fdialogbuttons.ui'
-No prompt for file `widgets/fdialogbuttons.ui'
-
-*** Action on file `widgets/sclif.h'
-No prompt for file `widgets/sclif.h'
-
-*** Action on file `widgets/tools.cpp'
-No prompt for file `widgets/tools.cpp'
-
-*** Action on file `widgets/filedialog.h'
-No prompt for file `widgets/filedialog.h'
-
-*** Action on file `widgets/pitchlabel.cpp'
-No prompt for file `widgets/pitchlabel.cpp'
-
-*** Action on file `widgets/scldiv.cpp'
-No prompt for file `widgets/scldiv.cpp'
-
-*** Action on file `widgets/musewidgetsplug.cpp'
-No prompt for file `widgets/musewidgetsplug.cpp'
-
-*** Action on file `widgets/midisyncimpl.cpp'
-No prompt for file `widgets/midisyncimpl.cpp'
-
-*** Action on file `widgets/commentbase.ui'
-No prompt for file `widgets/commentbase.ui'
-
-*** Action on file `widgets/dentry.cpp'
-No prompt for file `widgets/dentry.cpp'
-
-*** Action on file `widgets/comment.h'
-No prompt for file `widgets/comment.h'
-
-*** Action on file `widgets/ctrlcombo.h'
-No prompt for file `widgets/ctrlcombo.h'
-
-*** Action on file `widgets/comboQuant.h'
-No prompt for file `widgets/comboQuant.h'
-
-*** Action on file `widgets/gatetime.h'
-No prompt for file `widgets/gatetime.h'
-
-*** Action on file `widgets/tb1.h'
-No prompt for file `widgets/tb1.h'
-
-*** Action on file `widgets/editnotedialogbase.ui'
-No prompt for file `widgets/editnotedialogbase.ui'
-
-*** Action on file `widgets/pitchedit.h'
-No prompt for file `widgets/pitchedit.h'
-
-*** Action on file `widgets/lcombo.h'
-No prompt for file `widgets/lcombo.h'
-
-*** Action on file `widgets/fontsel.h'
-No prompt for file `widgets/fontsel.h'
-
-*** Action on file `widgets/tempolabel.cpp'
-No prompt for file `widgets/tempolabel.cpp'
-
-*** Action on file `widgets/knob.cpp'
-No prompt for file `widgets/knob.cpp'
-
-*** Action on file `widgets/dimap.h'
-No prompt for file `widgets/dimap.h'
-
-*** Action on file `widgets/pitchedit.cpp'
-No prompt for file `widgets/pitchedit.cpp'
-
-*** Action on file `widgets/siglabel.cpp'
-No prompt for file `widgets/siglabel.cpp'
-
-*** Action on file `widgets/mixdowndialog.h'
-No prompt for file `widgets/mixdowndialog.h'
-
-*** Action on file `widgets/mixdowndialogbase.ui'
-No prompt for file `widgets/mixdowndialogbase.ui'
-
-*** Action on file `widgets/synthconfigbase.ui'
-No prompt for file `widgets/synthconfigbase.ui'
-
-*** Action on file `widgets/swidget.cpp'
-No prompt for file `widgets/swidget.cpp'
-
-*** Action on file `widgets/section.h'
-No prompt for file `widgets/section.h'
-
-*** Action on file `arranger/pcanvas.h'
-No prompt for file `arranger/pcanvas.h'
-
-*** Action on file `arranger/alayout.h'
-No prompt for file `arranger/alayout.h'
-
-*** Action on file `arranger/tlist.cpp'
-No prompt for file `arranger/tlist.cpp'
-
-*** Action on file `arranger/arranger.h'
-No prompt for file `arranger/arranger.h'
-
-*** Action on file `arranger/alayout.cpp'
-No prompt for file `arranger/alayout.cpp'
-
-*** Action on file `arranger/Makefile.am'
-No prompt for file `arranger/Makefile.am'
-
-*** Action on file `arranger/tlist.h'
-No prompt for file `arranger/tlist.h'
-
-*** Action on file `arranger/pcanvas.cpp'
-No prompt for file `arranger/pcanvas.cpp'
-
-*** Action on file `arranger/arranger.cpp'
-No prompt for file `arranger/arranger.cpp'
-
-*** Action on file `mplugins/Makefile.am'
-No prompt for file `mplugins/Makefile.am'
-
-*** Action on file `mplugins/.cvsignore'
-No prompt for file `mplugins/.cvsignore'
-
-*** Action on file `mplugins/midifilterimpl.cpp'
-No prompt for file `mplugins/midifilterimpl.cpp'
-
-*** Action on file `mplugins/rhythm.cpp'
-No prompt for file `mplugins/rhythm.cpp'
-
-*** Action on file `mplugins/rhythmbase.ui'
-No prompt for file `mplugins/rhythmbase.ui'
-
-*** Action on file `mplugins/midifilter.ui'
-No prompt for file `mplugins/midifilter.ui'
-
-*** Action on file `mplugins/mitplugin.h'
-No prompt for file `mplugins/mitplugin.h'
-
-*** Action on file `mplugins/rhythm.h'
-No prompt for file `mplugins/rhythm.h'
-
-*** Action on file `mplugins/midiitransform.h'
-No prompt for file `mplugins/midiitransform.h'
-
-*** Action on file `mplugins/mittranspose.cpp'
-No prompt for file `mplugins/mittranspose.cpp'
-
-*** Action on file `mplugins/mrconfigbase.ui'
-No prompt for file `mplugins/mrconfigbase.ui'
-
-*** Action on file `mplugins/mrconfig.cpp'
-No prompt for file `mplugins/mrconfig.cpp'
-
-*** Action on file `mplugins/mrconfig.h'
-No prompt for file `mplugins/mrconfig.h'
-
-*** Action on file `mplugins/random.h'
-No prompt for file `mplugins/random.h'
-
-*** Action on file `mplugins/midiitransform.cpp'
-No prompt for file `mplugins/midiitransform.cpp'
-
-*** Action on file `mplugins/mittranspose.h'
-No prompt for file `mplugins/mittranspose.h'
-
-*** Action on file `mplugins/mitplugin.cpp'
-No prompt for file `mplugins/mitplugin.cpp'
-
-*** Action on file `mplugins/midifilterimpl.h'
-No prompt for file `mplugins/midifilterimpl.h'
-
-*** Action on file `mplugins/random.cpp'
-No prompt for file `mplugins/random.cpp'
-
-*** Action on file `waveedit/Makefile.am'
-No prompt for file `waveedit/Makefile.am'
-
-*** Action on file `waveedit/waveview.h'
-No prompt for file `waveedit/waveview.h'
-
-*** Action on file `waveedit/waveedit.cpp'
-No prompt for file `waveedit/waveedit.cpp'
-
-*** Action on file `waveedit/waveedit.h'
-No prompt for file `waveedit/waveedit.h'
-
-*** Action on file `waveedit/waveview.cpp'
-No prompt for file `waveedit/waveview.cpp'
-
-*** Action on file `master/masteredit.cpp'
-No prompt for file `master/masteredit.cpp'
-
-*** Action on file `master/lmaster.cpp'
-No prompt for file `master/lmaster.cpp'
-
-*** Action on file `master/tscale.cpp'
-No prompt for file `master/tscale.cpp'
-
-*** Action on file `master/Makefile.am'
-No prompt for file `master/Makefile.am'
-
-*** Action on file `master/master.h'
-No prompt for file `master/master.h'
-
-*** Action on file `master/masteredit.h'
-No prompt for file `master/masteredit.h'
-
-*** Action on file `master/lmaster.h'
-No prompt for file `master/lmaster.h'
-
-*** Action on file `master/tscale.h'
-No prompt for file `master/tscale.h'
-
-*** Action on file `master/master.cpp'
-No prompt for file `master/master.cpp'
-
-*** Action on file `marker/Makefile.am'
-No prompt for file `marker/Makefile.am'
-
-*** Action on file `marker/marker.h'
-No prompt for file `marker/marker.h'
-
-*** Action on file `marker/markerview.cpp'
-No prompt for file `marker/markerview.cpp'
-
-*** Action on file `marker/markerview.h'
-No prompt for file `marker/markerview.h'
-
-*** Action on file `marker/marker.cpp'
-No prompt for file `marker/marker.cpp'
-
-*** Action on file `driver/audiodev.h'
-No prompt for file `driver/audiodev.h'
-
-*** Action on file `driver/midiserial.h'
-No prompt for file `driver/midiserial.h'
-
-*** Action on file `driver/mididev.h'
-No prompt for file `driver/mididev.h'
-
-*** Action on file `driver/mididev.cpp'
-No prompt for file `driver/mididev.cpp'
-
-*** Action on file `driver/midirawin.h'
-No prompt for file `driver/midirawin.h'
-
-*** Action on file `driver/midirawdev.h'
-No prompt for file `driver/midirawdev.h'
-
-*** Action on file `driver/alsamidi.cpp'
-No prompt for file `driver/alsamidi.cpp'
-
-*** Action on file `driver/alsamidi.h'
-No prompt for file `driver/alsamidi.h'
-
-*** Action on file `driver/Makefile.am'
-No prompt for file `driver/Makefile.am'
-
-*** Action on file `driver/jack.cpp'
-No prompt for file `driver/jack.cpp'
-
-*** Action on file `driver/midirawin.cpp'
-No prompt for file `driver/midirawin.cpp'
-
-*** Action on file `driver/alsaaudio.h'
-No prompt for file `driver/alsaaudio.h'
-
-*** Action on file `driver/midiserial.cpp'
-No prompt for file `driver/midiserial.cpp'
-
-*** Action on file `driver/alsaaudio.cpp'
-No prompt for file `driver/alsaaudio.cpp'
-
-*** Action on file `driver/midirawdev.cpp'
-No prompt for file `driver/midirawdev.cpp'
-
-*** Action on file `driver/jackaudio.h'
-No prompt for file `driver/jackaudio.h'
-
-*** Action on file `driver/mess.cpp'
-No prompt for file `driver/mess.cpp'
-
-*** Action on file `midiedit/drummap.cpp'
-No prompt for file `midiedit/drummap.cpp'
-
-*** Action on file `midiedit/dcanvas.h'
-No prompt for file `midiedit/dcanvas.h'
-
-*** Action on file `midiedit/piano.h'
-No prompt for file `midiedit/piano.h'
-
-*** Action on file `midiedit/drummap.h'
-No prompt for file `midiedit/drummap.h'
-
-*** Action on file `midiedit/drumedit.h'
-No prompt for file `midiedit/drumedit.h'
-
-*** Action on file `midiedit/prcanvas.cpp'
-No prompt for file `midiedit/prcanvas.cpp'
-
-*** Action on file `midiedit/dcanvas.cpp'
-No prompt for file `midiedit/dcanvas.cpp'
-
-*** Action on file `midiedit/Makefile.am'
-No prompt for file `midiedit/Makefile.am'
-
-*** Action on file `midiedit/dlist.cpp'
-No prompt for file `midiedit/dlist.cpp'
-
-*** Action on file `midiedit/pianoroll.cpp'
-No prompt for file `midiedit/pianoroll.cpp'
-
-*** Action on file `midiedit/ecanvas.h'
-No prompt for file `midiedit/ecanvas.h'
-
-*** Action on file `midiedit/quantconfig.h'
-No prompt for file `midiedit/quantconfig.h'
-
-*** Action on file `midiedit/quantconfig.cpp'
-No prompt for file `midiedit/quantconfig.cpp'
-
-*** Action on file `midiedit/ecanvas.cpp'
-No prompt for file `midiedit/ecanvas.cpp'
-
-*** Action on file `midiedit/piano.cpp'
-No prompt for file `midiedit/piano.cpp'
-
-*** Action on file `midiedit/prcanvas.h'
-No prompt for file `midiedit/prcanvas.h'
-
-*** Action on file `midiedit/drumedit.cpp'
-No prompt for file `midiedit/drumedit.cpp'
-
-*** Action on file `midiedit/dlist.h'
-No prompt for file `midiedit/dlist.h'
-
-*** Action on file `midiedit/cmd.h'
-No prompt for file `midiedit/cmd.h'
-
-*** Action on file `midiedit/pianoroll.h'
-No prompt for file `midiedit/pianoroll.h'
-
-*** Action on file `patchbay/Makefile.am'
-No prompt for file `patchbay/Makefile.am'
-
-*** Action on file `patchbay/patchbay.cpp'
-No prompt for file `patchbay/patchbay.cpp'
-
-*** Action on file `patchbay/patchbaybase.ui'
-No prompt for file `patchbay/patchbaybase.ui'
-
-*** Action on file `patchbay/patchbay.h'
-No prompt for file `patchbay/patchbay.h'
-
-*** Action on file `synti/synth.cpp'
-No prompt for file `synti/synth.cpp'
-
-*** Action on file `synti/synthconfig.h'
-No prompt for file `synti/synthconfig.h'
-
-*** Action on file `synti/Makefile.am'
-No prompt for file `synti/Makefile.am'
-
-*** Action on file `synti/synti-install.am'
-No prompt for file `synti/synti-install.am'
-
-*** Action on file `synti/synthconfig.cpp'
-No prompt for file `synti/synthconfig.cpp'
-
-*** Action on file `synti/organ/.cvsignore'
-No prompt for file `synti/organ/.cvsignore'
-
-*** Action on file `synti/organ/organ.cpp'
-No prompt for file `synti/organ/organ.cpp'
-
-*** Action on file `synti/organ/organ.h'
-No prompt for file `synti/organ/organ.h'
-
-*** Action on file `synti/organ/organguibase.ui'
-No prompt for file `synti/organ/organguibase.ui'
-
-*** Action on file `synti/organ/Makefile.am'
-No prompt for file `synti/organ/Makefile.am'
-
-*** Action on file `synti/organ/organgui.h'
-No prompt for file `synti/organ/organgui.h'
-
-*** Action on file `synti/organ/fdialogbuttons.ui'
-No prompt for file `synti/organ/fdialogbuttons.ui'
-
-*** Action on file `synti/organ/organgui.cpp'
-No prompt for file `synti/organ/organgui.cpp'
-
-*** Action on file `synti/fluid/fluidgui.cpp'
-No prompt for file `synti/fluid/fluidgui.cpp'
-
-*** Action on file `synti/fluid/fluidguibase.ui'
-No prompt for file `synti/fluid/fluidguibase.ui'
-
-*** Action on file `synti/fluid/synth.cpp'
-No prompt for file `synti/fluid/synth.cpp'
-
-*** Action on file `synti/fluid/Makefile.am'
-No prompt for file `synti/fluid/Makefile.am'
-
-*** Action on file `synti/fluid/synth.h'
-No prompt for file `synti/fluid/synth.h'
-
-*** Action on file `synti/fluid/fluid.cpp'
-No prompt for file `synti/fluid/fluid.cpp'
-
-*** Action on file `synti/fluid/fluidgui.h'
-No prompt for file `synti/fluid/fluidgui.h'
-
-*** Action on file `synti/fluidsynth/fluidsynthgui.h'
-No prompt for file `synti/fluidsynth/fluidsynthgui.h'
-
-*** Action on file `synti/fluidsynth/fluidsynti.h'
-No prompt for file `synti/fluidsynth/fluidsynti.h'
-
-*** Action on file `synti/fluidsynth/fluidsynti.cpp'
-No prompt for file `synti/fluidsynth/fluidsynti.cpp'
-
-*** Action on file `synti/fluidsynth/fluidsynthguibase.ui'
-No prompt for file `synti/fluidsynth/fluidsynthguibase.ui'
-
-*** Action on file `synti/fluidsynth/Makefile.am'
-No prompt for file `synti/fluidsynth/Makefile.am'
-
-*** Action on file `synti/fluidsynth/fluidsynthgui.cpp'
-No prompt for file `synti/fluidsynth/fluidsynthgui.cpp'
-
-*** Action on file `synti/fluidsynth/TODO'
-No prompt for file `synti/fluidsynth/TODO'
-
-*** Action on file `synti/vam/vamgui.cpp'
-No prompt for file `synti/vam/vamgui.cpp'
-
-*** Action on file `synti/vam/COPYING'
-No prompt for file `synti/vam/COPYING'
-
-*** Action on file `synti/vam/ChangeLog'
-No prompt for file `synti/vam/ChangeLog'
-
-*** Action on file `synti/vam/vamgui.h'
-No prompt for file `synti/vam/vamgui.h'
-
-*** Action on file `synti/vam/vam.cpp'
-No prompt for file `synti/vam/vam.cpp'
-
-*** Action on file `synti/vam/Makefile.am'
-No prompt for file `synti/vam/Makefile.am'
-
-*** Action on file `synti/vam/fdialogbuttons.ui'
-No prompt for file `synti/vam/fdialogbuttons.ui'
-
-*** Action on file `synti/vam/README'
-No prompt for file `synti/vam/README'
-
-*** Action on file `synti/vam/vam.h'
-No prompt for file `synti/vam/vam.h'
-
-*** Action on file `synti/vam/vamguibase.ui'
-No prompt for file `synti/vam/vamguibase.ui'
-
-*** Action on file `synti/vam/TODO'
-No prompt for file `synti/vam/TODO'
-
-*** Action on file `synti/s1/s1.cpp'
-No prompt for file `synti/s1/s1.cpp'
-
-*** Action on file `synti/s1/Makefile.am'
-No prompt for file `synti/s1/Makefile.am'
-
-*** Action on file `share/Makefile.am'
-No prompt for file `share/Makefile.am'
-
-*** Action on file `share/plugins/1050.ui'
-No prompt for file `share/plugins/1050.ui'
-
-*** Action on file `share/plugins/Makefile.am'
-No prompt for file `share/plugins/Makefile.am'
-
-*** Action on file `share/instruments/Yamaha-P50m.idf'
-No prompt for file `share/instruments/Yamaha-P50m.idf'
-
-*** Action on file `share/instruments/ns5r.idf'
-No prompt for file `share/instruments/ns5r.idf'
-
-*** Action on file `share/instruments/Roland-XP30.idf'
-No prompt for file `share/instruments/Roland-XP30.idf'
-
-*** Action on file `share/instruments/MC303.idf'
-No prompt for file `share/instruments/MC303.idf'
-
-*** Action on file `share/instruments/Makefile.am'
-No prompt for file `share/instruments/Makefile.am'
-
-*** Action on file `share/instruments/gm.idf'
-No prompt for file `share/instruments/gm.idf'
-
-*** Action on file `share/instruments/Yamaha-S90.idf'
-No prompt for file `share/instruments/Yamaha-S90.idf'
-
-*** Action on file `share/instruments/AlesisQS6.idf'
-No prompt for file `share/instruments/AlesisQS6.idf'
-
-*** Action on file `share/drummaps/Makefile.am'
-No prompt for file `share/drummaps/Makefile.am'
-
-*** Action on file `share/drummaps/sc88-pc1.map'
-No prompt for file `share/drummaps/sc88-pc1.map'
-
-*** Action on file `share/locale/Makefile.am'
-No prompt for file `share/locale/Makefile.am'
-
-*** Action on file `share/locale/muse_sv_SE.ts'
-No prompt for file `share/locale/muse_sv_SE.ts'
-
-*** Action on file `share/locale/muse_ru.ts'
-No prompt for file `share/locale/muse_ru.ts'
-
-*** Action on file `share/locale/muse_fr.ts'
-No prompt for file `share/locale/muse_fr.ts'
-
-*** Action on file `share/locale/muse_es.ts'
-No prompt for file `share/locale/muse_es.ts'
-
-*** Action on file `share/locale/muse_de.ts'
-No prompt for file `share/locale/muse_de.ts'
-
-*** Action on file `share/locale/muse_sv_SE.qm'
-No prompt for file `share/locale/muse_sv_SE.qm'
-
-*** Action on file `share/locale/muse_ru.qm'
-No prompt for file `share/locale/muse_ru.qm'
-
-*** Action on file `share/locale/muse_fr.qm'
-No prompt for file `share/locale/muse_fr.qm'
-
-*** Action on file `share/locale/muse_es.qm'
-No prompt for file `share/locale/muse_es.qm'
-
-*** Action on file `share/locale/muse_de.qm'
-No prompt for file `share/locale/muse_de.qm'
-
-*** Action on file `share/wallpapers/paper1.jpg'
-No prompt for file `share/wallpapers/paper1.jpg'
-
-*** Action on file `share/wallpapers/Makefile.am'
-No prompt for file `share/wallpapers/Makefile.am'
-
-*** Action on file `share/wallpapers/gray_rock.gif'
-No prompt for file `share/wallpapers/gray_rock.gif'
-
-*** Action on file `share/wallpapers/gray.gif'
-No prompt for file `share/wallpapers/gray.gif'
-
-*** Action on file `share/wallpapers/gray_stucco.gif'
-No prompt for file `share/wallpapers/gray_stucco.gif'
-
-*** Action on file `share/wallpapers/stone1.gif'
-No prompt for file `share/wallpapers/stone1.gif'
-
-*** Action on file `share/html/invocation.html'
-No prompt for file `share/html/invocation.html'
-
-*** Action on file `share/html/left_pane.jpg'
-No prompt for file `share/html/left_pane.jpg'
-
-*** Action on file `share/html/styles.css'
-No prompt for file `share/html/styles.css'
-
-*** Action on file `share/html/button_bar.jpg'
-No prompt for file `share/html/button_bar.jpg'
-
-*** Action on file `share/html/COPYING.html'
-No prompt for file `share/html/COPYING.html'
-
-*** Action on file `share/html/main_window.jpg'
-No prompt for file `share/html/main_window.jpg'
-
-*** Action on file `share/html/toc_.txt'
-No prompt for file `share/html/toc_.txt'
-
-*** Action on file `share/html/Makefile.am'
-No prompt for file `share/html/Makefile.am'
-
-*** Action on file `share/html/track_info.jpg'
-No prompt for file `share/html/track_info.jpg'
-
-*** Action on file `share/html/getting_started.html'
-No prompt for file `share/html/getting_started.html'
-
-*** Action on file `share/html/index.html'
-No prompt for file `share/html/index.html'
-
-*** Action on file `share/html/window_ref.html'
-No prompt for file `share/html/window_ref.html'
-
-*** Action on file `share/html/installation.html'
-No prompt for file `share/html/installation.html'
-
-*** Action on file `share/html/main_window_track_info.jpg'
-No prompt for file `share/html/main_window_track_info.jpg'
-
-*** Action on file `share/html/right_pane.jpg'
-No prompt for file `share/html/right_pane.jpg'
-
-*** Action on file `score/Makefile.am'
-No prompt for file `score/Makefile.am'
-
-*** Action on file `score/ncanvas.cpp'
-No prompt for file `score/ncanvas.cpp'
-
-*** Action on file `score/print.cpp'
-No prompt for file `score/print.cpp'
-
-*** Action on file `score/print.h'
-No prompt for file `score/print.h'
-
-*** Action on file `score/layout.h'
-No prompt for file `score/layout.h'
-
-*** Action on file `score/items.h'
-No prompt for file `score/items.h'
-
-*** Action on file `score/papersize.cpp'
-No prompt for file `score/papersize.cpp'
-
-*** Action on file `score/symbols.cpp'
-No prompt for file `score/symbols.cpp'
-
-*** Action on file `score/layout.cpp'
-No prompt for file `score/layout.cpp'
-
-*** Action on file `score/glyphs.cpp'
-No prompt for file `score/glyphs.cpp'
-
-*** Action on file `score/papersize.h'
-No prompt for file `score/papersize.h'
-
-*** Action on file `score/palettes.h'
-No prompt for file `score/palettes.h'
-
-*** Action on file `score/glyphs.h'
-No prompt for file `score/glyphs.h'
-
-*** Action on file `score/ncanvas.h'
-No prompt for file `score/ncanvas.h'
-
-*** Action on file `score/score.doc'
-No prompt for file `score/score.doc'
-
-*** Action on file `score/score.cpp'
-No prompt for file `score/score.cpp'
-
-*** Action on file `score/items.cpp'
-No prompt for file `score/items.cpp'
-
-*** Action on file `score/sconfig.h'
-No prompt for file `score/sconfig.h'
-
-*** Action on file `score/symbols.h'
-No prompt for file `score/symbols.h'
-
-*** Action on file `score/font.cpp'
-No prompt for file `score/font.cpp'
-
-*** Action on file `score/sconfig.cpp'
-No prompt for file `score/sconfig.cpp'
-
-*** Action on file `score/score.h'
-No prompt for file `score/score.h'
-
-*** Action on file `score/palettes.cpp'
-No prompt for file `score/palettes.cpp'
-
-*** Action on file `score/quant.cpp'
-No prompt for file `score/quant.cpp'
-
-*** Action on file `score/quant.h'
-No prompt for file `score/quant.h'
-
-*** Action on file `score/note.cpp'
-No prompt for file `score/note.cpp'
-
-*** Action on file `mixer/Makefile.am'
-No prompt for file `mixer/Makefile.am'
-
-*** Action on file `mixer/amixer.h'
-No prompt for file `mixer/amixer.h'
-
-*** Action on file `mixer/meter.cpp'
-No prompt for file `mixer/meter.cpp'
-
-*** Action on file `mixer/mixer.cpp'
-No prompt for file `mixer/mixer.cpp'
-
-*** Action on file `mixer/routecombo.cpp'
-No prompt for file `mixer/routecombo.cpp'
-
-*** Action on file `mixer/volslider.h'
-No prompt for file `mixer/volslider.h'
-
-*** Action on file `mixer/rack.h'
-No prompt for file `mixer/rack.h'
-
-*** Action on file `mixer/mixer.h'
-No prompt for file `mixer/mixer.h'
-
-*** Action on file `mixer/panknob.h'
-No prompt for file `mixer/panknob.h'
-
-*** Action on file `mixer/panknob.cpp'
-No prompt for file `mixer/panknob.cpp'
-
-*** Action on file `mixer/amixer.cpp'
-No prompt for file `mixer/amixer.cpp'
-
-*** Action on file `mixer/meter.h'
-No prompt for file `mixer/meter.h'
-
-*** Action on file `mixer/rack.cpp'
-No prompt for file `mixer/rack.cpp'
-
-*** Action on file `mixer/routecombo.h'
-No prompt for file `mixer/routecombo.h'
-
-*** Action on file `mixer/audionodebutton.h'
-No prompt for file `mixer/audionodebutton.h'
-
-*** Action on file `mixer/dot.xpm'
-No prompt for file `mixer/dot.xpm'
-
-*** Action on file `mixer/volslider.cpp'
-No prompt for file `mixer/volslider.cpp'
-
-*** Action on file `mixer/audionodebutton.cpp'
-No prompt for file `mixer/audionodebutton.cpp'
-
-*** Action on file `liste/editevent.cpp'
-No prompt for file `liste/editevent.cpp'
-
-*** Action on file `liste/editevent.h'
-No prompt for file `liste/editevent.h'
-
-*** Action on file `liste/Makefile.am'
-No prompt for file `liste/Makefile.am'
-
-*** Action on file `liste/listedit.h'
-No prompt for file `liste/listedit.h'
-
-*** Action on file `liste/listedit.cpp'
-No prompt for file `liste/listedit.cpp'
-
-*** Action on file `ctrl/Makefile.am'
-No prompt for file `ctrl/Makefile.am'
-
-*** Action on file `ctrl/ctrlcanvas.cpp'
-No prompt for file `ctrl/ctrlcanvas.cpp'
-
-*** Action on file `ctrl/ctrlpanel.h'
-No prompt for file `ctrl/ctrlpanel.h'
-
-*** Action on file `ctrl/ctrlcanvas.h'
-No prompt for file `ctrl/ctrlcanvas.h'
-
-*** Action on file `ctrl/ctrledit.h'
-No prompt for file `ctrl/ctrledit.h'
-
-*** Action on file `ctrl/ctrledit.cpp'
-No prompt for file `ctrl/ctrledit.cpp'
-
-*** Action on file `ctrl/ctrlpanel.cpp'
-No prompt for file `ctrl/ctrlpanel.cpp'
-
-*** Action on file `xpm/darkreddot.xpm'
-No prompt for file `xpm/darkreddot.xpm'
-
-*** Action on file `xpm/editmuteS.xpm'
-No prompt for file `xpm/editmuteS.xpm'
-
-*** Action on file `xpm/midiin.xpm'
-No prompt for file `xpm/midiin.xpm'
-
-*** Action on file `xpm/editpasteS.xpm'
-No prompt for file `xpm/editpasteS.xpm'
-
-*** Action on file `xpm/pitch.xpm'
-No prompt for file `xpm/pitch.xpm'
-
-*** Action on file `xpm/italic.xpm'
-No prompt for file `xpm/italic.xpm'
-
-*** Action on file `xpm/redo.xpm'
-No prompt for file `xpm/redo.xpm'
-
-*** Action on file `xpm/filesaveS.xpm'
-No prompt for file `xpm/filesaveS.xpm'
-
-*** Action on file `xpm/scoreS.xpm'
-No prompt for file `xpm/scoreS.xpm'
-
-*** Action on file `xpm/exit.xpm'
-No prompt for file `xpm/exit.xpm'
-
-*** Action on file `xpm/rmark.xpm'
-No prompt for file `xpm/rmark.xpm'
-
-*** Action on file `xpm/frewind.xpm'
-No prompt for file `xpm/frewind.xpm'
-
-*** Action on file `xpm/stop.xpm'
-No prompt for file `xpm/stop.xpm'
-
-*** Action on file `xpm/graydot.xpm'
-No prompt for file `xpm/graydot.xpm'
-
-*** Action on file `xpm/loop.xpm'
-No prompt for file `xpm/loop.xpm'
-
-*** Action on file `xpm/steprec.xpm'
-No prompt for file `xpm/steprec.xpm'
-
-*** Action on file `xpm/recordoffbutton.xpm'
-No prompt for file `xpm/recordoffbutton.xpm'
-
-*** Action on file `xpm/filenewS.xpm'
-No prompt for file `xpm/filenewS.xpm'
-
-*** Action on file `xpm/bold.xpm'
-No prompt for file `xpm/bold.xpm'
-
-*** Action on file `xpm/fileopen.xpm'
-No prompt for file `xpm/fileopen.xpm'
-
-*** Action on file `xpm/editpaste.xpm'
-No prompt for file `xpm/editpaste.xpm'
-
-*** Action on file `xpm/speaker.xpm'
-No prompt for file `xpm/speaker.xpm'
-
-*** Action on file `xpm/delete.xpm'
-No prompt for file `xpm/delete.xpm'
-
-*** Action on file `xpm/pianoS.xpm'
-No prompt for file `xpm/pianoS.xpm'
-
-*** Action on file `xpm/start.xpm'
-No prompt for file `xpm/start.xpm'
-
-*** Action on file `xpm/punchin.xpm'
-No prompt for file `xpm/punchin.xpm'
-
-*** Action on file `xpm/fileprint.xpm'
-No prompt for file `xpm/fileprint.xpm'
-
-*** Action on file `xpm/editcopy.xpm'
-No prompt for file `xpm/editcopy.xpm'
-
-*** Action on file `xpm/play.xpm'
-No prompt for file `xpm/play.xpm'
-
-*** Action on file `xpm/filesaveasS.xpm'
-No prompt for file `xpm/filesaveasS.xpm'
-
-*** Action on file `xpm/stick.xpm'
-No prompt for file `xpm/stick.xpm'
-
-*** Action on file `xpm/fforward.xpm'
-No prompt for file `xpm/fforward.xpm'
-
-*** Action on file `xpm/lock.xpm'
-No prompt for file `xpm/lock.xpm'
-
-*** Action on file `xpm/back.xpm'
-No prompt for file `xpm/back.xpm'
-
-*** Action on file `xpm/up.xpm'
-No prompt for file `xpm/up.xpm'
-
-*** Action on file `xpm/cafter.xpm'
-No prompt for file `xpm/cafter.xpm'
-
-*** Action on file `xpm/recordonbutton.xpm'
-No prompt for file `xpm/recordonbutton.xpm'
-
-*** Action on file `xpm/flag.xpm'
-No prompt for file `xpm/flag.xpm'
-
-*** Action on file `xpm/off.xpm'
-No prompt for file `xpm/off.xpm'
-
-*** Action on file `xpm/editcutS.xpm'
-No prompt for file `xpm/editcutS.xpm'
-
-*** Action on file `xpm/editmute.xpm'
-No prompt for file `xpm/editmute.xpm'
-
-*** Action on file `xpm/pencil.xpm'
-No prompt for file `xpm/pencil.xpm'
-
-*** Action on file `xpm/pointer.xpm'
-No prompt for file `xpm/pointer.xpm'
-
-*** Action on file `xpm/wave.xpm'
-No prompt for file `xpm/wave.xpm'
-
-*** Action on file `xpm/undoS.xpm'
-No prompt for file `xpm/undoS.xpm'
-
-*** Action on file `xpm/loop1.xpm'
-No prompt for file `xpm/loop1.xpm'
-
-*** Action on file `xpm/score.xpm'
-No prompt for file `xpm/score.xpm'
-
-*** Action on file `xpm/glue.xpm'
-No prompt for file `xpm/glue.xpm'
-
-*** Action on file `xpm/Makefile.am'
-No prompt for file `xpm/Makefile.am'
-
-*** Action on file `xpm/gv.xpm'
-No prompt for file `xpm/gv.xpm'
-
-*** Action on file `xpm/redoS.xpm'
-No prompt for file `xpm/redoS.xpm'
-
-*** Action on file `xpm/toc.xpm'
-No prompt for file `xpm/toc.xpm'
-
-*** Action on file `xpm/greendot.xpm'
-No prompt for file `xpm/greendot.xpm'
-
-*** Action on file `xpm/configure.xpm'
-No prompt for file `xpm/configure.xpm'
-
-*** Action on file `xpm/forward.xpm'
-No prompt for file `xpm/forward.xpm'
-
-*** Action on file `xpm/underlined.xpm'
-No prompt for file `xpm/underlined.xpm'
-
-*** Action on file `xpm/home.xpm'
-No prompt for file `xpm/home.xpm'
-
-*** Action on file `xpm/record1.xpm'
-No prompt for file `xpm/record1.xpm'
-
-*** Action on file `xpm/lmark.xpm'
-No prompt for file `xpm/lmark.xpm'
-
-*** Action on file `xpm/record.xpm'
-No prompt for file `xpm/record.xpm'
-
-*** Action on file `xpm/mute.xpm'
-No prompt for file `xpm/mute.xpm'
-
-*** Action on file `xpm/darkgreendot.xpm'
-No prompt for file `xpm/darkgreendot.xpm'
-
-*** Action on file `xpm/find.xpm'
-No prompt for file `xpm/find.xpm'
-
-*** Action on file `xpm/reddot.xpm'
-No prompt for file `xpm/reddot.xpm'
-
-*** Action on file `xpm/punchout.xpm'
-No prompt for file `xpm/punchout.xpm'
-
-*** Action on file `xpm/panic.xpm'
-No prompt for file `xpm/panic.xpm'
-
-*** Action on file `xpm/fileprintS.xpm'
-No prompt for file `xpm/fileprintS.xpm'
-
-*** Action on file `xpm/draw.xpm'
-No prompt for file `xpm/draw.xpm'
-
-*** Action on file `xpm/filesave.xpm'
-No prompt for file `xpm/filesave.xpm'
-
-*** Action on file `xpm/filenew.xpm'
-No prompt for file `xpm/filenew.xpm'
-
-*** Action on file `xpm/piano.xpm'
-No prompt for file `xpm/piano.xpm'
-
-*** Action on file `xpm/solobutton.xpm'
-No prompt for file `xpm/solobutton.xpm'
-
-*** Action on file `xpm/punchin1.xpm'
-No prompt for file `xpm/punchin1.xpm'
-
-*** Action on file `xpm/idea.xpm'
-No prompt for file `xpm/idea.xpm'
-
-*** Action on file `xpm/editcut.xpm'
-No prompt for file `xpm/editcut.xpm'
-
-*** Action on file `xpm/editcopyS.xpm'
-No prompt for file `xpm/editcopyS.xpm'
-
-*** Action on file `xpm/cmark.xpm'
-No prompt for file `xpm/cmark.xpm'
-
-*** Action on file `xpm/fileopenS.xpm'
-No prompt for file `xpm/fileopenS.xpm'
-
-*** Action on file `xpm/ctrl.xpm'
-No prompt for file `xpm/ctrl.xpm'
-
-*** Action on file `xpm/note1.xpm'
-No prompt for file `xpm/note1.xpm'
-
-*** Action on file `xpm/context_help.xpm'
-No prompt for file `xpm/context_help.xpm'
-
-*** Action on file `xpm/exitS.xpm'
-No prompt for file `xpm/exitS.xpm'
-
-*** Action on file `xpm/flagS.xpm'
-No prompt for file `xpm/flagS.xpm'
-
-*** Action on file `xpm/iiwusynth.xpm'
-No prompt for file `xpm/iiwusynth.xpm'
-
-*** Action on file `xpm/sysex.xpm'
-No prompt for file `xpm/sysex.xpm'
-
-*** Action on file `xpm/down.xpm'
-No prompt for file `xpm/down.xpm'
-
-*** Action on file `xpm/dot.xpm'
-No prompt for file `xpm/dot.xpm'
-
-*** Action on file `xpm/quant.xpm'
-No prompt for file `xpm/quant.xpm'
-
-*** Action on file `xpm/doth.xpm'
-No prompt for file `xpm/doth.xpm'
-
-*** Action on file `xpm/punchout1.xpm'
-No prompt for file `xpm/punchout1.xpm'
-
-*** Action on file `xpm/cut.xpm'
-No prompt for file `xpm/cut.xpm'
-
-*** Action on file `xpm/note.xpm'
-No prompt for file `xpm/note.xpm'
-
-*** Action on file `xpm/buttondown.xpm'
-No prompt for file `xpm/buttondown.xpm'
-
-*** Action on file `xpm/dot1.xpm'
-No prompt for file `xpm/dot1.xpm'
-
-*** Action on file `xpm/meta.xpm'
-No prompt for file `xpm/meta.xpm'
-
-*** Action on file `xpm/undo.xpm'
-No prompt for file `xpm/undo.xpm'
-
-*** Action on file `xpm/master.xpm'
-No prompt for file `xpm/master.xpm'
-
-*** Action on file `xpm/bluedot.xpm'
-No prompt for file `xpm/bluedot.xpm'
-
-*** Action on file `xpm/newmutebutton.xpm'
-No prompt for file `xpm/newmutebutton.xpm'
-
-*** Action on file `xpm/pafter.xpm'
-No prompt for file `xpm/pafter.xpm'
-
-*** Action on file `lib/plugins/Makefile.am'
-No prompt for file `lib/plugins/Makefile.am'
-
-*** Action on file `lib/synthi/Makefile.am'
-No prompt for file `lib/synthi/Makefile.am'
-
-*** Action on file `lib/Makefile.am'
-No prompt for file `lib/Makefile.am'
-
-*** Action on file `cliplist/cliplist.cpp'
-No prompt for file `cliplist/cliplist.cpp'
-
-*** Action on file `cliplist/Makefile.am'
-No prompt for file `cliplist/Makefile.am'
-
-*** Action on file `cliplist/cliplist.h'
-No prompt for file `cliplist/cliplist.h'
-
-*** Action on file `doc/midieditfunctions.png'
-No prompt for file `doc/midieditfunctions.png'
-
-*** Action on file `doc/Makefile.am'
-No prompt for file `doc/Makefile.am'
-
-*** Action on file `doc/muse.sgm'
-No prompt for file `doc/muse.sgm'
-
-*** Action on file `plugins/Makefile.am'
-No prompt for file `plugins/Makefile.am'
-
-*** Action on file `plugins/plugin.h'
-No prompt for file `plugins/plugin.h'
-
-*** Action on file `plugins/plugin.cpp'
-No prompt for file `plugins/plugin.cpp'
-
-*** Action on file `plugins/plugins-install.am'
-No prompt for file `plugins/plugins-install.am'
-
-*** Action on file `plugins/freeverb/denormals.h'
-No prompt for file `plugins/freeverb/denormals.h'
-
-*** Action on file `plugins/freeverb/tuning.h'
-No prompt for file `plugins/freeverb/tuning.h'
-
-*** Action on file `plugins/freeverb/readme.txt'
-No prompt for file `plugins/freeverb/readme.txt'
-
-*** Action on file `plugins/freeverb/revmodel.h'
-No prompt for file `plugins/freeverb/revmodel.h'
-
-*** Action on file `plugins/freeverb/Makefile.am'
-No prompt for file `plugins/freeverb/Makefile.am'
-
-*** Action on file `plugins/freeverb/comb.h'
-No prompt for file `plugins/freeverb/comb.h'
-
-*** Action on file `plugins/freeverb/freeverb.cpp'
-No prompt for file `plugins/freeverb/freeverb.cpp'
-
-*** Action on file `plugins/freeverb/allpass.h'
-No prompt for file `plugins/freeverb/allpass.h'
-
-*** Action on file `plugins/freeverb/revmodel.cpp'
-No prompt for file `plugins/freeverb/revmodel.cpp'
-
-*** Action on file `midictrledit.h'
-No prompt for file `midictrledit.h'
-
-
-*** Merge complete
-
diff --git a/muse2/muse/muse.pro b/muse2/muse/muse.pro
deleted file mode 100644
index 2931e82d..00000000
--- a/muse2/muse/muse.pro
+++ /dev/null
@@ -1,370 +0,0 @@
-HEADERS = \
- ./ctrl/ctrledit.h \
- ./ctrl/ctrlcanvas.h \
- ./ctrl/ctrlpanel.h \
- ./debug.h \
- ./midiport.h \
- ./app.h \
- ./eventbase.h \
- ./key.h \
- ./liste/listedit.h \
- ./liste/editevent.h \
- ./mixer/mstrip.h \
- ./mixer/auxknob.h \
- ./mixer/meter.h \
- ./mixer/panknob.h \
- ./mixer/strip.h \
- ./mixer/rack.h \
- ./mixer/routedialog.h \
- ./mixer/amixer.h \
- ./mixer/astrip.h \
- ./mtc.h \
- ./pos.h \
- ./sig.h \
- ./xml.h \
- ./miditransform.h \
- ./route.h \
- ./globaldefs.h \
- ./appearance.h \
- ./midievent.h \
- ./midieditor.h \
- ./confmport.h \
- ./patchbay/patchbay.h \
- ./tempo.h \
- ./audioprefetch.h \
- ./event.h \
- ./waveevent.h \
- ./midiedit/pianoroll.h \
- ./midiedit/cmd.h \
- ./midiedit/dlist.h \
- ./midiedit/prcanvas.h \
- ./midiedit/quantconfig.h \
- ./midiedit/ecanvas.h \
- ./midiedit/drumedit.h \
- ./midiedit/drummap.h \
- ./midiedit/piano.h \
- ./midiedit/dcanvas.h \
- ./conf.h \
- ./ctrl.h \
- ./driver/jackaudio.h \
- ./driver/alsamidi.h \
- ./driver/audiodev.h \
- ./fastlog.h \
- ./mpevent.h \
- ./synth.h \
- ./cobject.h \
- ./track.h \
- ./evdata.h \
- ./marker/markerview.h \
- ./marker/marker.h \
- ./master/tscale.h \
- ./master/lmaster.h \
- ./master/masteredit.h \
- ./master/master.h \
- ./gconfig.h \
- ./midi.h \
- ./waveedit/waveedit.h \
- ./waveedit/waveview.h \
- ./mplugins/midifilterimpl.h \
- ./mplugins/mittranspose.h \
- ./mplugins/random.h \
- ./mplugins/mrconfig.h \
- ./mplugins/midiitransform.h \
- ./mplugins/rhythm.h \
- ./mplugins/mitplugin.h \
- ./node.h \
- ./part.h \
- ./value.h \
- ./song.h \
- ./sync.h \
- ./undo.h \
- ./ladspa.h \
- ./wave.h \
- ./device.h \
- ./instruments/midictrledit.h \
- ./instruments/minstrument.h \
- ./instruments/editinstrument.h \
- ./icons.h \
- ./thread.h \
- ./arranger/tlist.h \
- ./arranger/arranger.h \
- ./arranger/alayout.h \
- ./arranger/pcanvas.h \
- ./globals.h \
- ./audio.h \
- ./transpose.h \
- ./transport.h \
- ./widgets/section.h \
- ./widgets/mixdowndialog.h \
- ./widgets/dimap.h \
- ./widgets/fontsel.h \
- ./widgets/lcombo.h \
- ./widgets/pitchedit.h \
- ./widgets/tb1.h \
- ./widgets/gatetime.h \
- ./widgets/comboQuant.h \
- ./widgets/ctrlcombo.h \
- ./widgets/comment.h \
- ./widgets/filedialog.h \
- ./widgets/sclif.h \
- ./widgets/scrollscale.h \
- ./widgets/bigtime.h \
- ./widgets/metronome.h \
- ./widgets/combobox.h \
- ./widgets/ttoolbutton.h \
- ./widgets/drange.h \
- ./widgets/scldiv.h \
- ./widgets/vscale.h \
- ./widgets/posedit.h \
- ./widgets/genset.h \
- ./widgets/shortcutcapturedialog.h \
- ./widgets/wtscale.h \
- ./widgets/mmath.h \
- ./widgets/canvas.h \
- ./widgets/shortcutconfig.h \
- ./widgets/pitchlabel.h \
- ./widgets/tools.h \
- ./widgets/swidget.h \
- ./widgets/splitter.h \
- ./widgets/knob.h \
- ./widgets/poslabel.h \
- ./widgets/velocity.h \
- ./widgets/midisyncimpl.h \
- ./widgets/ttoolbar.h \
- ./widgets/nentry.h \
- ./widgets/action.h \
- ./widgets/slider.h \
- ./widgets/dentry.h \
- ./widgets/siglabel.h \
- ./widgets/checkbox.h \
- ./widgets/mtscale.h \
- ./widgets/spinboxFP.h \
- ./widgets/view.h \
- ./widgets/sigscale.h \
- ./widgets/noteinfo.h \
- ./widgets/doublelabel.h \
- ./widgets/utils.h \
- ./widgets/hitscale.h \
- ./widgets/intlabel.h \
- ./widgets/sigedit.h \
- ./widgets/mlabel.h \
- ./widgets/header.h \
- ./widgets/tempolabel.h \
- ./widgets/sliderbase.h \
- ./widgets/scldraw.h \
- ./widgets/citem.h \
- ./widgets/songinfo.h \
- ./mididev.h \
- ./midictrl.h \
- ./midiseq.h \
- ./midifile.h \
- ./shortcuts.h \
- ./memory.h \
- ./helper.h \
- ./plugin.h
-
-SOURCES = \
- ./ctrl/ctrlpanel.cpp \
- ./ctrl/ctrledit.cpp \
- ./ctrl/ctrlcanvas.cpp \
- ./route.cpp \
- ./undo.cpp \
- ./midievent.cpp \
- ./xml.cpp \
- ./memory.cpp \
- ./key.cpp \
- ./midiseq.cpp \
- ./song.cpp \
- ./liste/listedit.cpp \
- ./liste/editevent.cpp \
- ./mixer/strip.cpp \
- ./mixer/auxknob.cpp \
- ./mixer/rack.cpp \
- ./mixer/amixer.cpp \
- ./mixer/routedialog.cpp \
- ./mixer/panknob.cpp \
- ./mixer/mstrip.cpp \
- ./mixer/astrip.cpp \
- ./mixer/meter.cpp \
- ./transpose.cpp \
- ./eventlist.cpp \
- ./transport.cpp \
- ./wavetrack.cpp \
- ./audioprefetch.cpp \
- ./helper.cpp \
- ./miditransform.cpp \
- ./ctrl.cpp \
- ./sig.cpp \
- ./confmport.cpp \
- ./shortcuts.cpp \
- ./audio.cpp \
- ./part.cpp \
- ./patchbay/patchbay.cpp \
- ./appearance.cpp \
- ./mpevent.cpp \
- ./midi.cpp \
- ./event.cpp \
- ./midiedit/drumedit.cpp \
- ./midiedit/piano.cpp \
- ./midiedit/ecanvas.cpp \
- ./midiedit/quantconfig.cpp \
- ./midiedit/pianoroll.cpp \
- ./midiedit/dlist.cpp \
- ./midiedit/dcanvas.cpp \
- ./midiedit/prcanvas.cpp \
- ./midiedit/drummap.cpp \
- ./plugin.cpp \
- ./conf.cpp \
- ./driver/jack.cpp \
- ./driver/alsamidi.cpp \
- ./driver/dummyaudio.cpp \
- ./midictrl.cpp \
- ./songfile.cpp \
- ./gconfig.cpp \
- ./mtc.cpp \
- ./marker/marker.cpp \
- ./marker/markerview.cpp \
- ./master/master.cpp \
- ./master/tscale.cpp \
- ./master/lmaster.cpp \
- ./master/masteredit.cpp \
- ./sync.cpp \
- ./wave.cpp \
- ./midieditor.cpp \
- ./waveedit/waveview.cpp \
- ./waveedit/waveedit.cpp \
- ./mplugins/mitplugin.cpp \
- ./mplugins/midiitransform.cpp \
- ./mplugins/mrconfig.cpp \
- ./mplugins/mittranspose.cpp \
- ./mplugins/midifilterimpl.cpp \
- ./cobject.cpp \
- ./midifile.cpp \
- ./midiport.cpp \
- ./exportmidi.cpp \
- ./value.cpp \
- ./synth.cpp \
- ./waveevent.cpp \
- ./icons.cpp \
- ./instruments/minstrument.cpp \
- ./instruments/editinstrument.cpp \
- ./instruments/midictrledit.cpp \
- ./app.cpp \
- ./arranger/arranger.cpp \
- ./arranger/trackinfo.cpp \
- ./arranger/pcanvas.cpp \
- ./arranger/alayout.cpp \
- ./arranger/tlist.cpp \
- ./audiotrack.cpp \
- ./seqmsg.cpp \
- ./widgets/swidget.cpp \
- ./widgets/ttoolbutton.cpp \
- ./widgets/siglabel.cpp \
- ./widgets/pitchedit.cpp \
- ./widgets/knob.cpp \
- ./widgets/tempolabel.cpp \
- ./widgets/dentry.cpp \
- ./widgets/midisyncimpl.cpp \
- ./widgets/musewidgetsplug.cpp \
- ./widgets/scldiv.cpp \
- ./widgets/pitchlabel.cpp \
- ./widgets/tools.cpp \
- ./widgets/poslabel.cpp \
- ./widgets/scldraw.cpp \
- ./widgets/tb1.cpp \
- ./widgets/gatetime.cpp \
- ./widgets/sigscale.cpp \
- ./widgets/vscale.cpp \
- ./widgets/lcombo.cpp \
- ./widgets/noteinfo.cpp \
- ./widgets/mtscale.cpp \
- ./widgets/scrollscale.cpp \
- ./widgets/ttoolbar.cpp \
- ./widgets/slider.cpp \
- ./widgets/doublelabel.cpp \
- ./widgets/citem.cpp \
- ./widgets/intlabel.cpp \
- ./widgets/sigedit.cpp \
- ./widgets/combobox.cpp \
- ./widgets/genset.cpp \
- ./widgets/checkbox.cpp \
- ./widgets/sliderbase.cpp \
- ./widgets/comboQuant.cpp \
- ./widgets/wtscale.cpp \
- ./widgets/nentry.cpp \
- ./widgets/canvas.cpp \
- ./widgets/splitter.cpp \
- ./widgets/posedit.cpp \
- ./widgets/fontsel.cpp \
- ./widgets/mixdowndialog.cpp \
- ./widgets/ctrlcombo.cpp \
- ./widgets/comment.cpp \
- ./widgets/metronome.cpp \
- ./widgets/mlabel.cpp \
- ./widgets/spinboxFP.cpp \
- ./widgets/drange.cpp \
- ./widgets/velocity.cpp \
- ./widgets/shortcutconfig.cpp \
- ./widgets/header.cpp \
- ./widgets/hitscale.cpp \
- ./widgets/view.cpp \
- ./widgets/bigtime.cpp \
- ./widgets/filedialog.cpp \
- ./widgets/sclif.cpp \
- ./widgets/utils.cpp \
- ./widgets/dimap.cpp \
- ./widgets/mmath.cpp \
- ./mididev.cpp \
- ./node.cpp \
- ./track.cpp \
- ./pos.cpp \
- ./globals.cpp \
- ./importmidi.cpp \
- ./thread.cpp \
- ./help.cpp \
- ./tempo.cpp
-
-FORMS = \
- ./liste/editctrlbase.ui \
- ./mixer/midiportroutebase.ui \
- ./mixer/routedialogbase.ui \
- ./patchbay/patchbaybase.ui \
- ./mplugins/mrconfigbase.ui \
- ./mplugins/midifilter.ui \
- ./mplugins/rhythmbase.ui \
- ./instruments/editinstrumentbase.ui \
- ./instruments/ccontrolbase.ui \
- ./widgets/synthconfigbase.ui \
- ./widgets/mixdowndialogbase.ui \
- ./widgets/aboutbox.ui \
- ./widgets/editnotedialogbase.ui \
- ./widgets/commentbase.ui \
- ./widgets/fdialogbuttons.ui \
- ./widgets/metronomebase.ui \
- ./widgets/gensetbase.ui \
- ./widgets/shortcutcapturedialogbase.ui \
- ./widgets/mtrackinfobase.ui \
- ./widgets/editmetadialogbase.ui \
- ./widgets/gatetimebase.ui \
- ./widgets/configmidifilebase.ui \
- ./widgets/editsysexdialogbase.ui \
- ./widgets/wtrackinfobase.ui \
- ./widgets/midisync.ui \
- ./widgets/appearancebase.ui \
- ./widgets/velocitybase.ui \
- ./widgets/cliplisteditorbase.ui \
- ./widgets/mittransposebase.ui \
- ./widgets/transformbase.ui \
- ./widgets/transposebase.ui \
- ./widgets/editctrl7dialogbase.ui \
- ./widgets/shortcutconfigbase.ui \
- ./widgets/itransformbase.ui
-
-TRANSLATIONS = \
- ../share/locale/muse_de.ts \
- ../share/locale/muse_fr.ts \
- ../share/locale/muse_sv_SE.ts \
- ../share/locale/muse_es.ts \
- ../share/locale/muse_ru.ts \
- ../share/locale/muse_pl.ts
-
diff --git a/muse2/muse/shortcuts.cpp b/muse2/muse/shortcuts.cpp
index d677c15c..94790190 100644
--- a/muse2/muse/shortcuts.cpp
+++ b/muse2/muse/shortcuts.cpp
@@ -134,12 +134,11 @@ void initShortCuts()
defShrt(SHRT_SEL_BELOW, Qt::Key_Down, "Edit: Select nearest part on track below", ARRANG_SHRT, "sel_part_below");
defShrt(SHRT_SEL_BELOW_ADD, Qt::SHIFT + Qt::Key_Down, "Edit: Add nearest part on track below", ARRANG_SHRT, "sel_part_below_add");
- defShrt(SHRT_INSERT, Qt::CTRL+Qt::SHIFT+ Qt::Key_I, "Edit: Insert parts, moving time", ARRANG_SHRT, "insert_parts");
defShrt(SHRT_INSERTMEAS, Qt::CTRL+Qt::SHIFT+ Qt::Key_O, "Edit: Insert empty measure", ARRANG_SHRT, "insert_measure");
- defShrt(SHRT_PASTE_CLONE, Qt::CTRL+Qt::SHIFT+Qt::Key_V, "Edit: Paste clone", ARRANG_SHRT, "paste_clone");
- defShrt(SHRT_PASTE_TO_TRACK, Qt::CTRL+Qt::Key_B, "Edit: Paste to track", ARRANG_SHRT, "paste_to_track");
- defShrt(SHRT_PASTE_CLONE_TO_TRACK, Qt::CTRL+Qt::SHIFT+Qt::Key_B, "Edit: Paste clone to track", ARRANG_SHRT, "paste_clone_to_track");
+ defShrt(SHRT_PASTE_DIALOG, Qt::CTRL+Qt::SHIFT+Qt::Key_V, "Edit: Paste (with dialog)", ARRANG_SHRT, "paste_dialog");
+ defShrt(SHRT_PASTE_CLONE, Qt::CTRL+Qt::Key_B, "Edit: Paste as clones", ARRANG_SHRT, "paste_as_clone"); // i changed "paste_clone" to "paste_as_clone" intendedly. otherwise muse would keep its old, conflicting definition (ctrl+shift+v instead of ctrl+b) (flo)
+ defShrt(SHRT_PASTE_CLONE_DIALOG, Qt::CTRL+Qt::SHIFT+Qt::Key_B, "Edit: Paste as clones (with dialog)", ARRANG_SHRT, "paste_as_clone_dialog");
defShrt(SHRT_SEL_TRACK_ABOVE, Qt::CTRL + Qt::Key_Up, "Select track above", ARRANG_SHRT, "sel_track_above");
defShrt(SHRT_SEL_TRACK_BELOW, Qt::CTRL + Qt::Key_Down, "Select track below", ARRANG_SHRT, "sel_track_below");
diff --git a/muse2/muse/shortcuts.h b/muse2/muse/shortcuts.h
index 5acde313..84f2daca 100644
--- a/muse2/muse/shortcuts.h
+++ b/muse2/muse/shortcuts.h
@@ -165,12 +165,11 @@ enum {
SHRT_SEL_BELOW, //Down
SHRT_SEL_BELOW_ADD, //move down and add to selection
- SHRT_INSERT, //Ctrl+Shift+I - insert parts instead of pasting
SHRT_INSERTMEAS, //Ctrl+Shift+M - insert measures
- SHRT_PASTE_CLONE, //CTRL+SHIFT+Key_V
- SHRT_PASTE_TO_TRACK, //CTRL+Key_B
- SHRT_PASTE_CLONE_TO_TRACK, //CTRL+SHIFT+Key_B
+ SHRT_PASTE_DIALOG, //CTRL+SHIFT+_V
+ SHRT_PASTE_CLONE, //CTRL+B
+ SHRT_PASTE_CLONE_DIALOG, //CTRL+SHIFT+B
//Arranger tracks
SHRT_SEL_TRACK_BELOW,
diff --git a/muse2/muse/structure.cpp b/muse2/muse/structure.cpp
index 1fb1668d..1a741834 100644
--- a/muse2/muse/structure.cpp
+++ b/muse2/muse/structure.cpp
@@ -19,6 +19,8 @@
#include "structure.h"
#include "globals.h"
+#include <set>
+using std::set;
//---------------------------------------------------------
// adjustGlobalLists
// helper that adjusts tempo, sig, key and marker
@@ -233,7 +235,7 @@ void globalInsert()
}
-Undo movePartsTotheRight(unsigned int startTicks, int moveTicks, bool only_selected)
+Undo movePartsTotheRight(unsigned int startTicks, int moveTicks, bool only_selected, set<Track*>* tracklist)
{
if (moveTicks<=0)
return Undo();
@@ -251,7 +253,9 @@ Undo movePartsTotheRight(unsigned int startTicks, int moveTicks, bool only_selec
for (iTrack it = tracks->begin(); it != tracks->end(); ++it) {
MidiTrack* track = dynamic_cast<MidiTrack*>(*it);
- if (track == 0 || (only_selected && at_least_one_selected && !track->selected()))
+ if ( (track == 0) ||
+ (only_selected && at_least_one_selected && !track->selected()) ||
+ (tracklist && tracklist->find(track)==tracklist->end()) )
continue;
PartList* pl = track->parts();
for (riPart p = pl->rbegin(); p != pl->rend(); ++p) {
@@ -260,7 +264,7 @@ Undo movePartsTotheRight(unsigned int startTicks, int moveTicks, bool only_selec
int l = part->lenTick();
if (t + l <= startTicks)
continue;
- if (startTicks >= t && startTicks < (t+l)) {
+ if (startTicks > t && startTicks < (t+l)) {
MidiPart* nPart = new MidiPart(*(MidiPart*)part);
nPart->setLenTick(l + moveTicks);
EventList* el = nPart->events();
@@ -276,7 +280,7 @@ Undo movePartsTotheRight(unsigned int startTicks, int moveTicks, bool only_selec
}
operations.push_back(UndoOp(UndoOp::ModifyPart, part, nPart, true, true));
}
- else if (t > startTicks) {
+ else if (t >= startTicks) {
MidiPart* nPart = new MidiPart(*(MidiPart*)part);
nPart->setTick(t + moveTicks);
operations.push_back(UndoOp(UndoOp::ModifyPart, part, nPart, true, false));
diff --git a/muse2/muse/structure.h b/muse2/muse/structure.h
index d1de1192..f9f29291 100644
--- a/muse2/muse/structure.h
+++ b/muse2/muse/structure.h
@@ -9,8 +9,9 @@
#define __STRUCTURE_H__
#include "undo.h"
+#include <set>
-Undo movePartsTotheRight(unsigned int startTick, int moveTick, bool only_selected=false);
+Undo movePartsTotheRight(unsigned int startTick, int moveTick, bool only_selected=false, std::set<Track*>* tracklist=NULL);
void adjustGlobalLists(Undo& operations, int startPos, int diff);
void globalCut();
void globalInsert();
diff --git a/muse2/muse/widgets/CMakeLists.txt b/muse2/muse/widgets/CMakeLists.txt
index b1eb888a..66fefa6f 100644
--- a/muse2/muse/widgets/CMakeLists.txt
+++ b/muse2/muse/widgets/CMakeLists.txt
@@ -59,6 +59,7 @@ QT4_WRAP_CPP (widget_mocs
mtrackinfo.h
nentry.h
noteinfo.h
+ pastedialog.h
pitchedit.h
pitchlabel.h
popupmenu.h
@@ -112,6 +113,7 @@ file (GLOB widgets_ui_files
mittransposebase.ui
mixdowndialogbase.ui
mtrackinfobase.ui
+ pastedialogbase.ui
projectcreate.ui
shortcutcapturedialogbase.ui
shortcutconfigbase.ui
@@ -159,6 +161,7 @@ file (GLOB widgets_source_files
mtscale_flo.cpp
nentry.cpp
noteinfo.cpp
+ pastedialog.cpp
pitchedit.cpp
pitchlabel.cpp
popupmenu.cpp
diff --git a/muse2/muse/widgets/pastedialog.cpp b/muse2/muse/widgets/pastedialog.cpp
new file mode 100644
index 00000000..a772e45b
--- /dev/null
+++ b/muse2/muse/widgets/pastedialog.cpp
@@ -0,0 +1,132 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: pastedialog.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+// (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#include <QButtonGroup>
+#include "pastedialog.h"
+#include "xml.h"
+#include "gconfig.h"
+
+PasteDialog::PasteDialog(QWidget* parent)
+ : QDialog(parent)
+{
+ setupUi(this);
+ button_group = new QButtonGroup;
+ button_group->addButton(merge_button,0);
+ button_group->addButton(move_all_button,1);
+ button_group->addButton(move_some_button,2);
+
+ raster_spinbox->setSingleStep(config.division);
+
+ connect(raster_spinbox, SIGNAL(valueChanged(int)), this, SLOT(raster_changed(int)));
+ connect(n_spinbox, SIGNAL(valueChanged(int)), this, SLOT(number_changed(int)));
+
+ pull_values();
+}
+
+void PasteDialog::pull_values()
+{
+ insert_method = button_group->checkedId();
+ number = n_spinbox->value();
+ raster = raster_spinbox->value();
+ all_in_one_track = all_in_one_track_checkbox->isChecked();
+ clone = clone_checkbox->isChecked();
+}
+
+void PasteDialog::accept()
+{
+ pull_values();
+ QDialog::accept();
+}
+
+int PasteDialog::exec()
+{
+ if ((insert_method < 0) || (insert_method > 2)) insert_method=0;
+
+ button_group->button(insert_method)->setChecked(true);
+ n_spinbox->setValue(number);
+ raster_spinbox->setValue(raster);
+ all_in_one_track_checkbox->setChecked(all_in_one_track);
+ clone_checkbox->setChecked(clone);
+
+ return QDialog::exec();
+}
+
+QString PasteDialog::ticks_to_quarter_string(int ticks)
+{
+ if (ticks % config.division == 0)
+ {
+ return tr("%n quarter(s)", "", ticks/config.division);
+ }
+ else
+ {
+ double quarters = (double) ticks/config.division;
+ bool one = ( quarters > 0.995 && quarters < 1.005 );
+ if (one)
+ return QString::number(quarters, 'f', 2) + " " + tr("quarter");
+ else
+ return QString::number(quarters, 'f', 2) + " " + tr("quarters");
+ }
+}
+
+void PasteDialog::raster_changed(int r)
+{
+ raster_quarters->setText(ticks_to_quarter_string(r));
+ insert_quarters->setText(ticks_to_quarter_string(r*n_spinbox->value()));
+}
+
+void PasteDialog::number_changed(int n)
+{
+ insert_quarters->setText(ticks_to_quarter_string(n*raster_spinbox->value()));
+}
+
+
+void PasteDialog::read_configuration(Xml& xml)
+{
+ for (;;)
+ {
+ Xml::Token token = xml.parse();
+ if (token == Xml::Error || token == Xml::End)
+ break;
+
+ const QString& tag = xml.s1();
+ switch (token)
+ {
+ case Xml::TagStart:
+ if (tag == "insert_method")
+ insert_method=xml.parseInt();
+ else if (tag == "number")
+ number=xml.parseInt();
+ else if (tag == "raster")
+ raster=xml.parseInt();
+ else if (tag == "clone")
+ clone=xml.parseInt();
+ else if (tag == "all_in_one_track")
+ all_in_one_track=xml.parseInt();
+ else
+ xml.unknown("PasteDialog");
+ break;
+
+ case Xml::TagEnd:
+ if (tag == "pastedialog")
+ return;
+
+ default:
+ break;
+ }
+ }
+}
+
+void PasteDialog::write_configuration(int level, Xml& xml)
+{
+ xml.tag(level++, "pastedialog");
+ xml.intTag(level, "insert_method", insert_method);
+ xml.intTag(level, "number", number);
+ xml.intTag(level, "raster", raster);
+ xml.intTag(level, "clone", clone);
+ xml.intTag(level, "all_in_one_track", all_in_one_track);
+ xml.tag(level, "/pastedialog");
+}
diff --git a/muse2/muse/widgets/pastedialog.h b/muse2/muse/widgets/pastedialog.h
new file mode 100644
index 00000000..866fda4c
--- /dev/null
+++ b/muse2/muse/widgets/pastedialog.h
@@ -0,0 +1,48 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: pastedialog.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+// (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#ifndef __PASTEDIALOG_H__
+#define __PASTEDIALOG_H__
+
+#include "ui_pastedialogbase.h"
+#include <QString>
+
+class Xml;
+
+class PasteDialog : public QDialog, public Ui::PasteDialogBase
+{
+ Q_OBJECT
+ protected:
+ QButtonGroup* button_group;
+ QString ticks_to_quarter_string(int ticks);
+
+ protected slots:
+ void accept();
+ void pull_values();
+
+ void raster_changed(int);
+ void number_changed(int);
+
+ public:
+ PasteDialog(QWidget* parent = 0);
+
+ int insert_method;
+ int number;
+ int raster;
+ bool all_in_one_track;
+ bool clone;
+
+ void read_configuration(Xml& xml);
+ void write_configuration(int level, Xml& xml);
+
+
+ public slots:
+ int exec();
+};
+
+#endif
+
diff --git a/muse2/muse/widgets/pastedialogbase.ui b/muse2/muse/widgets/pastedialogbase.ui
new file mode 100644
index 00000000..a9c7bced
--- /dev/null
+++ b/muse2/muse/widgets/pastedialogbase.ui
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PasteDialogBase</class>
+ <widget class="QDialog" name="PasteDialogBase">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>307</width>
+ <height>349</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MusE: Paste Parts</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="rangeBox">
+ <property name="title">
+ <string>Number and raster</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>insert</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="n_spinbox">
+ <property name="suffix">
+ <string> times</string>
+ </property>
+ <property name="prefix">
+ <string/>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>raster</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="raster_spinbox">
+ <property name="suffix">
+ <string> ticks</string>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="maximum">
+ <number>999999</number>
+ </property>
+ <property name="singleStep">
+ <number>384</number>
+ </property>
+ <property name="value">
+ <number>384</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="insert_quarters">
+ <property name="text">
+ <string>1 quarter</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="raster_quarters">
+ <property name="text">
+ <string>1 quarter</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="2">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Move, Merge, Clone</string>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ <property name="checkable">
+ <bool>false</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="2" column="0">
+ <widget class="QRadioButton" name="move_all_button">
+ <property name="text">
+ <string>Move everything to the right</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QRadioButton" name="move_some_button">
+ <property name="text">
+ <string>Move only affected parts to the right</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="6" column="0">
+ <widget class="QCheckBox" name="all_in_one_track_checkbox">
+ <property name="text">
+ <string>Put everything into a single track</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="merge_button">
+ <property name="text">
+ <string>Merge with existing parts</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QCheckBox" name="clone_checkbox">
+ <property name="text">
+ <string>Insert as clones (where possible)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item>
+ <spacer name="Spacer1">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="okButton">
+ <property name="text">
+ <string>OK</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="cancelButton">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>okButton</sender>
+ <signal>clicked()</signal>
+ <receiver>PasteDialogBase</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cancelButton</sender>
+ <signal>clicked()</signal>
+ <receiver>PasteDialogBase</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>