class com.sun.media.sound.SoftChorus$LFODelay
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.media.sound.SoftChorus$LFODelay
  super_class: java.lang.Object
{
  private double phase;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double phase_step;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double depth;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private com.sun.media.sound.SoftChorus$VariableDelay vdelay;
    descriptor: Lcom/sun/media/sound/SoftChorus$VariableDelay;
    flags: (0x0002) ACC_PRIVATE

  private final double samplerate;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double controlrate;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(double, double);
    descriptor: (DD)V
    flags: (0x0000) 
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // com.sun.media.sound.SoftChorus$LFODelay this
        start local 1 // double samplerate
        start local 3 // double controlrate
         0: .line 126
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 119
            aload 0 /* this */
            dconst_1
            putfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
         2: .line 120
            aload 0 /* this */
            dconst_0
            putfield com.sun.media.sound.SoftChorus$LFODelay.phase_step:D
         3: .line 121
            aload 0 /* this */
            dconst_0
            putfield com.sun.media.sound.SoftChorus$LFODelay.depth:D
         4: .line 127
            aload 0 /* this */
            dload 1 /* samplerate */
            putfield com.sun.media.sound.SoftChorus$LFODelay.samplerate:D
         5: .line 128
            aload 0 /* this */
            dload 3 /* controlrate */
            putfield com.sun.media.sound.SoftChorus$LFODelay.controlrate:D
         6: .line 130
            aload 0 /* this */
            new com.sun.media.sound.SoftChorus$VariableDelay
            dup
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.depth:D
            ldc 10.0
            dadd
            ldc 2.0
            dmul
            d2i
            invokespecial com.sun.media.sound.SoftChorus$VariableDelay.<init>:(I)V
            putfield com.sun.media.sound.SoftChorus$LFODelay.vdelay:Lcom/sun/media/sound/SoftChorus$VariableDelay;
         7: .line 132
            return
        end local 3 // double controlrate
        end local 1 // double samplerate
        end local 0 // com.sun.media.sound.SoftChorus$LFODelay this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/sun/media/sound/SoftChorus$LFODelay;
            0    8     1   samplerate  D
            0    8     3  controlrate  D
    MethodParameters:
             Name  Flags
      samplerate   
      controlrate  

  public void setDepth(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.sun.media.sound.SoftChorus$LFODelay this
        start local 1 // double depth
         0: .line 135
            aload 0 /* this */
            dload 1 /* depth */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.samplerate:D
            dmul
            putfield com.sun.media.sound.SoftChorus$LFODelay.depth:D
         1: .line 136
            aload 0 /* this */
            new com.sun.media.sound.SoftChorus$VariableDelay
            dup
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.depth:D
            ldc 10.0
            dadd
            ldc 2.0
            dmul
            d2i
            invokespecial com.sun.media.sound.SoftChorus$VariableDelay.<init>:(I)V
            putfield com.sun.media.sound.SoftChorus$LFODelay.vdelay:Lcom/sun/media/sound/SoftChorus$VariableDelay;
         2: .line 137
            return
        end local 1 // double depth
        end local 0 // com.sun.media.sound.SoftChorus$LFODelay this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/media/sound/SoftChorus$LFODelay;
            0    3     1  depth  D
    MethodParameters:
       Name  Flags
      depth  

  public void setRate(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.sun.media.sound.SoftChorus$LFODelay this
        start local 1 // double rate
         0: .line 140
            ldc 6.283185307179586
            dload 1 /* rate */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.controlrate:D
            ddiv
            dmul
            dstore 3 /* g */
        start local 3 // double g
         1: .line 141
            aload 0 /* this */
            dload 3 /* g */
            putfield com.sun.media.sound.SoftChorus$LFODelay.phase_step:D
         2: .line 142
            return
        end local 3 // double g
        end local 1 // double rate
        end local 0 // com.sun.media.sound.SoftChorus$LFODelay this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/media/sound/SoftChorus$LFODelay;
            0    3     1  rate  D
            1    3     3     g  D
    MethodParameters:
      Name  Flags
      rate  

  public void setPhase(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.media.sound.SoftChorus$LFODelay this
        start local 1 // double phase
         0: .line 145
            aload 0 /* this */
            dload 1 /* phase */
            putfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
         1: .line 146
            return
        end local 1 // double phase
        end local 0 // com.sun.media.sound.SoftChorus$LFODelay this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/media/sound/SoftChorus$LFODelay;
            0    2     1  phase  D
    MethodParameters:
       Name  Flags
      phase  

  public void setFeedBack(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SoftChorus$LFODelay this
        start local 1 // float feedback
         0: .line 149
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.vdelay:Lcom/sun/media/sound/SoftChorus$VariableDelay;
            fload 1 /* feedback */
            invokevirtual com.sun.media.sound.SoftChorus$VariableDelay.setFeedBack:(F)V
         1: .line 150
            return
        end local 1 // float feedback
        end local 0 // com.sun.media.sound.SoftChorus$LFODelay this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/media/sound/SoftChorus$LFODelay;
            0    2     1  feedback  F
    MethodParameters:
          Name  Flags
      feedback  

  public void setGain(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SoftChorus$LFODelay this
        start local 1 // float gain
         0: .line 153
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.vdelay:Lcom/sun/media/sound/SoftChorus$VariableDelay;
            fload 1 /* gain */
            invokevirtual com.sun.media.sound.SoftChorus$VariableDelay.setGain:(F)V
         1: .line 154
            return
        end local 1 // float gain
        end local 0 // com.sun.media.sound.SoftChorus$LFODelay this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SoftChorus$LFODelay;
            0    2     1  gain  F
    MethodParameters:
      Name  Flags
      gain  

  public void setReverbSendGain(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SoftChorus$LFODelay this
        start local 1 // float rgain
         0: .line 157
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.vdelay:Lcom/sun/media/sound/SoftChorus$VariableDelay;
            fload 1 /* rgain */
            invokevirtual com.sun.media.sound.SoftChorus$VariableDelay.setReverbSendGain:(F)V
         1: .line 158
            return
        end local 1 // float rgain
        end local 0 // com.sun.media.sound.SoftChorus$LFODelay this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/media/sound/SoftChorus$LFODelay;
            0    2     1  rgain  F
    MethodParameters:
       Name  Flags
      rgain  

  public void processMix(float[], float[], float[]);
    descriptor: ([F[F[F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.sun.media.sound.SoftChorus$LFODelay this
        start local 1 // float[] in
        start local 2 // float[] out
        start local 3 // float[] rout
         0: .line 161
            aload 0 /* this */
            dup
            getfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.phase_step:D
            dadd
            putfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
         1: .line 162
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            dup
            getfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
            ldc 6.283185307179586
            dsub
            putfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
            ldc 6.283185307179586
            dcmpl
            ifgt 2
         4: .line 163
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.vdelay:Lcom/sun/media/sound/SoftChorus$VariableDelay;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.depth:D
            ldc 0.5
            dmul
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
            invokestatic java.lang.Math.cos:(D)D
            ldc 2.0
            dadd
            dmul
            d2f
            invokevirtual com.sun.media.sound.SoftChorus$VariableDelay.setDelay:(F)V
         5: .line 164
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.vdelay:Lcom/sun/media/sound/SoftChorus$VariableDelay;
            aload 1 /* in */
            aload 2 /* out */
            aload 3 /* rout */
            invokevirtual com.sun.media.sound.SoftChorus$VariableDelay.processMix:([F[F[F)V
         6: .line 165
            return
        end local 3 // float[] rout
        end local 2 // float[] out
        end local 1 // float[] in
        end local 0 // com.sun.media.sound.SoftChorus$LFODelay this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/media/sound/SoftChorus$LFODelay;
            0    7     1    in  [F
            0    7     2   out  [F
            0    7     3  rout  [F
    MethodParameters:
      Name  Flags
      in    
      out   
      rout  

  public void processReplace(float[], float[], float[]);
    descriptor: ([F[F[F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.sun.media.sound.SoftChorus$LFODelay this
        start local 1 // float[] in
        start local 2 // float[] out
        start local 3 // float[] rout
         0: .line 168
            aload 0 /* this */
            dup
            getfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.phase_step:D
            dadd
            putfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
         1: .line 169
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            dup
            getfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
            ldc 6.283185307179586
            dsub
            putfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
            ldc 6.283185307179586
            dcmpl
            ifgt 2
         4: .line 170
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.vdelay:Lcom/sun/media/sound/SoftChorus$VariableDelay;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.depth:D
            ldc 0.5
            dmul
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.phase:D
            invokestatic java.lang.Math.cos:(D)D
            ldc 2.0
            dadd
            dmul
            d2f
            invokevirtual com.sun.media.sound.SoftChorus$VariableDelay.setDelay:(F)V
         5: .line 171
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChorus$LFODelay.vdelay:Lcom/sun/media/sound/SoftChorus$VariableDelay;
            aload 1 /* in */
            aload 2 /* out */
            aload 3 /* rout */
            invokevirtual com.sun.media.sound.SoftChorus$VariableDelay.processReplace:([F[F[F)V
         6: .line 173
            return
        end local 3 // float[] rout
        end local 2 // float[] out
        end local 1 // float[] in
        end local 0 // com.sun.media.sound.SoftChorus$LFODelay this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/media/sound/SoftChorus$LFODelay;
            0    7     1    in  [F
            0    7     2   out  [F
            0    7     3  rout  [F
    MethodParameters:
      Name  Flags
      in    
      out   
      rout  
}
SourceFile: "SoftChorus.java"
NestHost: com.sun.media.sound.SoftChorus
InnerClasses:
  private LFODelay = com.sun.media.sound.SoftChorus$LFODelay of com.sun.media.sound.SoftChorus
  private VariableDelay = com.sun.media.sound.SoftChorus$VariableDelay of com.sun.media.sound.SoftChorus