summaryrefslogtreecommitdiff
path: root/muse2/muse/midictrl.cpp
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2012-10-27 09:58:29 +0000
committerTim E. Real <termtech@rogers.com>2012-10-27 09:58:29 +0000
commitb1776f093d4b87ad2635990f429f4503157f6288 (patch)
treea18bcc5e23674d74037c87e0541f9feefdc7b9ca /muse2/muse/midictrl.cpp
parentb297348e8e2cd76be6f1d546fb458865cc4d263b (diff)
Improved: Velocity graphs. Icon for showing per-note or all velocities. Also found in Settings.
Improved: Piano KB has current selected note (yellow). For velocity/polyaftertouch/other per-note ctrls. Bad timing warning now has "don't show again". Added 'speaker' icon to drum edit. And drum list and piano keyboard now obey the 'speaker' icon.
Diffstat (limited to 'muse2/muse/midictrl.cpp')
-rw-r--r--muse2/muse/midictrl.cpp31
1 files changed, 22 insertions, 9 deletions
diff --git a/muse2/muse/midictrl.cpp b/muse2/muse/midictrl.cpp
index 2cf4f790..b87ea8d1 100644
--- a/muse2/muse/midictrl.cpp
+++ b/muse2/muse/midictrl.cpp
@@ -87,9 +87,6 @@ static MidiController programCtrl("Program", CTRL_PROGRAM, 0, 0xf
static MidiController mastervolCtrl("MasterVolume", CTRL_MASTER_VOLUME, 0, 0x3fff, 0x3000);
static MidiController volumeCtrl("MainVolume", CTRL_VOLUME, 0, 127, 100);
static MidiController panCtrl("Pan", CTRL_PANPOT, -64, 63, 0);
-static MidiController polyAfterCtrl("PolyAftertouch", CTRL_POLYAFTER, 0, 127, 0);
-static MidiController afterCtrl("Aftertouch", CTRL_AFTERTOUCH, 0, 127, 0);
-
//---------------------------------------------------------
// ctrlType2Int
@@ -149,8 +146,6 @@ const QString& int2ctrlType(int n)
void initMidiController()
{
defaultMidiController.add(&veloCtrl);
- defaultMidiController.add(&polyAfterCtrl);
- defaultMidiController.add(&afterCtrl);
defaultMidiController.add(&pitchCtrl);
defaultMidiController.add(&programCtrl);
defaultMidiController.add(&mastervolCtrl);
@@ -432,7 +427,7 @@ void MidiController::updateBias()
void MidiController::write(int level, Xml& xml) const
{
ControllerType t = midiControllerType(_num);
- if(t == Velo || t == PolyAftertouch || t == Aftertouch)
+ if(t == Velo)
return;
QString type(int2ctrlType(t));
@@ -475,10 +470,16 @@ void MidiController::write(int level, Xml& xml) const
mn = -8192;
mx = 8191;
break;
- case Program:
- case Velo: // Cannot happen
case PolyAftertouch:
+ mn = 0;
+ mx = 127;
+ break;
case Aftertouch:
+ mn = 0;
+ mx = 127;
+ break;
+ case Program:
+ case Velo: // Cannot happen
break;
}
@@ -599,9 +600,21 @@ void MidiController::read(Xml& xml)
_maxVal = 0xffffff;
_num = CTRL_PROGRAM;
break;
- case Velo: // cannot happen
case PolyAftertouch:
+ if (_maxVal == NOT_SET)
+ _maxVal = 127;
+ if (_minVal == NOT_SET)
+ _minVal = 0;
+ _num = CTRL_POLYAFTER;
+ break;
case Aftertouch:
+ if (_maxVal == NOT_SET)
+ _maxVal = 127;
+ if (_minVal == NOT_SET)
+ _minVal = 0;
+ _num = CTRL_AFTERTOUCH;
+ break;
+ case Velo: // cannot happen
break;
}
if (_minVal == NOT_SET)