summaryrefslogtreecommitdiff
path: root/muse2/muse/midiedit/pianoroll.cpp
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2011-05-25 15:38:43 +0000
committerFlorian Jung <flo@windfisch.org>2011-05-25 15:38:43 +0000
commit5e47397a7d496b8dcc93e11b89cb0f9159f291e0 (patch)
tree2bb5b0b4c41f78acdc36813b10d7ed232a689981 /muse2/muse/midiedit/pianoroll.cpp
parentccef6200fac0de84de65bb0d3eda223acc6b03c6 (diff)
undone commit 954: reintroduced midi-in buttons and the step-rec
button for the drum editor. however, i disabled these buttons in the drum editor, because they have no function right now, and muse should not pretend there is some function.
Diffstat (limited to 'muse2/muse/midiedit/pianoroll.cpp')
-rw-r--r--muse2/muse/midiedit/pianoroll.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/muse2/muse/midiedit/pianoroll.cpp b/muse2/muse/midiedit/pianoroll.cpp
index 89f5ad6a..ab83e85f 100644
--- a/muse2/muse/midiedit/pianoroll.cpp
+++ b/muse2/muse/midiedit/pianoroll.cpp
@@ -236,6 +236,12 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
srec->setCheckable(true);
tools->addWidget(srec);
+ midiin = new QToolButton();
+ midiin->setToolTip(tr("Midi Input"));
+ midiin->setIcon(*midiinIcon);
+ midiin->setCheckable(true);
+ tools->addWidget(midiin);
+
speaker = new QToolButton();
speaker->setToolTip(tr("Play Events"));
speaker->setIcon(*speakerIcon);
@@ -435,6 +441,7 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
connect(piano, SIGNAL(keyPressed(int, int, bool)), canvas, SLOT(pianoPressed(int, int, bool)));
connect(piano, SIGNAL(keyReleased(int, bool)), canvas, SLOT(pianoReleased(int, bool)));
connect(srec, SIGNAL(toggled(bool)), SLOT(setSteprec(bool)));
+ connect(midiin, SIGNAL(toggled(bool)), canvas, SLOT(setMidiin(bool)));
connect(speaker, SIGNAL(toggled(bool)), SLOT(setSpeaker(bool)));
connect(canvas, SIGNAL(followEvent(int)), SLOT(follow(int)));
@@ -866,7 +873,8 @@ void PianoRoll::writeStatus(int level, Xml& xml) const
(*i)->writeStatus(level, xml);
}
- xml.intTag(level, "steprec", ((PianoCanvas*)canvas)->steprec());
+ xml.intTag(level, "steprec", canvas->steprec());
+ xml.intTag(level, "midiin", canvas->midiin());
xml.intTag(level, "tool", int(canvas->tool()));
xml.intTag(level, "playEvents", _playEvents);
xml.intTag(level, "xpos", hscroll->pos());
@@ -891,9 +899,14 @@ void PianoRoll::readStatus(Xml& xml)
case Xml::TagStart:
if (tag == "steprec") {
int val = xml.parseInt();
- ((PianoCanvas*)canvas)->setSteprec(val);
+ canvas->setSteprec(val);
srec->setChecked(val);
}
+ else if (tag == "midiin") {
+ int val = xml.parseInt();
+ canvas->setMidiin(val);
+ midiin->setChecked(val);
+ }
else if (tag == "tool") {
int tool = xml.parseInt();
canvas->setTool(tool);
@@ -1117,7 +1130,9 @@ void PianoRoll::keyPressEvent(QKeyEvent* event)
void PianoRoll::setSteprec(bool flag)
{
- ((PianoCanvas*)canvas)->setSteprec(flag);
+ canvas->setSteprec(flag);
+ if (flag == false)
+ midiin->setChecked(flag);
}
//---------------------------------------------------------