anchor.diff:      // Flanger
       if (SoundUtilities.yes) {
         toggleFlanger();
  -      if (flanger.enabled) {
  +      if (flanger != null) {
           FlangerFrequency = SoundUtilities.rndr(0.0, 100.0);
           FlangerDelayScaler = SoundUtilities.rndr(0.0, 2.0);
           FlangerFeedback = SoundUtilities.rndr(0.4, 1.0);
  
positive.code:     else
        OscillatorType = WASfxr.TRIANGLE;
  
      frequency = SoundUtilities.rndr(1300.0, 2500.0);
      
      enableTremolo();
      tremoloStrength = SoundUtilities.rndr(0.1, 2.0);
      tremoloFrequency = SoundUtilities.rndr(8.0, 200.0);
  
      arpeNotes = SoundUtilities.rndr(0.0, 10.0).floor();
      arpeStepType = SoundUtilities.rndr(1.0, 3.0).floor();
      
      retriggerCount = SoundUtilities.rndr(2.0, 4.0).floor();
      retriggerRate = SoundUtilities.rndr(0.1, 0.15);
    }
    
    void genLowAlarms() {
      reset();
      
      enableFrequency();
      double n =  SoundUtilities.randomDouble();
      if (n < 0.25)
        OscillatorType = WASfxr.SINE;
      else if (n < 0.5)
        OscillatorType = WASfxr.SQUARE;
      else if (n < 0.75)
        OscillatorType = WASfxr.SAWTOOTH;
      else
        OscillatorType = WASfxr.TRIANGLE;
  
      frequency = SoundUtilities.rndr(200.0, 500.0);
      
      enableTremolo();
      tremoloStrength = SoundUtilities.rndr(0.1, 2.0);
      tremoloFrequency = SoundUtilities.rndr(8.0, 100.0);
  
negative.code:     }
    }
    
    set lowPassFrequency(double percent) {
      if (lowPass != null)
        lowPass.frequencyCutoff = percent;
    }
    double get lowPassFrequency {
      if (lowPass != null)
        return lowPass.frequencyCutoff;
      return 0.0;
    }
  
    set lowPassSweep(double df) {
      if (lowPass != null)
        lowPass.cutoffSweep = df;
    }
    double get lowPassSweep {
      if (lowPass != null)
        return lowPass.cutoffSweep;
      return 0.0;
    }
  
    set lowPassResonance(double q) {
      if (lowPass != null)
        lowPass.qResonance = q;
    }
    double get lowPassResonance {
      if (lowPass != null)
        return lowPass.qResonance;
      return 0.0;
    }
  
    // -------------------------------------------------------------
    // High pass
    // -------------------------------------------------------------
    bool toggleHighPass() {
      if (highPass == null) {
        connectHighPass(true);
        return true;
      }
      else {
        connectHighPass(false);
        return false;
      }
    }
  
    bool get highPassEnabled {
      if (highPass != null)
        return highPass.enabled;
      else
        return false;
    }
  
    void connectHighPass(bool connect) {
      // To connect highPass we need to "look" backward and forwards.
      // We look backwards until we reach the Generator and we look
      // forward until we reach the Envelope.
      if (connect && highPass == null) {
        highPass = new WAHighPassFilter.basic(_context);
        highPass.enabled = true;
        print("--Connecting highPass");
        
        if (lowPass != null) {
          print("  Disconnecting lowPass");
          // Disconnect lowPass from whatever it is currently connected.
          lowPass.output.disconnect(0);
  