public final class com.sun.media.sound.SoftLowFrequencyOscillator implements com.sun.media.sound.SoftProcess
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.media.sound.SoftLowFrequencyOscillator
  super_class: java.lang.Object
{
  private final int max_count;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 10

  private int used_count;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final double[][] out;
    descriptor: [[D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[][] delay;
    descriptor: [[D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[][] delay2;
    descriptor: [[D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[][] freq;
    descriptor: [[D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] delay_counter;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] sin_phase;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] sin_stepfreq;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] sin_step;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private static final double PI2;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6.283185307179586

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.media.sound.SoftLowFrequencyOscillator this
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            bipush 10
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.max_count:I
         2: .line 36
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.used_count:I
         3: .line 37
            aload 0 /* this */
            bipush 10
            iconst_1
            multianewarray [[D 2
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.out:[[D
         4: .line 38
            aload 0 /* this */
            bipush 10
            iconst_1
            multianewarray [[D 2
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.delay:[[D
         5: .line 39
            aload 0 /* this */
            bipush 10
            iconst_1
            multianewarray [[D 2
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.delay2:[[D
         6: .line 40
            aload 0 /* this */
            bipush 10
            iconst_1
            multianewarray [[D 2
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.freq:[[D
         7: .line 41
            aload 0 /* this */
            bipush 10
            newarray 10
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.delay_counter:[I
         8: .line 42
            aload 0 /* this */
            bipush 10
            newarray 7
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_phase:[D
         9: .line 43
            aload 0 /* this */
            bipush 10
            newarray 7
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_stepfreq:[D
        10: .line 44
            aload 0 /* this */
            bipush 10
            newarray 7
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_step:[D
        11: .line 45
            aload 0 /* this */
            dconst_0
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.control_time:D
        12: .line 46
            aload 0 /* this */
            dconst_0
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_factor:D
        13: .line 51
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        14: goto 17
        15: .line 52
      StackMap locals: com.sun.media.sound.SoftLowFrequencyOscillator int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_stepfreq:[D
            iload 1 /* i */
            ldc -Infinity
            dastore
        16: .line 51
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 1 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_stepfreq:[D
            arraylength
            if_icmplt 15
        end local 1 // int i
        18: .line 54
            return
        end local 0 // com.sun.media.sound.SoftLowFrequencyOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lcom/sun/media/sound/SoftLowFrequencyOscillator;
           14   18     1     i  I

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.media.sound.SoftLowFrequencyOscillator this
         0: .line 58
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 11
         2: .line 59
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.out:[[D
            iload 1 /* i */
            aaload
            iconst_0
            dconst_0
            dastore
         3: .line 60
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay:[[D
            iload 1 /* i */
            aaload
            iconst_0
            dconst_0
            dastore
         4: .line 61
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay2:[[D
            iload 1 /* i */
            aaload
            iconst_0
            dconst_0
            dastore
         5: .line 62
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.freq:[[D
            iload 1 /* i */
            aaload
            iconst_0
            dconst_0
            dastore
         6: .line 63
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay_counter:[I
            iload 1 /* i */
            iconst_0
            iastore
         7: .line 64
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_phase:[D
            iload 1 /* i */
            dconst_0
            dastore
         8: .line 66
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_stepfreq:[D
            iload 1 /* i */
            ldc -Infinity
            dastore
         9: .line 67
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_step:[D
            iload 1 /* i */
            dconst_0
            dastore
        10: .line 58
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 1 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.used_count:I
            if_icmplt 2
        end local 1 // int i
        12: .line 69
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.used_count:I
        13: .line 70
            return
        end local 0 // com.sun.media.sound.SoftLowFrequencyOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/sun/media/sound/SoftLowFrequencyOscillator;
            1   12     1     i  I

  public void init(com.sun.media.sound.SoftSynthesizer);
    descriptor: (Lcom/sun/media/sound/SoftSynthesizer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // com.sun.media.sound.SoftLowFrequencyOscillator this
        start local 1 // com.sun.media.sound.SoftSynthesizer synth
         0: .line 74
            aload 0 /* this */
            dconst_1
            aload 1 /* synth */
            invokevirtual com.sun.media.sound.SoftSynthesizer.getControlRate:()F
            f2d
            ddiv
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.control_time:D
         1: .line 75
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.control_time:D
            ldc 2.0
            dmul
            ldc 3.141592653589793
            dmul
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_factor:D
         2: .line 76
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 11
         4: .line 77
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay_counter:[I
            iload 2 /* i */
            ldc 2.0
         5: .line 78
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay:[[D
            iload 2 /* i */
            aaload
            iconst_0
            daload
            ldc 1200.0
            ddiv
         6: .line 77
            invokestatic java.lang.Math.pow:(DD)D
         7: .line 78
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.control_time:D
            ddiv
            d2i
         8: .line 77
            iastore
         9: .line 79
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay_counter:[I
            iload 2 /* i */
            dup2
            iaload
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay2:[[D
            iload 2 /* i */
            aaload
            iconst_0
            daload
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.control_time:D
            ldc 1000.0
            dmul
            ddiv
            d2i
            iadd
            iastore
        10: .line 76
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.used_count:I
            if_icmplt 4
        end local 2 // int i
        12: .line 81
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftLowFrequencyOscillator.processControlLogic:()V
        13: .line 82
            return
        end local 1 // com.sun.media.sound.SoftSynthesizer synth
        end local 0 // com.sun.media.sound.SoftLowFrequencyOscillator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lcom/sun/media/sound/SoftLowFrequencyOscillator;
            0   14     1  synth  Lcom/sun/media/sound/SoftSynthesizer;
            3   12     2      i  I
    MethodParameters:
       Name  Flags
      synth  

  public void processControlLogic();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=1
        start local 0 // com.sun.media.sound.SoftLowFrequencyOscillator this
         0: .line 86
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 21
         2: .line 87
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay_counter:[I
            iload 1 /* i */
            iaload
            ifle 6
         3: .line 88
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay_counter:[I
            iload 1 /* i */
            dup2
            iaload
            iconst_1
            isub
            iastore
         4: .line 89
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.out:[[D
            iload 1 /* i */
            aaload
            iconst_0
            ldc 0.5
            dastore
         5: .line 90
            goto 20
         6: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.freq:[[D
            iload 1 /* i */
            aaload
            iconst_0
            daload
            dstore 2 /* f */
        start local 2 // double f
         7: .line 93
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_stepfreq:[D
            iload 1 /* i */
            daload
            dload 2 /* f */
            dcmpl
            ifeq 13
         8: .line 94
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_stepfreq:[D
            iload 1 /* i */
            dload 2 /* f */
            dastore
         9: .line 95
            ldc 440.0
        10: .line 96
            dload 2 /* f */
            ldc 6900.0
            dsub
            ldc 2.0
            invokestatic java.lang.Math.log:(D)D
            ldc 1200.0
            ddiv
            dmul
        11: .line 95
            invokestatic java.lang.Math.exp:(D)D
            dmul
            dstore 4 /* fr */
        start local 4 // double fr
        12: .line 97
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_step:[D
            iload 1 /* i */
            dload 4 /* fr */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_factor:D
            dmul
            dastore
        end local 4 // double fr
        13: .line 110
      StackMap locals: double
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_phase:[D
            iload 1 /* i */
            daload
            dstore 4 /* p */
        start local 4 // double p
        14: .line 111
            dload 4 /* p */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_step:[D
            iload 1 /* i */
            daload
            dadd
            dstore 4 /* p */
        15: .line 112
            goto 17
        16: .line 113
      StackMap locals: double
      StackMap stack:
            dload 4 /* p */
            ldc 6.283185307179586
            dsub
            dstore 4 /* p */
        17: .line 112
      StackMap locals:
      StackMap stack:
            dload 4 /* p */
            ldc 6.283185307179586
            dcmpl
            ifgt 16
        18: .line 114
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.out:[[D
            iload 1 /* i */
            aaload
            iconst_0
            ldc 0.5
            dload 4 /* p */
            invokestatic java.lang.Math.sin:(D)D
            ldc 0.5
            dmul
            dadd
            dastore
        19: .line 115
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.sin_phase:[D
            iload 1 /* i */
            dload 4 /* p */
            dastore
        end local 4 // double p
        end local 2 // double f
        20: .line 86
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 1 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.used_count:I
            if_icmplt 2
        end local 1 // int i
        22: .line 119
            return
        end local 0 // com.sun.media.sound.SoftLowFrequencyOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lcom/sun/media/sound/SoftLowFrequencyOscillator;
            1   22     1     i  I
            7   20     2     f  D
           12   13     4    fr  D
           14   20     4     p  D

  public double[] get(int, java.lang.String);
    descriptor: (ILjava/lang/String;)[D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.media.sound.SoftLowFrequencyOscillator this
        start local 1 // int instance
        start local 2 // java.lang.String name
         0: .line 123
            iload 1 /* instance */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.used_count:I
            if_icmplt 2
         1: .line 124
            aload 0 /* this */
            iload 1 /* instance */
            iconst_1
            iadd
            putfield com.sun.media.sound.SoftLowFrequencyOscillator.used_count:I
         2: .line 125
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            ifnonnull 4
         3: .line 126
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.out:[[D
            iload 1 /* instance */
            aaload
            areturn
         4: .line 127
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            ldc "delay"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 128
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay:[[D
            iload 1 /* instance */
            aaload
            areturn
         6: .line 129
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            ldc "delay2"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 130
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.delay2:[[D
            iload 1 /* instance */
            aaload
            areturn
         8: .line 131
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            ldc "freq"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 132
            aload 0 /* this */
            getfield com.sun.media.sound.SoftLowFrequencyOscillator.freq:[[D
            iload 1 /* instance */
            aaload
            areturn
        10: .line 133
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String name
        end local 1 // int instance
        end local 0 // com.sun.media.sound.SoftLowFrequencyOscillator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lcom/sun/media/sound/SoftLowFrequencyOscillator;
            0   11     1  instance  I
            0   11     2      name  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      instance  
      name      
}
SourceFile: "SoftLowFrequencyOscillator.java"