summaryrefslogtreecommitdiff
path: root/muse2/muse/arranger/tlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/arranger/tlist.cpp')
-rw-r--r--muse2/muse/arranger/tlist.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp
index 4b531607..427047c2 100644
--- a/muse2/muse/arranger/tlist.cpp
+++ b/muse2/muse/arranger/tlist.cpp
@@ -44,6 +44,7 @@
#include "midiedit/drummap.h"
#include "synth.h"
#include "config.h"
+#include "scoreedit.h"
#ifdef DSSI_SUPPORT
#include "dssihost.h"
@@ -356,6 +357,18 @@ void TList::paint(const QRect& r)
p.drawText(r, Qt::AlignVCenter|Qt::AlignLeft, s);
}
break;
+ case COL_CLEF:
+ if (track->isMidiTrack()) {
+ QString s = "no clef";
+ if (((MidiTrack*)track)->getClef() == ScoreEdit::trebleClef)
+ s="Treble Clef";
+ else if (((MidiTrack*)track)->getClef() == ScoreEdit::bassClef)
+ s="Bass Clef";
+ else if (((MidiTrack*)track)->getClef() == ScoreEdit::grandStaff)
+ s="Grand Staff";
+ p.drawText(r, Qt::AlignVCenter|Qt::AlignLeft, s);
+ }
+ break;
default:
break;
}
@@ -1054,6 +1067,32 @@ void TList::mousePressEvent(QMouseEvent* ev)
mode = START_DRAG;
switch (col) {
+ case COL_CLEF:
+ if (t->isMidiTrack()) {
+ QMenu* p = new QMenu;
+ p->addAction("Treble clef")->setData(0);
+ p->addAction("Bass clef")->setData(1);
+ p->addAction("Grand Staff")->setData(2);
+
+ // Show the menu
+ QAction* act = p->exec(ev->globalPos(), 0);
+ switch (act->data().toInt()) {
+ case 0:
+ ((MidiTrack*)t)->setClef(ScoreEdit::trebleClef);
+ break;
+ case 1:
+ ((MidiTrack*)t)->setClef(ScoreEdit::bassClef);
+ break;
+ case 2:
+ ((MidiTrack*)t)->setClef(ScoreEdit::grandStaff);
+ break;
+ default:
+ break;
+ }
+ delete p;
+ }
+
+ break;
case COL_AUTOMATION:
{
if (!t->isMidiTrack()) {