summaryrefslogtreecommitdiff
path: root/muse2/muse/midictrl.cpp
diff options
context:
space:
mode:
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)