public final class com.sun.media.sound.AudioFileSoundbankReader extends javax.sound.midi.spi.SoundbankReader
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.AudioFileSoundbankReader
super_class: javax.sound.midi.spi.SoundbankReader
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.sound.midi.spi.SoundbankReader.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AudioFileSoundbankReader;
public javax.sound.midi.Soundbank getSoundbank(java.net.URL);
descriptor: (Ljava/net/URL;)Ljavax/sound/midi/Soundbank;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljava/net/URL;)Ljavax/sound/sampled/AudioInputStream;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.sun.media.sound.AudioFileSoundbankReader.getSoundbank:(Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/midi/Soundbank;
astore 3
start local 3 2: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.close:()V
3: aload 3
4: areturn
end local 3 end local 2 5: StackMap locals:
StackMap stack: javax.sound.sampled.UnsupportedAudioFileException
pop
6: aconst_null
areturn
7: StackMap locals:
StackMap stack: java.io.IOException
pop
8: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/media/sound/AudioFileSoundbankReader;
0 9 1 url Ljava/net/URL;
1 5 2 ais Ljavax/sound/sampled/AudioInputStream;
2 5 3 sbk Ljavax/sound/midi/Soundbank;
Exception table:
from to target type
0 4 5 Class javax.sound.sampled.UnsupportedAudioFileException
0 4 7 Class java.io.IOException
Exceptions:
throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
MethodParameters:
Name Flags
url
public javax.sound.midi.Soundbank getSoundbank(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljavax/sound/midi/Soundbank;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
sipush 512
invokevirtual java.io.InputStream.mark:(I)V
1: aload 1
invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljava/io/InputStream;)Ljavax/sound/sampled/AudioInputStream;
astore 2
start local 2 2: aload 0
aload 2
invokevirtual com.sun.media.sound.AudioFileSoundbankReader.getSoundbank:(Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/midi/Soundbank;
astore 3
start local 3 3: aload 3
ifnull 8
4: aload 3
5: areturn
end local 3 end local 2 6: StackMap locals:
StackMap stack: javax.sound.sampled.UnsupportedAudioFileException
pop
goto 8
7: StackMap locals:
StackMap stack: java.io.IOException
pop
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.InputStream.reset:()V
9: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/media/sound/AudioFileSoundbankReader;
0 10 1 stream Ljava/io/InputStream;
2 6 2 ais Ljavax/sound/sampled/AudioInputStream;
3 6 3 sbk Ljavax/sound/midi/Soundbank;
Exception table:
from to target type
1 5 6 Class javax.sound.sampled.UnsupportedAudioFileException
1 5 7 Class java.io.IOException
Exceptions:
throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
MethodParameters:
Name Flags
stream
public javax.sound.midi.Soundbank getSoundbank(javax.sound.sampled.AudioInputStream);
descriptor: (Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/midi/Soundbank;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
ldc -1
lcmp
ifne 12
1: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 2: sipush 1024
3: sipush 1024
aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
irem
4: isub
newarray 8
astore 4
start local 4 5: goto 7
start local 5 6: StackMap locals: com.sun.media.sound.AudioFileSoundbankReader javax.sound.sampled.AudioInputStream top java.io.ByteArrayOutputStream byte[] int
StackMap stack:
aload 3
aload 4
iconst_0
iload 5
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
end local 5 7: StackMap locals:
StackMap stack:
aload 1
aload 4
invokevirtual javax.sound.sampled.AudioInputStream.read:([B)I
dup
istore 5
start local 5 8: iconst_m1
if_icmpne 6
9: aload 1
invokevirtual javax.sound.sampled.AudioInputStream.close:()V
10: aload 3
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 2
end local 5 end local 4 end local 3 start local 2 11: goto 16
end local 2 12: StackMap locals: com.sun.media.sound.AudioFileSoundbankReader javax.sound.sampled.AudioInputStream
StackMap stack:
aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
13: aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
i2l
14: lmul
l2i
newarray 8
astore 2
start local 2 15: new java.io.DataInputStream
dup
aload 1
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
aload 2
invokevirtual java.io.DataInputStream.readFully:([B)V
16: StackMap locals: byte[]
StackMap stack:
new com.sun.media.sound.ModelByteBufferWavetable
dup
17: new com.sun.media.sound.ModelByteBuffer
dup
aload 2
invokespecial com.sun.media.sound.ModelByteBuffer.<init>:([B)V
aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
ldc -4800.0
18: invokespecial com.sun.media.sound.ModelByteBufferWavetable.<init>:(Lcom/sun/media/sound/ModelByteBuffer;Ljavax/sound/sampled/AudioFormat;F)V
astore 3
start local 3 19: new com.sun.media.sound.ModelPerformer
dup
invokespecial com.sun.media.sound.ModelPerformer.<init>:()V
astore 4
start local 4 20: aload 4
invokevirtual com.sun.media.sound.ModelPerformer.getOscillators:()Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
21: new com.sun.media.sound.SimpleSoundbank
dup
invokespecial com.sun.media.sound.SimpleSoundbank.<init>:()V
astore 5
start local 5 22: new com.sun.media.sound.SimpleInstrument
dup
invokespecial com.sun.media.sound.SimpleInstrument.<init>:()V
astore 6
start local 6 23: aload 6
aload 4
invokevirtual com.sun.media.sound.SimpleInstrument.add:(Lcom/sun/media/sound/ModelPerformer;)V
24: aload 5
aload 6
invokevirtual com.sun.media.sound.SimpleSoundbank.addInstrument:(Ljavax/sound/midi/Instrument;)V
25: aload 5
26: areturn
end local 6 end local 5 end local 4 end local 3 end local 2 27: StackMap locals: com.sun.media.sound.AudioFileSoundbankReader javax.sound.sampled.AudioInputStream
StackMap stack: java.lang.Exception
pop
28: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/sun/media/sound/AudioFileSoundbankReader;
0 29 1 ais Ljavax/sound/sampled/AudioInputStream;
11 12 2 buffer [B
15 27 2 buffer [B
2 11 3 baos Ljava/io/ByteArrayOutputStream;
5 11 4 buff [B
6 7 5 ret I
8 11 5 ret I
19 27 3 osc Lcom/sun/media/sound/ModelByteBufferWavetable;
20 27 4 performer Lcom/sun/media/sound/ModelPerformer;
22 27 5 sbk Lcom/sun/media/sound/SimpleSoundbank;
23 27 6 ins Lcom/sun/media/sound/SimpleInstrument;
Exception table:
from to target type
0 26 27 Class java.lang.Exception
Exceptions:
throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
MethodParameters:
Name Flags
ais
public javax.sound.midi.Soundbank getSoundbank(java.io.File);
descriptor: (Ljava/io/File;)Ljavax/sound/midi/Soundbank;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljava/io/File;)Ljavax/sound/sampled/AudioInputStream;
astore 2
start local 2 1: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.close:()V
2: new com.sun.media.sound.ModelByteBufferWavetable
dup
3: new com.sun.media.sound.ModelByteBuffer
dup
aload 1
lconst_0
aload 1
invokevirtual java.io.File.length:()J
invokespecial com.sun.media.sound.ModelByteBuffer.<init>:(Ljava/io/File;JJ)V
ldc -4800.0
4: invokespecial com.sun.media.sound.ModelByteBufferWavetable.<init>:(Lcom/sun/media/sound/ModelByteBuffer;F)V
astore 3
start local 3 5: new com.sun.media.sound.ModelPerformer
dup
invokespecial com.sun.media.sound.ModelPerformer.<init>:()V
astore 4
start local 4 6: aload 4
invokevirtual com.sun.media.sound.ModelPerformer.getOscillators:()Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: new com.sun.media.sound.SimpleSoundbank
dup
invokespecial com.sun.media.sound.SimpleSoundbank.<init>:()V
astore 5
start local 5 8: new com.sun.media.sound.SimpleInstrument
dup
invokespecial com.sun.media.sound.SimpleInstrument.<init>:()V
astore 6
start local 6 9: aload 6
aload 4
invokevirtual com.sun.media.sound.SimpleInstrument.add:(Lcom/sun/media/sound/ModelPerformer;)V
10: aload 5
aload 6
invokevirtual com.sun.media.sound.SimpleSoundbank.addInstrument:(Ljavax/sound/midi/Instrument;)V
11: aload 5
12: areturn
end local 6 end local 5 end local 4 end local 3 end local 2 13: StackMap locals:
StackMap stack: javax.sound.sampled.UnsupportedAudioFileException
pop
14: aconst_null
areturn
15: StackMap locals:
StackMap stack: java.io.IOException
pop
16: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/media/sound/AudioFileSoundbankReader;
0 17 1 file Ljava/io/File;
1 13 2 ais Ljavax/sound/sampled/AudioInputStream;
5 13 3 osc Lcom/sun/media/sound/ModelByteBufferWavetable;
6 13 4 performer Lcom/sun/media/sound/ModelPerformer;
8 13 5 sbk Lcom/sun/media/sound/SimpleSoundbank;
9 13 6 ins Lcom/sun/media/sound/SimpleInstrument;
Exception table:
from to target type
0 12 13 Class javax.sound.sampled.UnsupportedAudioFileException
0 12 15 Class java.io.IOException
Exceptions:
throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
MethodParameters:
Name Flags
file
}
SourceFile: "AudioFileSoundbankReader.java"