public final class com.sun.media.sound.SoftFilter
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.SoftFilter
super_class: java.lang.Object
{
public static final int FILTERTYPE_LP6;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int FILTERTYPE_LP12;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int FILTERTYPE_HP12;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 17
public static final int FILTERTYPE_BP12;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 33
public static final int FILTERTYPE_NP12;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 49
public static final int FILTERTYPE_LP24;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int FILTERTYPE_HP24;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 19
private int filtertype;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final float samplerate;
descriptor: F
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private float x1;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float x2;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float y1;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float y2;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float xx1;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float xx2;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float yy1;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float yy2;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float a0;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float a1;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float a2;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float b1;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float b2;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float q;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float gain;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float wet;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float last_wet;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float last_a0;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float last_a1;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float last_a2;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float last_b1;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float last_b2;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float last_q;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float last_gain;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private boolean last_set;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private double cutoff;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double resonancedB;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private boolean dirty;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // com.sun.media.sound.SoftFilter this
start local 1 // float samplerate
0: .line 88
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 57
aload 0 /* this */
iconst_0
putfield com.sun.media.sound.SoftFilter.filtertype:I
2: .line 73
aload 0 /* this */
fconst_1
putfield com.sun.media.sound.SoftFilter.gain:F
3: .line 74
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.wet:F
4: .line 75
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.last_wet:F
5: .line 83
aload 0 /* this */
iconst_0
putfield com.sun.media.sound.SoftFilter.last_set:Z
6: .line 84
aload 0 /* this */
ldc 44100.0
putfield com.sun.media.sound.SoftFilter.cutoff:D
7: .line 85
aload 0 /* this */
dconst_0
putfield com.sun.media.sound.SoftFilter.resonancedB:D
8: .line 86
aload 0 /* this */
iconst_1
putfield com.sun.media.sound.SoftFilter.dirty:Z
9: .line 89
aload 0 /* this */
fload 1 /* samplerate */
putfield com.sun.media.sound.SoftFilter.samplerate:F
10: .line 90
aload 0 /* this */
iconst_1
putfield com.sun.media.sound.SoftFilter.dirty:Z
11: .line 91
return
end local 1 // float samplerate
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/media/sound/SoftFilter;
0 12 1 samplerate F
MethodParameters:
Name Flags
samplerate
public void setFrequency(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 // com.sun.media.sound.SoftFilter this
start local 1 // double cent
0: .line 94
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.cutoff:D
dload 1 /* cent */
dcmpl
ifne 2
1: .line 95
return
2: .line 96
StackMap locals:
StackMap stack:
aload 0 /* this */
dload 1 /* cent */
putfield com.sun.media.sound.SoftFilter.cutoff:D
3: .line 97
aload 0 /* this */
iconst_1
putfield com.sun.media.sound.SoftFilter.dirty:Z
4: .line 98
return
end local 1 // double cent
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/media/sound/SoftFilter;
0 5 1 cent D
MethodParameters:
Name Flags
cent
public void setResonance(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 // com.sun.media.sound.SoftFilter this
start local 1 // double db
0: .line 101
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.resonancedB:D
dload 1 /* db */
dcmpl
ifne 2
1: .line 102
return
2: .line 103
StackMap locals:
StackMap stack:
aload 0 /* this */
dload 1 /* db */
putfield com.sun.media.sound.SoftFilter.resonancedB:D
3: .line 104
aload 0 /* this */
iconst_1
putfield com.sun.media.sound.SoftFilter.dirty:Z
4: .line 105
return
end local 1 // double db
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/media/sound/SoftFilter;
0 5 1 db D
MethodParameters:
Name Flags
db
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // com.sun.media.sound.SoftFilter this
0: .line 108
aload 0 /* this */
iconst_1
putfield com.sun.media.sound.SoftFilter.dirty:Z
1: .line 109
aload 0 /* this */
iconst_0
putfield com.sun.media.sound.SoftFilter.last_set:Z
2: .line 110
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.x1:F
3: .line 111
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.x2:F
4: .line 112
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.y1:F
5: .line 113
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.y2:F
6: .line 114
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.xx1:F
7: .line 115
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.xx2:F
8: .line 116
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.yy1:F
9: .line 117
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.yy2:F
10: .line 118
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.wet:F
11: .line 119
aload 0 /* this */
fconst_1
putfield com.sun.media.sound.SoftFilter.gain:F
12: .line 120
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.a0:F
13: .line 121
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.a1:F
14: .line 122
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.a2:F
15: .line 123
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.b1:F
16: .line 124
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.b2:F
17: .line 125
return
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/media/sound/SoftFilter;
public void setFilterType(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.media.sound.SoftFilter this
start local 1 // int filtertype
0: .line 128
aload 0 /* this */
iload 1 /* filtertype */
putfield com.sun.media.sound.SoftFilter.filtertype:I
1: .line 129
return
end local 1 // int filtertype
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/SoftFilter;
0 2 1 filtertype I
MethodParameters:
Name Flags
filtertype
public void processAudio(com.sun.media.sound.SoftAudioBuffer);
descriptor: (Lcom/sun/media/sound/SoftAudioBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.media.sound.SoftFilter this
start local 1 // com.sun.media.sound.SoftAudioBuffer sbuffer
0: .line 132
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
ifne 2
1: .line 133
aload 0 /* this */
aload 1 /* sbuffer */
invokevirtual com.sun.media.sound.SoftFilter.filter1:(Lcom/sun/media/sound/SoftAudioBuffer;)V
2: .line 134
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
iconst_1
if_icmpne 4
3: .line 135
aload 0 /* this */
aload 1 /* sbuffer */
invokevirtual com.sun.media.sound.SoftFilter.filter2:(Lcom/sun/media/sound/SoftAudioBuffer;)V
4: .line 136
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
bipush 17
if_icmpne 6
5: .line 137
aload 0 /* this */
aload 1 /* sbuffer */
invokevirtual com.sun.media.sound.SoftFilter.filter2:(Lcom/sun/media/sound/SoftAudioBuffer;)V
6: .line 138
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
bipush 33
if_icmpne 8
7: .line 139
aload 0 /* this */
aload 1 /* sbuffer */
invokevirtual com.sun.media.sound.SoftFilter.filter2:(Lcom/sun/media/sound/SoftAudioBuffer;)V
8: .line 140
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
bipush 49
if_icmpne 10
9: .line 141
aload 0 /* this */
aload 1 /* sbuffer */
invokevirtual com.sun.media.sound.SoftFilter.filter2:(Lcom/sun/media/sound/SoftAudioBuffer;)V
10: .line 142
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
iconst_3
if_icmpne 12
11: .line 143
aload 0 /* this */
aload 1 /* sbuffer */
invokevirtual com.sun.media.sound.SoftFilter.filter4:(Lcom/sun/media/sound/SoftAudioBuffer;)V
12: .line 144
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
bipush 19
if_icmpne 14
13: .line 145
aload 0 /* this */
aload 1 /* sbuffer */
invokevirtual com.sun.media.sound.SoftFilter.filter4:(Lcom/sun/media/sound/SoftAudioBuffer;)V
14: .line 146
StackMap locals:
StackMap stack:
return
end local 1 // com.sun.media.sound.SoftAudioBuffer sbuffer
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/media/sound/SoftFilter;
0 15 1 sbuffer Lcom/sun/media/sound/SoftAudioBuffer;
MethodParameters:
Name Flags
sbuffer
public void filter4(com.sun.media.sound.SoftAudioBuffer);
descriptor: (Lcom/sun/media/sound/SoftAudioBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=31, args_size=2
start local 0 // com.sun.media.sound.SoftFilter this
start local 1 // com.sun.media.sound.SoftAudioBuffer sbuffer
0: .line 150
aload 1 /* sbuffer */
invokevirtual com.sun.media.sound.SoftAudioBuffer.array:()[F
astore 2 /* buffer */
start local 2 // float[] buffer
1: .line 152
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.dirty:Z
ifeq 4
2: .line 153
aload 0 /* this */
invokevirtual com.sun.media.sound.SoftFilter.filter2calc:()V
3: .line 154
aload 0 /* this */
iconst_0
putfield com.sun.media.sound.SoftFilter.dirty:Z
4: .line 156
StackMap locals: float[]
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_set:Z
ifne 13
5: .line 157
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a0:F
putfield com.sun.media.sound.SoftFilter.last_a0:F
6: .line 158
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a1:F
putfield com.sun.media.sound.SoftFilter.last_a1:F
7: .line 159
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a2:F
putfield com.sun.media.sound.SoftFilter.last_a2:F
8: .line 160
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b1:F
putfield com.sun.media.sound.SoftFilter.last_b1:F
9: .line 161
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b2:F
putfield com.sun.media.sound.SoftFilter.last_b2:F
10: .line 162
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.gain:F
putfield com.sun.media.sound.SoftFilter.last_gain:F
11: .line 163
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
putfield com.sun.media.sound.SoftFilter.last_wet:F
12: .line 164
aload 0 /* this */
iconst_1
putfield com.sun.media.sound.SoftFilter.last_set:Z
13: .line 167
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
fconst_0
fcmpl
ifgt 14
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_wet:F
fconst_0
fcmpl
ifle 122
14: .line 169
StackMap locals:
StackMap stack:
aload 2 /* buffer */
arraylength
istore 3 /* len */
start local 3 // int len
15: .line 170
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a0:F
fstore 4 /* a0 */
start local 4 // float a0
16: .line 171
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a1:F
fstore 5 /* a1 */
start local 5 // float a1
17: .line 172
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a2:F
fstore 6 /* a2 */
start local 6 // float a2
18: .line 173
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_b1:F
fstore 7 /* b1 */
start local 7 // float b1
19: .line 174
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_b2:F
fstore 8 /* b2 */
start local 8 // float b2
20: .line 175
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_gain:F
fstore 9 /* gain */
start local 9 // float gain
21: .line 176
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_wet:F
fstore 10 /* wet */
start local 10 // float wet
22: .line 177
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a0:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a0:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 11 /* a0_delta */
start local 11 // float a0_delta
23: .line 178
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a1:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a1:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 12 /* a1_delta */
start local 12 // float a1_delta
24: .line 179
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a2:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a2:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 13 /* a2_delta */
start local 13 // float a2_delta
25: .line 180
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b1:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_b1:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 14 /* b1_delta */
start local 14 // float b1_delta
26: .line 181
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b2:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_b2:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 15 /* b2_delta */
start local 15 // float b2_delta
27: .line 182
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.gain:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_gain:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 16 /* gain_delta */
start local 16 // float gain_delta
28: .line 183
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_wet:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 17 /* wet_delta */
start local 17 // float wet_delta
29: .line 184
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.x1:F
fstore 18 /* x1 */
start local 18 // float x1
30: .line 185
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.x2:F
fstore 19 /* x2 */
start local 19 // float x2
31: .line 186
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.y1:F
fstore 20 /* y1 */
start local 20 // float y1
32: .line 187
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.y2:F
fstore 21 /* y2 */
start local 21 // float y2
33: .line 188
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.xx1:F
fstore 22 /* xx1 */
start local 22 // float xx1
34: .line 189
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.xx2:F
fstore 23 /* xx2 */
start local 23 // float xx2
35: .line 190
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.yy1:F
fstore 24 /* yy1 */
start local 24 // float yy1
36: .line 191
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.yy2:F
fstore 25 /* yy2 */
start local 25 // float yy2
37: .line 193
fload 17 /* wet_delta */
fconst_0
fcmpl
ifeq 63
38: .line 194
iconst_0
istore 26 /* i */
start local 26 // int i
39: goto 61
40: .line 195
StackMap locals: com.sun.media.sound.SoftFilter com.sun.media.sound.SoftAudioBuffer float[] int float float float float float float float float float float float float float float float float float float float float float float int
StackMap stack:
fload 4 /* a0 */
fload 11 /* a0_delta */
fadd
fstore 4 /* a0 */
41: .line 196
fload 5 /* a1 */
fload 12 /* a1_delta */
fadd
fstore 5 /* a1 */
42: .line 197
fload 6 /* a2 */
fload 13 /* a2_delta */
fadd
fstore 6 /* a2 */
43: .line 198
fload 7 /* b1 */
fload 14 /* b1_delta */
fadd
fstore 7 /* b1 */
44: .line 199
fload 8 /* b2 */
fload 15 /* b2_delta */
fadd
fstore 8 /* b2 */
45: .line 200
fload 9 /* gain */
fload 16 /* gain_delta */
fadd
fstore 9 /* gain */
46: .line 201
fload 10 /* wet */
fload 17 /* wet_delta */
fadd
fstore 10 /* wet */
47: .line 202
aload 2 /* buffer */
iload 26 /* i */
faload
fstore 27 /* x */
start local 27 // float x
48: .line 203
fload 4 /* a0 */
fload 27 /* x */
fmul
fload 5 /* a1 */
fload 18 /* x1 */
fmul
fadd
fload 6 /* a2 */
fload 19 /* x2 */
fmul
fadd
fload 7 /* b1 */
fload 20 /* y1 */
fmul
fsub
fload 8 /* b2 */
fload 21 /* y2 */
fmul
fsub
fstore 28 /* y */
start local 28 // float y
49: .line 204
fload 28 /* y */
fload 9 /* gain */
fmul
fload 10 /* wet */
fmul
fload 27 /* x */
fconst_1
fload 10 /* wet */
fsub
fmul
fadd
fstore 29 /* xx */
start local 29 // float xx
50: .line 205
fload 18 /* x1 */
fstore 19 /* x2 */
51: .line 206
fload 27 /* x */
fstore 18 /* x1 */
52: .line 207
fload 20 /* y1 */
fstore 21 /* y2 */
53: .line 208
fload 28 /* y */
fstore 20 /* y1 */
54: .line 209
fload 4 /* a0 */
fload 29 /* xx */
fmul
fload 5 /* a1 */
fload 22 /* xx1 */
fmul
fadd
fload 6 /* a2 */
fload 23 /* xx2 */
fmul
fadd
fload 7 /* b1 */
fload 24 /* yy1 */
fmul
fsub
fload 8 /* b2 */
fload 25 /* yy2 */
fmul
fsub
fstore 30 /* yy */
start local 30 // float yy
55: .line 210
aload 2 /* buffer */
iload 26 /* i */
fload 30 /* yy */
fload 9 /* gain */
fmul
fload 10 /* wet */
fmul
fload 29 /* xx */
fconst_1
fload 10 /* wet */
fsub
fmul
fadd
fastore
56: .line 211
fload 22 /* xx1 */
fstore 23 /* xx2 */
57: .line 212
fload 29 /* xx */
fstore 22 /* xx1 */
58: .line 213
fload 24 /* yy1 */
fstore 25 /* yy2 */
59: .line 214
fload 30 /* yy */
fstore 24 /* yy1 */
end local 30 // float yy
end local 29 // float xx
end local 28 // float y
end local 27 // float x
60: .line 194
iinc 26 /* i */ 1
StackMap locals:
StackMap stack:
61: iload 26 /* i */
iload 3 /* len */
if_icmplt 40
end local 26 // int i
62: .line 216
goto 106
StackMap locals:
StackMap stack:
63: fload 11 /* a0_delta */
fconst_0
fcmpl
ifne 83
fload 12 /* a1_delta */
fconst_0
fcmpl
ifne 83
fload 13 /* a2_delta */
fconst_0
fcmpl
ifne 83
64: .line 217
fload 14 /* b1_delta */
fconst_0
fcmpl
ifne 83
fload 15 /* b2_delta */
fconst_0
fcmpl
ifne 83
65: .line 218
iconst_0
istore 26 /* i */
start local 26 // int i
66: goto 81
67: .line 219
StackMap locals: int
StackMap stack:
aload 2 /* buffer */
iload 26 /* i */
faload
fstore 27 /* x */
start local 27 // float x
68: .line 220
fload 4 /* a0 */
fload 27 /* x */
fmul
fload 5 /* a1 */
fload 18 /* x1 */
fmul
fadd
fload 6 /* a2 */
fload 19 /* x2 */
fmul
fadd
fload 7 /* b1 */
fload 20 /* y1 */
fmul
fsub
fload 8 /* b2 */
fload 21 /* y2 */
fmul
fsub
fstore 28 /* y */
start local 28 // float y
69: .line 221
fload 28 /* y */
fload 9 /* gain */
fmul
fload 10 /* wet */
fmul
fload 27 /* x */
fconst_1
fload 10 /* wet */
fsub
fmul
fadd
fstore 29 /* xx */
start local 29 // float xx
70: .line 222
fload 18 /* x1 */
fstore 19 /* x2 */
71: .line 223
fload 27 /* x */
fstore 18 /* x1 */
72: .line 224
fload 20 /* y1 */
fstore 21 /* y2 */
73: .line 225
fload 28 /* y */
fstore 20 /* y1 */
74: .line 226
fload 4 /* a0 */
fload 29 /* xx */
fmul
fload 5 /* a1 */
fload 22 /* xx1 */
fmul
fadd
fload 6 /* a2 */
fload 23 /* xx2 */
fmul
fadd
fload 7 /* b1 */
fload 24 /* yy1 */
fmul
fsub
fload 8 /* b2 */
fload 25 /* yy2 */
fmul
fsub
fstore 30 /* yy */
start local 30 // float yy
75: .line 227
aload 2 /* buffer */
iload 26 /* i */
fload 30 /* yy */
fload 9 /* gain */
fmul
fload 10 /* wet */
fmul
fload 29 /* xx */
fconst_1
fload 10 /* wet */
fsub
fmul
fadd
fastore
76: .line 228
fload 22 /* xx1 */
fstore 23 /* xx2 */
77: .line 229
fload 29 /* xx */
fstore 22 /* xx1 */
78: .line 230
fload 24 /* yy1 */
fstore 25 /* yy2 */
79: .line 231
fload 30 /* yy */
fstore 24 /* yy1 */
end local 30 // float yy
end local 29 // float xx
end local 28 // float y
end local 27 // float x
80: .line 218
iinc 26 /* i */ 1
StackMap locals:
StackMap stack:
81: iload 26 /* i */
iload 3 /* len */
if_icmplt 67
end local 26 // int i
82: .line 233
goto 106
83: .line 234
StackMap locals:
StackMap stack:
iconst_0
istore 26 /* i */
start local 26 // int i
84: goto 105
85: .line 235
StackMap locals: int
StackMap stack:
fload 4 /* a0 */
fload 11 /* a0_delta */
fadd
fstore 4 /* a0 */
86: .line 236
fload 5 /* a1 */
fload 12 /* a1_delta */
fadd
fstore 5 /* a1 */
87: .line 237
fload 6 /* a2 */
fload 13 /* a2_delta */
fadd
fstore 6 /* a2 */
88: .line 238
fload 7 /* b1 */
fload 14 /* b1_delta */
fadd
fstore 7 /* b1 */
89: .line 239
fload 8 /* b2 */
fload 15 /* b2_delta */
fadd
fstore 8 /* b2 */
90: .line 240
fload 9 /* gain */
fload 16 /* gain_delta */
fadd
fstore 9 /* gain */
91: .line 241
aload 2 /* buffer */
iload 26 /* i */
faload
fstore 27 /* x */
start local 27 // float x
92: .line 242
fload 4 /* a0 */
fload 27 /* x */
fmul
fload 5 /* a1 */
fload 18 /* x1 */
fmul
fadd
fload 6 /* a2 */
fload 19 /* x2 */
fmul
fadd
fload 7 /* b1 */
fload 20 /* y1 */
fmul
fsub
fload 8 /* b2 */
fload 21 /* y2 */
fmul
fsub
fstore 28 /* y */
start local 28 // float y
93: .line 243
fload 28 /* y */
fload 9 /* gain */
fmul
fload 10 /* wet */
fmul
fload 27 /* x */
fconst_1
fload 10 /* wet */
fsub
fmul
fadd
fstore 29 /* xx */
start local 29 // float xx
94: .line 244
fload 18 /* x1 */
fstore 19 /* x2 */
95: .line 245
fload 27 /* x */
fstore 18 /* x1 */
96: .line 246
fload 20 /* y1 */
fstore 21 /* y2 */
97: .line 247
fload 28 /* y */
fstore 20 /* y1 */
98: .line 248
fload 4 /* a0 */
fload 29 /* xx */
fmul
fload 5 /* a1 */
fload 22 /* xx1 */
fmul
fadd
fload 6 /* a2 */
fload 23 /* xx2 */
fmul
fadd
fload 7 /* b1 */
fload 24 /* yy1 */
fmul
fsub
fload 8 /* b2 */
fload 25 /* yy2 */
fmul
fsub
fstore 30 /* yy */
start local 30 // float yy
99: .line 249
aload 2 /* buffer */
iload 26 /* i */
fload 30 /* yy */
fload 9 /* gain */
fmul
fload 10 /* wet */
fmul
fload 29 /* xx */
fconst_1
fload 10 /* wet */
fsub
fmul
fadd
fastore
100: .line 250
fload 22 /* xx1 */
fstore 23 /* xx2 */
101: .line 251
fload 29 /* xx */
fstore 22 /* xx1 */
102: .line 252
fload 24 /* yy1 */
fstore 25 /* yy2 */
103: .line 253
fload 30 /* yy */
fstore 24 /* yy1 */
end local 30 // float yy
end local 29 // float xx
end local 28 // float y
end local 27 // float x
104: .line 234
iinc 26 /* i */ 1
StackMap locals:
StackMap stack:
105: iload 26 /* i */
iload 3 /* len */
if_icmplt 85
end local 26 // int i
106: .line 257
StackMap locals:
StackMap stack:
fload 18 /* x1 */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-8
dcmpg
ifge 108
107: .line 258
fconst_0
fstore 18 /* x1 */
108: .line 259
StackMap locals:
StackMap stack:
fload 19 /* x2 */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-8
dcmpg
ifge 110
109: .line 260
fconst_0
fstore 19 /* x2 */
110: .line 261
StackMap locals:
StackMap stack:
fload 20 /* y1 */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-8
dcmpg
ifge 112
111: .line 262
fconst_0
fstore 20 /* y1 */
112: .line 263
StackMap locals:
StackMap stack:
fload 21 /* y2 */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-8
dcmpg
ifge 114
113: .line 264
fconst_0
fstore 21 /* y2 */
114: .line 265
StackMap locals:
StackMap stack:
aload 0 /* this */
fload 18 /* x1 */
putfield com.sun.media.sound.SoftFilter.x1:F
115: .line 266
aload 0 /* this */
fload 19 /* x2 */
putfield com.sun.media.sound.SoftFilter.x2:F
116: .line 267
aload 0 /* this */
fload 20 /* y1 */
putfield com.sun.media.sound.SoftFilter.y1:F
117: .line 268
aload 0 /* this */
fload 21 /* y2 */
putfield com.sun.media.sound.SoftFilter.y2:F
118: .line 269
aload 0 /* this */
fload 22 /* xx1 */
putfield com.sun.media.sound.SoftFilter.xx1:F
119: .line 270
aload 0 /* this */
fload 23 /* xx2 */
putfield com.sun.media.sound.SoftFilter.xx2:F
120: .line 271
aload 0 /* this */
fload 24 /* yy1 */
putfield com.sun.media.sound.SoftFilter.yy1:F
121: .line 272
aload 0 /* this */
fload 25 /* yy2 */
putfield com.sun.media.sound.SoftFilter.yy2:F
end local 25 // float yy2
end local 24 // float yy1
end local 23 // float xx2
end local 22 // float xx1
end local 21 // float y2
end local 20 // float y1
end local 19 // float x2
end local 18 // float x1
end local 17 // float wet_delta
end local 16 // float gain_delta
end local 15 // float b2_delta
end local 14 // float b1_delta
end local 13 // float a2_delta
end local 12 // float a1_delta
end local 11 // float a0_delta
end local 10 // float wet
end local 9 // float gain
end local 8 // float b2
end local 7 // float b1
end local 6 // float a2
end local 5 // float a1
end local 4 // float a0
end local 3 // int len
122: .line 275
StackMap locals: com.sun.media.sound.SoftFilter com.sun.media.sound.SoftAudioBuffer float[]
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a0:F
putfield com.sun.media.sound.SoftFilter.last_a0:F
123: .line 276
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a1:F
putfield com.sun.media.sound.SoftFilter.last_a1:F
124: .line 277
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a2:F
putfield com.sun.media.sound.SoftFilter.last_a2:F
125: .line 278
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b1:F
putfield com.sun.media.sound.SoftFilter.last_b1:F
126: .line 279
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b2:F
putfield com.sun.media.sound.SoftFilter.last_b2:F
127: .line 280
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.gain:F
putfield com.sun.media.sound.SoftFilter.last_gain:F
128: .line 281
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
putfield com.sun.media.sound.SoftFilter.last_wet:F
129: .line 283
return
end local 2 // float[] buffer
end local 1 // com.sun.media.sound.SoftAudioBuffer sbuffer
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 130 0 this Lcom/sun/media/sound/SoftFilter;
0 130 1 sbuffer Lcom/sun/media/sound/SoftAudioBuffer;
1 130 2 buffer [F
15 122 3 len I
16 122 4 a0 F
17 122 5 a1 F
18 122 6 a2 F
19 122 7 b1 F
20 122 8 b2 F
21 122 9 gain F
22 122 10 wet F
23 122 11 a0_delta F
24 122 12 a1_delta F
25 122 13 a2_delta F
26 122 14 b1_delta F
27 122 15 b2_delta F
28 122 16 gain_delta F
29 122 17 wet_delta F
30 122 18 x1 F
31 122 19 x2 F
32 122 20 y1 F
33 122 21 y2 F
34 122 22 xx1 F
35 122 23 xx2 F
36 122 24 yy1 F
37 122 25 yy2 F
39 62 26 i I
48 60 27 x F
49 60 28 y F
50 60 29 xx F
55 60 30 yy F
66 82 26 i I
68 80 27 x F
69 80 28 y F
70 80 29 xx F
75 80 30 yy F
84 106 26 i I
92 104 27 x F
93 104 28 y F
94 104 29 xx F
99 104 30 yy F
MethodParameters:
Name Flags
sbuffer
private double sinh(double);
descriptor: (D)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 // com.sun.media.sound.SoftFilter this
start local 1 // double x
0: .line 286
dload 1 /* x */
invokestatic java.lang.Math.exp:(D)D
dload 1 /* x */
dneg
invokestatic java.lang.Math.exp:(D)D
dsub
ldc 0.5
dmul
dreturn
end local 1 // double x
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/SoftFilter;
0 1 1 x D
MethodParameters:
Name Flags
x
public void filter2calc();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=29, args_size=1
start local 0 // com.sun.media.sound.SoftFilter this
0: .line 291
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.resonancedB:D
dstore 1 /* resonancedB */
start local 1 // double resonancedB
1: .line 292
dload 1 /* resonancedB */
dconst_0
dcmpg
ifge 3
2: .line 293
dconst_0
dstore 1 /* resonancedB */
3: .line 294
StackMap locals: double
StackMap stack:
dload 1 /* resonancedB */
ldc 30.0
dcmpl
ifle 5
4: .line 295
ldc 30.0
dstore 1 /* resonancedB */
5: .line 296
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
iconst_3
if_icmpeq 6
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
bipush 19
if_icmpne 7
6: .line 297
StackMap locals:
StackMap stack:
dload 1 /* resonancedB */
ldc 0.6
dmul
dstore 1 /* resonancedB */
7: .line 299
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
bipush 33
if_icmpne 29
8: .line 300
aload 0 /* this */
fconst_1
putfield com.sun.media.sound.SoftFilter.wet:F
9: .line 301
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.cutoff:D
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.samplerate:F
f2d
ddiv
dstore 3 /* r */
start local 3 // double r
10: .line 302
dload 3 /* r */
ldc 0.45
dcmpl
ifle 12
11: .line 303
ldc 0.45
dstore 3 /* r */
12: .line 305
StackMap locals: double
StackMap stack:
ldc 3.141592653589793
ldc 10.0
dload 1 /* resonancedB */
ldc 20.0
ddiv
dneg
invokestatic java.lang.Math.pow:(DD)D
dmul
dstore 5 /* bandwidth */
start local 5 // double bandwidth
13: .line 307
ldc 6.283185307179586
dload 3 /* r */
dmul
dstore 7 /* omega */
start local 7 // double omega
14: .line 308
dload 7 /* omega */
invokestatic java.lang.Math.cos:(D)D
dstore 9 /* cs */
start local 9 // double cs
15: .line 309
dload 7 /* omega */
invokestatic java.lang.Math.sin:(D)D
dstore 11 /* sn */
start local 11 // double sn
16: .line 310
dload 11 /* sn */
aload 0 /* this */
ldc 2.0
invokestatic java.lang.Math.log:(D)D
dload 5 /* bandwidth */
dmul
dload 7 /* omega */
dmul
dload 11 /* sn */
ldc 2.0
dmul
ddiv
invokevirtual com.sun.media.sound.SoftFilter.sinh:(D)D
dmul
dstore 13 /* alpha */
start local 13 // double alpha
17: .line 312
dload 13 /* alpha */
dstore 15 /* b0 */
start local 15 // double b0
18: .line 313
dconst_0
dstore 17 /* b1 */
start local 17 // double b1
19: .line 314
dload 13 /* alpha */
dneg
dstore 19 /* b2 */
start local 19 // double b2
20: .line 315
dconst_1
dload 13 /* alpha */
dadd
dstore 21 /* a0 */
start local 21 // double a0
21: .line 316
ldc -2.0
dload 9 /* cs */
dmul
dstore 23 /* a1 */
start local 23 // double a1
22: .line 317
dconst_1
dload 13 /* alpha */
dsub
dstore 25 /* a2 */
start local 25 // double a2
23: .line 319
dconst_1
dload 21 /* a0 */
ddiv
dstore 27 /* cf */
start local 27 // double cf
24: .line 320
aload 0 /* this */
dload 23 /* a1 */
dload 27 /* cf */
dmul
d2f
putfield com.sun.media.sound.SoftFilter.b1:F
25: .line 321
aload 0 /* this */
dload 25 /* a2 */
dload 27 /* cf */
dmul
d2f
putfield com.sun.media.sound.SoftFilter.b2:F
26: .line 322
aload 0 /* this */
dload 15 /* b0 */
dload 27 /* cf */
dmul
d2f
putfield com.sun.media.sound.SoftFilter.a0:F
27: .line 323
aload 0 /* this */
dload 17 /* b1 */
dload 27 /* cf */
dmul
d2f
putfield com.sun.media.sound.SoftFilter.a1:F
28: .line 324
aload 0 /* this */
dload 19 /* b2 */
dload 27 /* cf */
dmul
d2f
putfield com.sun.media.sound.SoftFilter.a2:F
end local 27 // double cf
end local 25 // double a2
end local 23 // double a1
end local 21 // double a0
end local 19 // double b2
end local 17 // double b1
end local 15 // double b0
end local 13 // double alpha
end local 11 // double sn
end local 9 // double cs
end local 7 // double omega
end local 5 // double bandwidth
end local 3 // double r
29: .line 327
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
bipush 49
if_icmpne 51
30: .line 328
aload 0 /* this */
fconst_1
putfield com.sun.media.sound.SoftFilter.wet:F
31: .line 329
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.cutoff:D
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.samplerate:F
f2d
ddiv
dstore 3 /* r */
start local 3 // double r
32: .line 330
dload 3 /* r */
ldc 0.45
dcmpl
ifle 34
33: .line 331
ldc 0.45
dstore 3 /* r */
34: .line 333
StackMap locals: double
StackMap stack:
ldc 3.141592653589793
ldc 10.0
dload 1 /* resonancedB */
ldc 20.0
ddiv
dneg
invokestatic java.lang.Math.pow:(DD)D
dmul
dstore 5 /* bandwidth */
start local 5 // double bandwidth
35: .line 335
ldc 6.283185307179586
dload 3 /* r */
dmul
dstore 7 /* omega */
start local 7 // double omega
36: .line 336
dload 7 /* omega */
invokestatic java.lang.Math.cos:(D)D
dstore 9 /* cs */
start local 9 // double cs
37: .line 337
dload 7 /* omega */
invokestatic java.lang.Math.sin:(D)D
dstore 11 /* sn */
start local 11 // double sn
38: .line 338
dload 11 /* sn */
aload 0 /* this */
ldc 2.0
invokestatic java.lang.Math.log:(D)D
dload 5 /* bandwidth */
dmul
dload 7 /* omega */
dmul
dload 11 /* sn */
ldc 2.0
dmul
ddiv
invokevirtual com.sun.media.sound.SoftFilter.sinh:(D)D
dmul
dstore 13 /* alpha */
start local 13 // double alpha
39: .line 340
dconst_1
dstore 15 /* b0 */
start local 15 // double b0
40: .line 341
ldc -2.0
dload 9 /* cs */
dmul
dstore 17 /* b1 */
start local 17 // double b1
41: .line 342
dconst_1
dstore 19 /* b2 */
start local 19 // double b2
42: .line 343
dconst_1
dload 13 /* alpha */
dadd
dstore 21 /* a0 */
start local 21 // double a0
43: .line 344
ldc -2.0
dload 9 /* cs */
dmul
dstore 23 /* a1 */
start local 23 // double a1
44: .line 345
dconst_1
dload 13 /* alpha */
dsub
dstore 25 /* a2 */
start local 25 // double a2
45: .line 347
dconst_1
dload 21 /* a0 */
ddiv
dstore 27 /* cf */
start local 27 // double cf
46: .line 348
aload 0 /* this */
dload 23 /* a1 */
dload 27 /* cf */
dmul
d2f
putfield com.sun.media.sound.SoftFilter.b1:F
47: .line 349
aload 0 /* this */
dload 25 /* a2 */
dload 27 /* cf */
dmul
d2f
putfield com.sun.media.sound.SoftFilter.b2:F
48: .line 350
aload 0 /* this */
dload 15 /* b0 */
dload 27 /* cf */
dmul
d2f
putfield com.sun.media.sound.SoftFilter.a0:F
49: .line 351
aload 0 /* this */
dload 17 /* b1 */
dload 27 /* cf */
dmul
d2f
putfield com.sun.media.sound.SoftFilter.a1:F
50: .line 352
aload 0 /* this */
dload 19 /* b2 */
dload 27 /* cf */
dmul
d2f
putfield com.sun.media.sound.SoftFilter.a2:F
end local 27 // double cf
end local 25 // double a2
end local 23 // double a1
end local 21 // double a0
end local 19 // double b2
end local 17 // double b1
end local 15 // double b0
end local 13 // double alpha
end local 11 // double sn
end local 9 // double cs
end local 7 // double omega
end local 5 // double bandwidth
end local 3 // double r
51: .line 355
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
iconst_1
if_icmpeq 52
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
iconst_3
if_icmpne 75
52: .line 356
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.cutoff:D
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.samplerate:F
f2d
ddiv
dstore 3 /* r */
start local 3 // double r
53: .line 357
dload 3 /* r */
ldc 0.45
dcmpl
ifle 60
54: .line 358
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
fconst_0
fcmpl
ifne 58
55: .line 359
dload 1 /* resonancedB */
ldc 1.0E-5
dcmpg
ifge 57
56: .line 360
aload 0 /* this */
fconst_0
putfield com.sun.media.sound.SoftFilter.wet:F
goto 58
57: .line 362
StackMap locals: double
StackMap stack:
aload 0 /* this */
fconst_1
putfield com.sun.media.sound.SoftFilter.wet:F
58: .line 364
StackMap locals:
StackMap stack:
ldc 0.45
dstore 3 /* r */
59: .line 365
goto 61
60: .line 366
StackMap locals:
StackMap stack:
aload 0 /* this */
fconst_1
putfield com.sun.media.sound.SoftFilter.wet:F
61: .line 368
StackMap locals:
StackMap stack:
dconst_1
ldc 3.141592653589793
dload 3 /* r */
dmul
invokestatic java.lang.Math.tan:(D)D
ddiv
dstore 5 /* c */
start local 5 // double c
62: .line 369
dload 5 /* c */
dload 5 /* c */
dmul
dstore 7 /* csq */
start local 7 // double csq
63: .line 370
ldc 10.0
dload 1 /* resonancedB */
ldc 20.0
ddiv
dneg
invokestatic java.lang.Math.pow:(DD)D
dstore 9 /* resonance */
start local 9 // double resonance
64: .line 371
ldc 2.0
invokestatic java.lang.Math.sqrt:(D)D
dload 9 /* resonance */
dmul
dstore 11 /* q */
start local 11 // double q
65: .line 372
dconst_1
dconst_1
dload 11 /* q */
dload 5 /* c */
dmul
dadd
dload 7 /* csq */
dadd
ddiv
dstore 13 /* a0 */
start local 13 // double a0
66: .line 373
ldc 2.0
dload 13 /* a0 */
dmul
dstore 15 /* a1 */
start local 15 // double a1
67: .line 374
dload 13 /* a0 */
dstore 17 /* a2 */
start local 17 // double a2
68: .line 375
ldc 2.0
dload 13 /* a0 */
dmul
dconst_1
dload 7 /* csq */
dsub
dmul
dstore 19 /* b1 */
start local 19 // double b1
69: .line 376
dload 13 /* a0 */
dconst_1
dload 11 /* q */
dload 5 /* c */
dmul
dsub
dload 7 /* csq */
dadd
dmul
dstore 21 /* b2 */
start local 21 // double b2
70: .line 378
aload 0 /* this */
dload 13 /* a0 */
d2f
putfield com.sun.media.sound.SoftFilter.a0:F
71: .line 379
aload 0 /* this */
dload 15 /* a1 */
d2f
putfield com.sun.media.sound.SoftFilter.a1:F
72: .line 380
aload 0 /* this */
dload 17 /* a2 */
d2f
putfield com.sun.media.sound.SoftFilter.a2:F
73: .line 381
aload 0 /* this */
dload 19 /* b1 */
d2f
putfield com.sun.media.sound.SoftFilter.b1:F
74: .line 382
aload 0 /* this */
dload 21 /* b2 */
d2f
putfield com.sun.media.sound.SoftFilter.b2:F
end local 21 // double b2
end local 19 // double b1
end local 17 // double a2
end local 15 // double a1
end local 13 // double a0
end local 11 // double q
end local 9 // double resonance
end local 7 // double csq
end local 5 // double c
end local 3 // double r
75: .line 386
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
bipush 17
if_icmpeq 76
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.filtertype:I
bipush 19
if_icmpne 96
76: .line 387
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.cutoff:D
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.samplerate:F
f2d
ddiv
dstore 3 /* r */
start local 3 // double r
77: .line 388
dload 3 /* r */
ldc 0.45
dcmpl
ifle 79
78: .line 389
ldc 0.45
dstore 3 /* r */
79: .line 390
StackMap locals: double
StackMap stack:
dload 3 /* r */
ldc 1.0E-4
dcmpg
ifge 81
80: .line 391
ldc 1.0E-4
dstore 3 /* r */
81: .line 392
StackMap locals:
StackMap stack:
aload 0 /* this */
fconst_1
putfield com.sun.media.sound.SoftFilter.wet:F
82: .line 393
ldc 3.141592653589793
dload 3 /* r */
dmul
invokestatic java.lang.Math.tan:(D)D
dstore 5 /* c */
start local 5 // double c
83: .line 394
dload 5 /* c */
dload 5 /* c */
dmul
dstore 7 /* csq */
start local 7 // double csq
84: .line 395
ldc 10.0
dload 1 /* resonancedB */
ldc 20.0
ddiv
dneg
invokestatic java.lang.Math.pow:(DD)D
dstore 9 /* resonance */
start local 9 // double resonance
85: .line 396
ldc 2.0
invokestatic java.lang.Math.sqrt:(D)D
dload 9 /* resonance */
dmul
dstore 11 /* q */
start local 11 // double q
86: .line 397
dconst_1
dconst_1
dload 11 /* q */
dload 5 /* c */
dmul
dadd
dload 7 /* csq */
dadd
ddiv
dstore 13 /* a0 */
start local 13 // double a0
87: .line 398
ldc -2.0
dload 13 /* a0 */
dmul
dstore 15 /* a1 */
start local 15 // double a1
88: .line 399
dload 13 /* a0 */
dstore 17 /* a2 */
start local 17 // double a2
89: .line 400
ldc 2.0
dload 13 /* a0 */
dmul
dload 7 /* csq */
dconst_1
dsub
dmul
dstore 19 /* b1 */
start local 19 // double b1
90: .line 401
dload 13 /* a0 */
dconst_1
dload 11 /* q */
dload 5 /* c */
dmul
dsub
dload 7 /* csq */
dadd
dmul
dstore 21 /* b2 */
start local 21 // double b2
91: .line 403
aload 0 /* this */
dload 13 /* a0 */
d2f
putfield com.sun.media.sound.SoftFilter.a0:F
92: .line 404
aload 0 /* this */
dload 15 /* a1 */
d2f
putfield com.sun.media.sound.SoftFilter.a1:F
93: .line 405
aload 0 /* this */
dload 17 /* a2 */
d2f
putfield com.sun.media.sound.SoftFilter.a2:F
94: .line 406
aload 0 /* this */
dload 19 /* b1 */
d2f
putfield com.sun.media.sound.SoftFilter.b1:F
95: .line 407
aload 0 /* this */
dload 21 /* b2 */
d2f
putfield com.sun.media.sound.SoftFilter.b2:F
end local 21 // double b2
end local 19 // double b1
end local 17 // double a2
end local 15 // double a1
end local 13 // double a0
end local 11 // double q
end local 9 // double resonance
end local 7 // double csq
end local 5 // double c
end local 3 // double r
96: .line 411
StackMap locals:
StackMap stack:
return
end local 1 // double resonancedB
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 97 0 this Lcom/sun/media/sound/SoftFilter;
1 97 1 resonancedB D
10 29 3 r D
13 29 5 bandwidth D
14 29 7 omega D
15 29 9 cs D
16 29 11 sn D
17 29 13 alpha D
18 29 15 b0 D
19 29 17 b1 D
20 29 19 b2 D
21 29 21 a0 D
22 29 23 a1 D
23 29 25 a2 D
24 29 27 cf D
32 51 3 r D
35 51 5 bandwidth D
36 51 7 omega D
37 51 9 cs D
38 51 11 sn D
39 51 13 alpha D
40 51 15 b0 D
41 51 17 b1 D
42 51 19 b2 D
43 51 21 a0 D
44 51 23 a1 D
45 51 25 a2 D
46 51 27 cf D
53 75 3 r D
62 75 5 c D
63 75 7 csq D
64 75 9 resonance D
65 75 11 q D
66 75 13 a0 D
67 75 15 a1 D
68 75 17 a2 D
69 75 19 b1 D
70 75 21 b2 D
77 96 3 r D
83 96 5 c D
84 96 7 csq D
85 96 9 resonance D
86 96 11 q D
87 96 13 a0 D
88 96 15 a1 D
89 96 17 a2 D
90 96 19 b1 D
91 96 21 b2 D
public void filter2(com.sun.media.sound.SoftAudioBuffer);
descriptor: (Lcom/sun/media/sound/SoftAudioBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=25, args_size=2
start local 0 // com.sun.media.sound.SoftFilter this
start local 1 // com.sun.media.sound.SoftAudioBuffer sbuffer
0: .line 415
aload 1 /* sbuffer */
invokevirtual com.sun.media.sound.SoftAudioBuffer.array:()[F
astore 2 /* buffer */
start local 2 // float[] buffer
1: .line 417
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.dirty:Z
ifeq 4
2: .line 418
aload 0 /* this */
invokevirtual com.sun.media.sound.SoftFilter.filter2calc:()V
3: .line 419
aload 0 /* this */
iconst_0
putfield com.sun.media.sound.SoftFilter.dirty:Z
4: .line 421
StackMap locals: float[]
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_set:Z
ifne 14
5: .line 422
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a0:F
putfield com.sun.media.sound.SoftFilter.last_a0:F
6: .line 423
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a1:F
putfield com.sun.media.sound.SoftFilter.last_a1:F
7: .line 424
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a2:F
putfield com.sun.media.sound.SoftFilter.last_a2:F
8: .line 425
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b1:F
putfield com.sun.media.sound.SoftFilter.last_b1:F
9: .line 426
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b2:F
putfield com.sun.media.sound.SoftFilter.last_b2:F
10: .line 427
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.q:F
putfield com.sun.media.sound.SoftFilter.last_q:F
11: .line 428
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.gain:F
putfield com.sun.media.sound.SoftFilter.last_gain:F
12: .line 429
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
putfield com.sun.media.sound.SoftFilter.last_wet:F
13: .line 430
aload 0 /* this */
iconst_1
putfield com.sun.media.sound.SoftFilter.last_set:Z
14: .line 433
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
fconst_0
fcmpl
ifgt 15
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_wet:F
fconst_0
fcmpl
ifle 97
15: .line 435
StackMap locals:
StackMap stack:
aload 2 /* buffer */
arraylength
istore 3 /* len */
start local 3 // int len
16: .line 436
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a0:F
fstore 4 /* a0 */
start local 4 // float a0
17: .line 437
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a1:F
fstore 5 /* a1 */
start local 5 // float a1
18: .line 438
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a2:F
fstore 6 /* a2 */
start local 6 // float a2
19: .line 439
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_b1:F
fstore 7 /* b1 */
start local 7 // float b1
20: .line 440
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_b2:F
fstore 8 /* b2 */
start local 8 // float b2
21: .line 441
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_gain:F
fstore 9 /* gain */
start local 9 // float gain
22: .line 442
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_wet:F
fstore 10 /* wet */
start local 10 // float wet
23: .line 443
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a0:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a0:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 11 /* a0_delta */
start local 11 // float a0_delta
24: .line 444
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a1:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a1:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 12 /* a1_delta */
start local 12 // float a1_delta
25: .line 445
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a2:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a2:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 13 /* a2_delta */
start local 13 // float a2_delta
26: .line 446
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b1:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_b1:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 14 /* b1_delta */
start local 14 // float b1_delta
27: .line 447
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b2:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_b2:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 15 /* b2_delta */
start local 15 // float b2_delta
28: .line 448
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.gain:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_gain:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 16 /* gain_delta */
start local 16 // float gain_delta
29: .line 449
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_wet:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 17 /* wet_delta */
start local 17 // float wet_delta
30: .line 450
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.x1:F
fstore 18 /* x1 */
start local 18 // float x1
31: .line 451
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.x2:F
fstore 19 /* x2 */
start local 19 // float x2
32: .line 452
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.y1:F
fstore 20 /* y1 */
start local 20 // float y1
33: .line 453
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.y2:F
fstore 21 /* y2 */
start local 21 // float y2
34: .line 455
fload 17 /* wet_delta */
fconst_0
fcmpl
ifeq 54
35: .line 456
iconst_0
istore 22 /* i */
start local 22 // int i
36: goto 52
37: .line 457
StackMap locals: com.sun.media.sound.SoftFilter com.sun.media.sound.SoftAudioBuffer float[] int float float float float float float float float float float float float float float float float float float int
StackMap stack:
fload 4 /* a0 */
fload 11 /* a0_delta */
fadd
fstore 4 /* a0 */
38: .line 458
fload 5 /* a1 */
fload 12 /* a1_delta */
fadd
fstore 5 /* a1 */
39: .line 459
fload 6 /* a2 */
fload 13 /* a2_delta */
fadd
fstore 6 /* a2 */
40: .line 460
fload 7 /* b1 */
fload 14 /* b1_delta */
fadd
fstore 7 /* b1 */
41: .line 461
fload 8 /* b2 */
fload 15 /* b2_delta */
fadd
fstore 8 /* b2 */
42: .line 462
fload 9 /* gain */
fload 16 /* gain_delta */
fadd
fstore 9 /* gain */
43: .line 463
fload 10 /* wet */
fload 17 /* wet_delta */
fadd
fstore 10 /* wet */
44: .line 464
aload 2 /* buffer */
iload 22 /* i */
faload
fstore 23 /* x */
start local 23 // float x
45: .line 465
fload 4 /* a0 */
fload 23 /* x */
fmul
fload 5 /* a1 */
fload 18 /* x1 */
fmul
fadd
fload 6 /* a2 */
fload 19 /* x2 */
fmul
fadd
fload 7 /* b1 */
fload 20 /* y1 */
fmul
fsub
fload 8 /* b2 */
fload 21 /* y2 */
fmul
fsub
fstore 24 /* y */
start local 24 // float y
46: .line 466
aload 2 /* buffer */
iload 22 /* i */
fload 24 /* y */
fload 9 /* gain */
fmul
fload 10 /* wet */
fmul
fload 23 /* x */
fconst_1
fload 10 /* wet */
fsub
fmul
fadd
fastore
47: .line 467
fload 18 /* x1 */
fstore 19 /* x2 */
48: .line 468
fload 23 /* x */
fstore 18 /* x1 */
49: .line 469
fload 20 /* y1 */
fstore 21 /* y2 */
50: .line 470
fload 24 /* y */
fstore 20 /* y1 */
end local 24 // float y
end local 23 // float x
51: .line 456
iinc 22 /* i */ 1
StackMap locals:
StackMap stack:
52: iload 22 /* i */
iload 3 /* len */
if_icmplt 37
end local 22 // int i
53: .line 472
goto 85
StackMap locals:
StackMap stack:
54: fload 11 /* a0_delta */
fconst_0
fcmpl
ifne 68
fload 12 /* a1_delta */
fconst_0
fcmpl
ifne 68
fload 13 /* a2_delta */
fconst_0
fcmpl
ifne 68
55: .line 473
fload 14 /* b1_delta */
fconst_0
fcmpl
ifne 68
fload 15 /* b2_delta */
fconst_0
fcmpl
ifne 68
56: .line 474
iconst_0
istore 22 /* i */
start local 22 // int i
57: goto 66
58: .line 475
StackMap locals: int
StackMap stack:
aload 2 /* buffer */
iload 22 /* i */
faload
fstore 23 /* x */
start local 23 // float x
59: .line 476
fload 4 /* a0 */
fload 23 /* x */
fmul
fload 5 /* a1 */
fload 18 /* x1 */
fmul
fadd
fload 6 /* a2 */
fload 19 /* x2 */
fmul
fadd
fload 7 /* b1 */
fload 20 /* y1 */
fmul
fsub
fload 8 /* b2 */
fload 21 /* y2 */
fmul
fsub
fstore 24 /* y */
start local 24 // float y
60: .line 477
aload 2 /* buffer */
iload 22 /* i */
fload 24 /* y */
fload 9 /* gain */
fmul
fastore
61: .line 478
fload 18 /* x1 */
fstore 19 /* x2 */
62: .line 479
fload 23 /* x */
fstore 18 /* x1 */
63: .line 480
fload 20 /* y1 */
fstore 21 /* y2 */
64: .line 481
fload 24 /* y */
fstore 20 /* y1 */
end local 24 // float y
end local 23 // float x
65: .line 474
iinc 22 /* i */ 1
StackMap locals:
StackMap stack:
66: iload 22 /* i */
iload 3 /* len */
if_icmplt 58
end local 22 // int i
67: .line 483
goto 85
68: .line 484
StackMap locals:
StackMap stack:
iconst_0
istore 22 /* i */
start local 22 // int i
69: goto 84
70: .line 485
StackMap locals: int
StackMap stack:
fload 4 /* a0 */
fload 11 /* a0_delta */
fadd
fstore 4 /* a0 */
71: .line 486
fload 5 /* a1 */
fload 12 /* a1_delta */
fadd
fstore 5 /* a1 */
72: .line 487
fload 6 /* a2 */
fload 13 /* a2_delta */
fadd
fstore 6 /* a2 */
73: .line 488
fload 7 /* b1 */
fload 14 /* b1_delta */
fadd
fstore 7 /* b1 */
74: .line 489
fload 8 /* b2 */
fload 15 /* b2_delta */
fadd
fstore 8 /* b2 */
75: .line 490
fload 9 /* gain */
fload 16 /* gain_delta */
fadd
fstore 9 /* gain */
76: .line 491
aload 2 /* buffer */
iload 22 /* i */
faload
fstore 23 /* x */
start local 23 // float x
77: .line 492
fload 4 /* a0 */
fload 23 /* x */
fmul
fload 5 /* a1 */
fload 18 /* x1 */
fmul
fadd
fload 6 /* a2 */
fload 19 /* x2 */
fmul
fadd
fload 7 /* b1 */
fload 20 /* y1 */
fmul
fsub
fload 8 /* b2 */
fload 21 /* y2 */
fmul
fsub
fstore 24 /* y */
start local 24 // float y
78: .line 493
aload 2 /* buffer */
iload 22 /* i */
fload 24 /* y */
fload 9 /* gain */
fmul
fastore
79: .line 494
fload 18 /* x1 */
fstore 19 /* x2 */
80: .line 495
fload 23 /* x */
fstore 18 /* x1 */
81: .line 496
fload 20 /* y1 */
fstore 21 /* y2 */
82: .line 497
fload 24 /* y */
fstore 20 /* y1 */
end local 24 // float y
end local 23 // float x
83: .line 484
iinc 22 /* i */ 1
StackMap locals:
StackMap stack:
84: iload 22 /* i */
iload 3 /* len */
if_icmplt 70
end local 22 // int i
85: .line 501
StackMap locals:
StackMap stack:
fload 18 /* x1 */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-8
dcmpg
ifge 87
86: .line 502
fconst_0
fstore 18 /* x1 */
87: .line 503
StackMap locals:
StackMap stack:
fload 19 /* x2 */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-8
dcmpg
ifge 89
88: .line 504
fconst_0
fstore 19 /* x2 */
89: .line 505
StackMap locals:
StackMap stack:
fload 20 /* y1 */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-8
dcmpg
ifge 91
90: .line 506
fconst_0
fstore 20 /* y1 */
91: .line 507
StackMap locals:
StackMap stack:
fload 21 /* y2 */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-8
dcmpg
ifge 93
92: .line 508
fconst_0
fstore 21 /* y2 */
93: .line 509
StackMap locals:
StackMap stack:
aload 0 /* this */
fload 18 /* x1 */
putfield com.sun.media.sound.SoftFilter.x1:F
94: .line 510
aload 0 /* this */
fload 19 /* x2 */
putfield com.sun.media.sound.SoftFilter.x2:F
95: .line 511
aload 0 /* this */
fload 20 /* y1 */
putfield com.sun.media.sound.SoftFilter.y1:F
96: .line 512
aload 0 /* this */
fload 21 /* y2 */
putfield com.sun.media.sound.SoftFilter.y2:F
end local 21 // float y2
end local 20 // float y1
end local 19 // float x2
end local 18 // float x1
end local 17 // float wet_delta
end local 16 // float gain_delta
end local 15 // float b2_delta
end local 14 // float b1_delta
end local 13 // float a2_delta
end local 12 // float a1_delta
end local 11 // float a0_delta
end local 10 // float wet
end local 9 // float gain
end local 8 // float b2
end local 7 // float b1
end local 6 // float a2
end local 5 // float a1
end local 4 // float a0
end local 3 // int len
97: .line 515
StackMap locals: com.sun.media.sound.SoftFilter com.sun.media.sound.SoftAudioBuffer float[]
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a0:F
putfield com.sun.media.sound.SoftFilter.last_a0:F
98: .line 516
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a1:F
putfield com.sun.media.sound.SoftFilter.last_a1:F
99: .line 517
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a2:F
putfield com.sun.media.sound.SoftFilter.last_a2:F
100: .line 518
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b1:F
putfield com.sun.media.sound.SoftFilter.last_b1:F
101: .line 519
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.b2:F
putfield com.sun.media.sound.SoftFilter.last_b2:F
102: .line 520
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.q:F
putfield com.sun.media.sound.SoftFilter.last_q:F
103: .line 521
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.gain:F
putfield com.sun.media.sound.SoftFilter.last_gain:F
104: .line 522
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
putfield com.sun.media.sound.SoftFilter.last_wet:F
105: .line 524
return
end local 2 // float[] buffer
end local 1 // com.sun.media.sound.SoftAudioBuffer sbuffer
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 106 0 this Lcom/sun/media/sound/SoftFilter;
0 106 1 sbuffer Lcom/sun/media/sound/SoftAudioBuffer;
1 106 2 buffer [F
16 97 3 len I
17 97 4 a0 F
18 97 5 a1 F
19 97 6 a2 F
20 97 7 b1 F
21 97 8 b2 F
22 97 9 gain F
23 97 10 wet F
24 97 11 a0_delta F
25 97 12 a1_delta F
26 97 13 a2_delta F
27 97 14 b1_delta F
28 97 15 b2_delta F
29 97 16 gain_delta F
30 97 17 wet_delta F
31 97 18 x1 F
32 97 19 x2 F
33 97 20 y1 F
34 97 21 y2 F
36 53 22 i I
45 51 23 x F
46 51 24 y F
57 67 22 i I
59 65 23 x F
60 65 24 y F
69 85 22 i I
77 83 23 x F
78 83 24 y F
MethodParameters:
Name Flags
sbuffer
public void filter1calc();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=3, args_size=1
start local 0 // com.sun.media.sound.SoftFilter this
0: .line 527
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.cutoff:D
ldc 120.0
dcmpg
ifge 2
1: .line 528
aload 0 /* this */
ldc 120.0
putfield com.sun.media.sound.SoftFilter.cutoff:D
2: .line 529
StackMap locals:
StackMap stack:
ldc 7.3303828583761845
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.cutoff:D
dmul
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.samplerate:F
f2d
ddiv
dstore 1 /* c */
start local 1 // double c
3: .line 530
dload 1 /* c */
dconst_1
dcmpl
ifle 5
4: .line 531
dconst_1
dstore 1 /* c */
5: .line 532
StackMap locals: double
StackMap stack:
aload 0 /* this */
dconst_1
dload 1 /* c */
invokestatic java.lang.Math.cos:(D)D
dsub
invokestatic java.lang.Math.sqrt:(D)D
ldc 1.5707963267948966
invokestatic java.lang.Math.sqrt:(D)D
dmul
d2f
putfield com.sun.media.sound.SoftFilter.a0:F
6: .line 533
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.resonancedB:D
dconst_0
dcmpg
ifge 8
7: .line 534
aload 0 /* this */
dconst_0
putfield com.sun.media.sound.SoftFilter.resonancedB:D
8: .line 535
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.resonancedB:D
ldc 20.0
dcmpl
ifle 10
9: .line 536
aload 0 /* this */
ldc 20.0
putfield com.sun.media.sound.SoftFilter.resonancedB:D
10: .line 537
StackMap locals:
StackMap stack:
aload 0 /* this */
ldc 0.5
invokestatic java.lang.Math.sqrt:(D)D
ldc 10.0
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.resonancedB:D
ldc 20.0
ddiv
dneg
invokestatic java.lang.Math.pow:(DD)D
dmul
d2f
putfield com.sun.media.sound.SoftFilter.q:F
11: .line 538
aload 0 /* this */
ldc 10.0
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.resonancedB:D
dneg
ldc 40.0
ddiv
invokestatic java.lang.Math.pow:(DD)D
d2f
putfield com.sun.media.sound.SoftFilter.gain:F
12: .line 539
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
fconst_0
fcmpl
ifne 15
13: .line 540
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.resonancedB:D
ldc 1.0E-5
dcmpl
ifgt 14
dload 1 /* c */
ldc 0.9999999
dcmpg
ifge 15
14: .line 541
StackMap locals:
StackMap stack:
aload 0 /* this */
fconst_1
putfield com.sun.media.sound.SoftFilter.wet:F
15: .line 542
StackMap locals:
StackMap stack:
return
end local 1 // double c
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/media/sound/SoftFilter;
3 16 1 c D
public void filter1(com.sun.media.sound.SoftAudioBuffer);
descriptor: (Lcom/sun/media/sound/SoftAudioBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=2
start local 0 // com.sun.media.sound.SoftFilter this
start local 1 // com.sun.media.sound.SoftAudioBuffer sbuffer
0: .line 546
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.dirty:Z
ifeq 3
1: .line 547
aload 0 /* this */
invokevirtual com.sun.media.sound.SoftFilter.filter1calc:()V
2: .line 548
aload 0 /* this */
iconst_0
putfield com.sun.media.sound.SoftFilter.dirty:Z
3: .line 550
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_set:Z
ifne 9
4: .line 551
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a0:F
putfield com.sun.media.sound.SoftFilter.last_a0:F
5: .line 552
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.q:F
putfield com.sun.media.sound.SoftFilter.last_q:F
6: .line 553
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.gain:F
putfield com.sun.media.sound.SoftFilter.last_gain:F
7: .line 554
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
putfield com.sun.media.sound.SoftFilter.last_wet:F
8: .line 555
aload 0 /* this */
iconst_1
putfield com.sun.media.sound.SoftFilter.last_set:Z
9: .line 558
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
fconst_0
fcmpl
ifgt 10
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_wet:F
fconst_0
fcmpl
ifle 63
10: .line 560
StackMap locals:
StackMap stack:
aload 1 /* sbuffer */
invokevirtual com.sun.media.sound.SoftAudioBuffer.array:()[F
astore 2 /* buffer */
start local 2 // float[] buffer
11: .line 561
aload 2 /* buffer */
arraylength
istore 3 /* len */
start local 3 // int len
12: .line 562
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a0:F
fstore 4 /* a0 */
start local 4 // float a0
13: .line 563
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_q:F
fstore 5 /* q */
start local 5 // float q
14: .line 564
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_gain:F
fstore 6 /* gain */
start local 6 // float gain
15: .line 565
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_wet:F
fstore 7 /* wet */
start local 7 // float wet
16: .line 566
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a0:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_a0:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 8 /* a0_delta */
start local 8 // float a0_delta
17: .line 567
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.q:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_q:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 9 /* q_delta */
start local 9 // float q_delta
18: .line 568
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.gain:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_gain:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 10 /* gain_delta */
start local 10 // float gain_delta
19: .line 569
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.last_wet:F
fsub
iload 3 /* len */
i2f
fdiv
fstore 11 /* wet_delta */
start local 11 // float wet_delta
20: .line 570
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.y2:F
fstore 12 /* y2 */
start local 12 // float y2
21: .line 571
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.y1:F
fstore 13 /* y1 */
start local 13 // float y1
22: .line 573
fload 11 /* wet_delta */
fconst_0
fcmpl
ifeq 36
23: .line 574
iconst_0
istore 14 /* i */
start local 14 // int i
24: goto 34
25: .line 575
StackMap locals: com.sun.media.sound.SoftFilter com.sun.media.sound.SoftAudioBuffer float[] int float float float float float float float float float float int
StackMap stack:
fload 4 /* a0 */
fload 8 /* a0_delta */
fadd
fstore 4 /* a0 */
26: .line 576
fload 5 /* q */
fload 9 /* q_delta */
fadd
fstore 5 /* q */
27: .line 577
fload 6 /* gain */
fload 10 /* gain_delta */
fadd
fstore 6 /* gain */
28: .line 578
fload 7 /* wet */
fload 11 /* wet_delta */
fadd
fstore 7 /* wet */
29: .line 579
fconst_1
fload 5 /* q */
fload 4 /* a0 */
fmul
fsub
fstore 15 /* ga0 */
start local 15 // float ga0
30: .line 580
fload 15 /* ga0 */
fload 13 /* y1 */
fmul
fload 4 /* a0 */
aload 2 /* buffer */
iload 14 /* i */
faload
fload 12 /* y2 */
fsub
fmul
fadd
fstore 13 /* y1 */
31: .line 581
fload 15 /* ga0 */
fload 12 /* y2 */
fmul
fload 4 /* a0 */
fload 13 /* y1 */
fmul
fadd
fstore 12 /* y2 */
32: .line 582
aload 2 /* buffer */
iload 14 /* i */
fload 12 /* y2 */
fload 6 /* gain */
fmul
fload 7 /* wet */
fmul
aload 2 /* buffer */
iload 14 /* i */
faload
fconst_1
fload 7 /* wet */
fsub
fmul
fadd
fastore
end local 15 // float ga0
33: .line 574
iinc 14 /* i */ 1
StackMap locals:
StackMap stack:
34: iload 14 /* i */
iload 3 /* len */
if_icmplt 25
end local 14 // int i
35: .line 584
goto 57
StackMap locals:
StackMap stack:
36: fload 8 /* a0_delta */
fconst_0
fcmpl
ifne 46
fload 9 /* q_delta */
fconst_0
fcmpl
ifne 46
37: .line 585
fconst_1
fload 5 /* q */
fload 4 /* a0 */
fmul
fsub
fstore 14 /* ga0 */
start local 14 // float ga0
38: .line 586
iconst_0
istore 15 /* i */
start local 15 // int i
39: goto 44
40: .line 587
StackMap locals: float int
StackMap stack:
fload 14 /* ga0 */
fload 13 /* y1 */
fmul
fload 4 /* a0 */
aload 2 /* buffer */
iload 15 /* i */
faload
fload 12 /* y2 */
fsub
fmul
fadd
fstore 13 /* y1 */
41: .line 588
fload 14 /* ga0 */
fload 12 /* y2 */
fmul
fload 4 /* a0 */
fload 13 /* y1 */
fmul
fadd
fstore 12 /* y2 */
42: .line 589
aload 2 /* buffer */
iload 15 /* i */
fload 12 /* y2 */
fload 6 /* gain */
fmul
fastore
43: .line 586
iinc 15 /* i */ 1
StackMap locals:
StackMap stack:
44: iload 15 /* i */
iload 3 /* len */
if_icmplt 40
end local 15 // int i
end local 14 // float ga0
45: .line 591
goto 57
46: .line 592
StackMap locals:
StackMap stack:
iconst_0
istore 14 /* i */
start local 14 // int i
47: goto 56
48: .line 593
StackMap locals: int
StackMap stack:
fload 4 /* a0 */
fload 8 /* a0_delta */
fadd
fstore 4 /* a0 */
49: .line 594
fload 5 /* q */
fload 9 /* q_delta */
fadd
fstore 5 /* q */
50: .line 595
fload 6 /* gain */
fload 10 /* gain_delta */
fadd
fstore 6 /* gain */
51: .line 596
fconst_1
fload 5 /* q */
fload 4 /* a0 */
fmul
fsub
fstore 15 /* ga0 */
start local 15 // float ga0
52: .line 597
fload 15 /* ga0 */
fload 13 /* y1 */
fmul
fload 4 /* a0 */
aload 2 /* buffer */
iload 14 /* i */
faload
fload 12 /* y2 */
fsub
fmul
fadd
fstore 13 /* y1 */
53: .line 598
fload 15 /* ga0 */
fload 12 /* y2 */
fmul
fload 4 /* a0 */
fload 13 /* y1 */
fmul
fadd
fstore 12 /* y2 */
54: .line 599
aload 2 /* buffer */
iload 14 /* i */
fload 12 /* y2 */
fload 6 /* gain */
fmul
fastore
end local 15 // float ga0
55: .line 592
iinc 14 /* i */ 1
StackMap locals:
StackMap stack:
56: iload 14 /* i */
iload 3 /* len */
if_icmplt 48
end local 14 // int i
57: .line 603
StackMap locals:
StackMap stack:
fload 12 /* y2 */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-8
dcmpg
ifge 59
58: .line 604
fconst_0
fstore 12 /* y2 */
59: .line 605
StackMap locals:
StackMap stack:
fload 13 /* y1 */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-8
dcmpg
ifge 61
60: .line 606
fconst_0
fstore 13 /* y1 */
61: .line 607
StackMap locals:
StackMap stack:
aload 0 /* this */
fload 12 /* y2 */
putfield com.sun.media.sound.SoftFilter.y2:F
62: .line 608
aload 0 /* this */
fload 13 /* y1 */
putfield com.sun.media.sound.SoftFilter.y1:F
end local 13 // float y1
end local 12 // float y2
end local 11 // float wet_delta
end local 10 // float gain_delta
end local 9 // float q_delta
end local 8 // float a0_delta
end local 7 // float wet
end local 6 // float gain
end local 5 // float q
end local 4 // float a0
end local 3 // int len
end local 2 // float[] buffer
63: .line 611
StackMap locals: com.sun.media.sound.SoftFilter com.sun.media.sound.SoftAudioBuffer
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.a0:F
putfield com.sun.media.sound.SoftFilter.last_a0:F
64: .line 612
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.q:F
putfield com.sun.media.sound.SoftFilter.last_q:F
65: .line 613
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.gain:F
putfield com.sun.media.sound.SoftFilter.last_gain:F
66: .line 614
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftFilter.wet:F
putfield com.sun.media.sound.SoftFilter.last_wet:F
67: .line 615
return
end local 1 // com.sun.media.sound.SoftAudioBuffer sbuffer
end local 0 // com.sun.media.sound.SoftFilter this
LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lcom/sun/media/sound/SoftFilter;
0 68 1 sbuffer Lcom/sun/media/sound/SoftAudioBuffer;
11 63 2 buffer [F
12 63 3 len I
13 63 4 a0 F
14 63 5 q F
15 63 6 gain F
16 63 7 wet F
17 63 8 a0_delta F
18 63 9 q_delta F
19 63 10 gain_delta F
20 63 11 wet_delta F
21 63 12 y2 F
22 63 13 y1 F
24 35 14 i I
30 33 15 ga0 F
38 45 14 ga0 F
39 45 15 i I
47 57 14 i I
52 55 15 ga0 F
MethodParameters:
Name Flags
sbuffer
}
SourceFile: "SoftFilter.java"