diff options
author | Tim E. Real <termtech@rogers.com> | 2012-10-27 09:58:29 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2012-10-27 09:58:29 +0000 |
commit | b1776f093d4b87ad2635990f429f4503157f6288 (patch) | |
tree | a18bcc5e23674d74037c87e0541f9feefdc7b9ca /muse2/muse/midictrl.cpp | |
parent | b297348e8e2cd76be6f1d546fb458865cc4d263b (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.cpp | 31 |
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) |