summaryrefslogtreecommitdiff
path: root/muse2/muse/arranger/pcanvas.cpp
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2012-11-12 04:49:31 +0000
committerTim E. Real <termtech@rogers.com>2012-11-12 04:49:31 +0000
commitbe1005a6031861b91e1a2df33f62e1c5a0a2aeb6 (patch)
tree89152909549c7dd624f4748f394c3adbcbf65b86 /muse2/muse/arranger/pcanvas.cpp
parent31f618e5461553bd7836677f944acfa233e5ae3c (diff)
Finished Aftertouch controllers
Feature: Piano KB / drum list show coloured dots when per-pitch controllers exist / have data.
Diffstat (limited to 'muse2/muse/arranger/pcanvas.cpp')
-rw-r--r--muse2/muse/arranger/pcanvas.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp
index 3c3e6116..ccd727aa 100644
--- a/muse2/muse/arranger/pcanvas.cpp
+++ b/muse2/muse/arranger/pcanvas.cpp
@@ -2333,12 +2333,17 @@ void PartCanvas::drawMidiPart(QPainter& p, const QRect&, MusECore::EventList* ev
for (MusECore::iEvent i = events->lower_bound(from); i != ito; ++i) {
MusECore::EventType type = i->second.type();
+ int a = i->second.dataA() | 0xff;
if (
((MusEGlobal::config.canvasShowPartEvent & 1) && (type == MusECore::Note))
- || ((MusEGlobal::config.canvasShowPartEvent & 2) && (type == MusECore::PAfter))
- || ((MusEGlobal::config.canvasShowPartEvent & 4) && (type == MusECore::Controller))
- || ((MusEGlobal::config.canvasShowPartEvent &16) && (type == MusECore::CAfter))
- || ((MusEGlobal::config.canvasShowPartEvent &64) && (type == MusECore::Sysex || type == MusECore::Meta))
+ || ((MusEGlobal::config.canvasShowPartEvent & (2 | 4)) == (2 | 4) &&
+ type == MusECore::Controller && a == MusECore::CTRL_POLYAFTER)
+ || ((MusEGlobal::config.canvasShowPartEvent & 4) && (type == MusECore::Controller) &&
+ (a != MusECore::CTRL_POLYAFTER || (MusEGlobal::config.canvasShowPartEvent & 2)) &&
+ (a != MusECore::CTRL_AFTERTOUCH || (MusEGlobal::config.canvasShowPartEvent & 16)))
+ || ((MusEGlobal::config.canvasShowPartEvent & (16 | 4)) == (16 | 4) &&
+ type == MusECore::Controller && a == MusECore::CTRL_AFTERTOUCH)
+ || ((MusEGlobal::config.canvasShowPartEvent & 64) && (type == MusECore::Sysex || type == MusECore::Meta))
) {
int t = i->first + pTick;
int th = mt->height();