 #define CC_DRAWBAR_9 (CC_DRAWBAR_0 + 9)
 #define CC_ROTARY_SPEED (82)
 #define CC_ROTARY_STOP (79)
+#define CC_VIBRATO_MODE (84)
 #define CC_PERCUSSION (87)
 #define CC_PERCUSSION_FAST (88)
 #define CC_PERCUSSION_SOFT (89)
 #define CC_PERCUSSION_THIRD (95) // is this correct?
+#define CC_VIBRATO (107)
+#define CC_SPEAKER_DRIVE (111)
 
 // numKeysDown is used to keep the percussion effect single triggered:
 // only the first key down affects the percussion setting.

    midiControl[CC_DRAWBAR_0 + 3] = 127;
    midiControl[CC_DRAWBAR_0 + 4] = 127;

    // Reset Leslie rotation position. Our R microphone leads the L by
    // 90 degrees.
    leslieBassL.setPhase(0);

}

void updateLeslieAmplifier() {
    float k = remap((float)midiControl[CC_SPEAKER_DRIVE], 0, 127, 5.0, 50.0);
    preamp.setK(k);
    crossover.frequency(800);
    crossover.resonance(0.707);
}

void updateLeslieRotation() {
    // Reset some things that should be constant.
    leslieBassR.setTremoloDepth(0.3);
    leslieTrebleR.setTremoloDepth(0.1);
    leslieBassL.setTremoloDepth(0.3);
    leslieTrebleL.setTremoloDepth(0.1);

    // Vibrato in the AMFM blocks currently has some fizz artifacts.

    // These Leslie speeds are from
    // http://www.dairiki.org/HammondWiki/LeslieRotationSpeed
