class com.sun.media.sound.SoftChorus$VariableDelay
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.media.sound.SoftChorus$VariableDelay
super_class: java.lang.Object
{
private final float[] delaybuffer;
descriptor: [F
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int rovepos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private float gain;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float rgain;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float delay;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float lastdelay;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float feedback;
descriptor: F
flags: (0x0002) ACC_PRIVATE
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
start local 1 // int maxbuffersize
0: .line 48
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 41
aload 0 /* this */
iconst_0
putfield com.sun.media.sound.SoftChorus$VariableDelay.rovepos:I
2: .line 42
aload 0 /* this */
fconst_1
putfield com.sun.media.sound.SoftChorus$VariableDelay.gain:F
3: .line 43
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftChorus$VariableDelay.rgain:F
4: .line 44
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftChorus$VariableDelay.delay:F
5: .line 45
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftChorus$VariableDelay.lastdelay:F
6: .line 46
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftChorus$VariableDelay.feedback:F
7: .line 49
aload 0 /* this */
iload 1 /* maxbuffersize */
newarray 6
putfield com.sun.media.sound.SoftChorus$VariableDelay.delaybuffer:[F
8: .line 50
return
end local 1 // int maxbuffersize
end local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/media/sound/SoftChorus$VariableDelay;
0 9 1 maxbuffersize I
MethodParameters:
Name Flags
maxbuffersize
public void setDelay(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
start local 1 // float delay
0: .line 53
aload 0 /* this */
fload 1 /* delay */
putfield com.sun.media.sound.SoftChorus$VariableDelay.delay:F
1: .line 54
return
end local 1 // float delay
end local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/SoftChorus$VariableDelay;
0 2 1 delay F
MethodParameters:
Name Flags
delay
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$VariableDelay this
start local 1 // float feedback
0: .line 57
aload 0 /* this */
fload 1 /* feedback */
putfield com.sun.media.sound.SoftChorus$VariableDelay.feedback:F
1: .line 58
return
end local 1 // float feedback
end local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/SoftChorus$VariableDelay;
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$VariableDelay this
start local 1 // float gain
0: .line 61
aload 0 /* this */
fload 1 /* gain */
putfield com.sun.media.sound.SoftChorus$VariableDelay.gain:F
1: .line 62
return
end local 1 // float gain
end local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/SoftChorus$VariableDelay;
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$VariableDelay this
start local 1 // float rgain
0: .line 65
aload 0 /* this */
fload 1 /* rgain */
putfield com.sun.media.sound.SoftChorus$VariableDelay.rgain:F
1: .line 66
return
end local 1 // float rgain
end local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/SoftChorus$VariableDelay;
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=5, locals=19, args_size=4
start local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
start local 1 // float[] in
start local 2 // float[] out
start local 3 // float[] rout
0: .line 69
aload 0 /* this */
getfield com.sun.media.sound.SoftChorus$VariableDelay.gain:F
fstore 4 /* gain */
start local 4 // float gain
1: .line 70
aload 0 /* this */
getfield com.sun.media.sound.SoftChorus$VariableDelay.delay:F
fstore 5 /* delay */
start local 5 // float delay
2: .line 71
aload 0 /* this */
getfield com.sun.media.sound.SoftChorus$VariableDelay.feedback:F
fstore 6 /* feedback */
start local 6 // float feedback
3: .line 73
aload 0 /* this */
getfield com.sun.media.sound.SoftChorus$VariableDelay.delaybuffer:[F
astore 7 /* delaybuffer */
start local 7 // float[] delaybuffer
4: .line 74
aload 1 /* in */
arraylength
istore 8 /* len */
start local 8 // int len
5: .line 75
fload 5 /* delay */
aload 0 /* this */
getfield com.sun.media.sound.SoftChorus$VariableDelay.lastdelay:F
fsub
iload 8 /* len */
i2f
fdiv
fstore 9 /* delaydelta */
start local 9 // float delaydelta
6: .line 76
aload 7 /* delaybuffer */
arraylength
istore 10 /* rnlen */
start local 10 // int rnlen
7: .line 77
aload 0 /* this */
getfield com.sun.media.sound.SoftChorus$VariableDelay.rovepos:I
istore 11 /* rovepos */
start local 11 // int rovepos
8: .line 79
aload 3 /* rout */
ifnonnull 24
9: .line 80
iconst_0
istore 12 /* i */
start local 12 // int i
10: goto 22
11: .line 81
StackMap locals: com.sun.media.sound.SoftChorus$VariableDelay float[] float[] float[] float float float float[] int float int int int
StackMap stack:
iload 11 /* rovepos */
i2f
aload 0 /* this */
getfield com.sun.media.sound.SoftChorus$VariableDelay.lastdelay:F
fconst_2
fadd
fsub
iload 10 /* rnlen */
i2f
fadd
fstore 13 /* r */
start local 13 // float r
12: .line 82
fload 13 /* r */
f2i
istore 14 /* ri */
start local 14 // int ri
13: .line 83
fload 13 /* r */
iload 14 /* ri */
i2f
fsub
fstore 15 /* s */
start local 15 // float s
14: .line 84
aload 7 /* delaybuffer */
iload 14 /* ri */
iload 10 /* rnlen */
irem
faload
fstore 16 /* a */
start local 16 // float a
15: .line 85
aload 7 /* delaybuffer */
iload 14 /* ri */
iconst_1
iadd
iload 10 /* rnlen */
irem
faload
fstore 17 /* b */
start local 17 // float b
16: .line 86
fload 16 /* a */
fconst_1
fload 15 /* s */
fsub
fmul
fload 17 /* b */
fload 15 /* s */
fmul
fadd
fstore 18 /* o */
start local 18 // float o
17: .line 87
aload 2 /* out */
iload 12 /* i */
dup2
faload
fload 18 /* o */
fload 4 /* gain */
fmul
fadd
fastore
18: .line 88
aload 7 /* delaybuffer */
iload 11 /* rovepos */
aload 1 /* in */
iload 12 /* i */
faload
fload 18 /* o */
fload 6 /* feedback */
fmul
fadd
fastore
19: .line 89
iload 11 /* rovepos */
iconst_1
iadd
iload 10 /* rnlen */
irem
istore 11 /* rovepos */
20: .line 90
aload 0 /* this */
dup
getfield com.sun.media.sound.SoftChorus$VariableDelay.lastdelay:F
fload 9 /* delaydelta */
fadd
putfield com.sun.media.sound.SoftChorus$VariableDelay.lastdelay:F
end local 18 // float o
end local 17 // float b
end local 16 // float a
end local 15 // float s
end local 14 // int ri
end local 13 // float r
21: .line 80
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
22: iload 12 /* i */
iload 8 /* len */
if_icmplt 11
end local 12 // int i
23: .line 91
goto 39
24: .line 93
StackMap locals:
StackMap stack:
iconst_0
istore 12 /* i */
start local 12 // int i
25: goto 38
26: .line 94
StackMap locals: int
StackMap stack:
iload 11 /* rovepos */
i2f
aload 0 /* this */
getfield com.sun.media.sound.SoftChorus$VariableDelay.lastdelay:F
fconst_2
fadd
fsub
iload 10 /* rnlen */
i2f
fadd
fstore 13 /* r */
start local 13 // float r
27: .line 95
fload 13 /* r */
f2i
istore 14 /* ri */
start local 14 // int ri
28: .line 96
fload 13 /* r */
iload 14 /* ri */
i2f
fsub
fstore 15 /* s */
start local 15 // float s
29: .line 97
aload 7 /* delaybuffer */
iload 14 /* ri */
iload 10 /* rnlen */
irem
faload
fstore 16 /* a */
start local 16 // float a
30: .line 98
aload 7 /* delaybuffer */
iload 14 /* ri */
iconst_1
iadd
iload 10 /* rnlen */
irem
faload
fstore 17 /* b */
start local 17 // float b
31: .line 99
fload 16 /* a */
fconst_1
fload 15 /* s */
fsub
fmul
fload 17 /* b */
fload 15 /* s */
fmul
fadd
fstore 18 /* o */
start local 18 // float o
32: .line 100
aload 2 /* out */
iload 12 /* i */
dup2
faload
fload 18 /* o */
fload 4 /* gain */
fmul
fadd
fastore
33: .line 101
aload 3 /* rout */
iload 12 /* i */
dup2
faload
fload 18 /* o */
aload 0 /* this */
getfield com.sun.media.sound.SoftChorus$VariableDelay.rgain:F
fmul
fadd
fastore
34: .line 102
aload 7 /* delaybuffer */
iload 11 /* rovepos */
aload 1 /* in */
iload 12 /* i */
faload
fload 18 /* o */
fload 6 /* feedback */
fmul
fadd
fastore
35: .line 103
iload 11 /* rovepos */
iconst_1
iadd
iload 10 /* rnlen */
irem
istore 11 /* rovepos */
36: .line 104
aload 0 /* this */
dup
getfield com.sun.media.sound.SoftChorus$VariableDelay.lastdelay:F
fload 9 /* delaydelta */
fadd
putfield com.sun.media.sound.SoftChorus$VariableDelay.lastdelay:F
end local 18 // float o
end local 17 // float b
end local 16 // float a
end local 15 // float s
end local 14 // int ri
end local 13 // float r
37: .line 93
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
38: iload 12 /* i */
iload 8 /* len */
if_icmplt 26
end local 12 // int i
39: .line 106
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 11 /* rovepos */
putfield com.sun.media.sound.SoftChorus$VariableDelay.rovepos:I
40: .line 107
aload 0 /* this */
fload 5 /* delay */
putfield com.sun.media.sound.SoftChorus$VariableDelay.lastdelay:F
41: .line 108
return
end local 11 // int rovepos
end local 10 // int rnlen
end local 9 // float delaydelta
end local 8 // int len
end local 7 // float[] delaybuffer
end local 6 // float feedback
end local 5 // float delay
end local 4 // float gain
end local 3 // float[] rout
end local 2 // float[] out
end local 1 // float[] in
end local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lcom/sun/media/sound/SoftChorus$VariableDelay;
0 42 1 in [F
0 42 2 out [F
0 42 3 rout [F
1 42 4 gain F
2 42 5 delay F
3 42 6 feedback F
4 42 7 delaybuffer [F
5 42 8 len I
6 42 9 delaydelta F
7 42 10 rnlen I
8 42 11 rovepos I
10 23 12 i I
12 21 13 r F
13 21 14 ri I
14 21 15 s F
15 21 16 a F
16 21 17 b F
17 21 18 o F
25 39 12 i I
27 37 13 r F
28 37 14 ri I
29 37 15 s F
30 37 16 a F
31 37 17 b F
32 37 18 o F
MethodParameters:
Name Flags
in
out
rout
public void processReplace(float[], float[], float[]);
descriptor: ([F[F[F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
start local 1 // float[] in
start local 2 // float[] out
start local 3 // float[] rout
0: .line 111
aload 2 /* out */
fconst_0
invokestatic java.util.Arrays.fill:([FF)V
1: .line 112
aload 3 /* rout */
fconst_0
invokestatic java.util.Arrays.fill:([FF)V
2: .line 113
aload 0 /* this */
aload 1 /* in */
aload 2 /* out */
aload 3 /* rout */
invokevirtual com.sun.media.sound.SoftChorus$VariableDelay.processMix:([F[F[F)V
3: .line 114
return
end local 3 // float[] rout
end local 2 // float[] out
end local 1 // float[] in
end local 0 // com.sun.media.sound.SoftChorus$VariableDelay this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/media/sound/SoftChorus$VariableDelay;
0 4 1 in [F
0 4 2 out [F
0 4 3 rout [F
MethodParameters:
Name Flags
in
out
rout
}
SourceFile: "SoftChorus.java"
NestHost: com.sun.media.sound.SoftChorus
InnerClasses:
private VariableDelay = com.sun.media.sound.SoftChorus$VariableDelay of com.sun.media.sound.SoftChorus