public final class com.sun.media.sound.StandardMidiFileWriter extends javax.sound.midi.spi.MidiFileWriter
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.StandardMidiFileWriter
super_class: javax.sound.midi.spi.MidiFileWriter
{
private static final int MThd_MAGIC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1297377380
private static final int MTrk_MAGIC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1297379947
private static final int ONE_BYTE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int TWO_BYTE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int SYSEX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int META;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int ERROR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int IGNORE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int MIDI_TYPE_0;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int MIDI_TYPE_1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int bufferSize;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16384
private java.io.DataOutputStream tddos;
descriptor: Ljava/io/DataOutputStream;
flags: (0x0002) ACC_PRIVATE
private static final int[] types;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long mask;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 127
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_2
newarray 10
dup
iconst_1
1: iconst_1
iastore
2: putstatic com.sun.media.sound.StandardMidiFileWriter.types:[I
3: return
LocalVariableTable:
Start End Slot Name Signature
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.MidiFileWriter.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/StandardMidiFileWriter;
public int[] getMidiFileTypes();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic com.sun.media.sound.StandardMidiFileWriter.types:[I
arraylength
newarray 10
astore 1
start local 1 1: getstatic com.sun.media.sound.StandardMidiFileWriter.types:[I
iconst_0
aload 1
iconst_0
getstatic com.sun.media.sound.StandardMidiFileWriter.types:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/StandardMidiFileWriter;
1 3 1 localArray [I
public int[] getMidiFileTypes(javax.sound.midi.Sequence);
descriptor: (Ljavax/sound/midi/Sequence;)[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javax.sound.midi.Sequence.getTracks:()[Ljavax/sound/midi/Track;
astore 3
start local 3 1: aload 3
arraylength
iconst_1
if_icmpne 6
2: iconst_2
newarray 10
astore 2
start local 2 3: aload 2
iconst_0
iconst_0
iastore
4: aload 2
iconst_1
iconst_1
iastore
5: goto 8
end local 2 6: StackMap locals: com.sun.media.sound.StandardMidiFileWriter javax.sound.midi.Sequence top javax.sound.midi.Track[]
StackMap stack:
iconst_1
newarray 10
astore 2
start local 2 7: aload 2
iconst_0
iconst_1
iastore
8: StackMap locals: com.sun.media.sound.StandardMidiFileWriter javax.sound.midi.Sequence int[] javax.sound.midi.Track[]
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/media/sound/StandardMidiFileWriter;
0 9 1 sequence Ljavax/sound/midi/Sequence;
3 6 2 typesArray [I
7 9 2 typesArray [I
1 9 3 tracks [Ljavax/sound/midi/Track;
MethodParameters:
Name Flags
sequence
public boolean isFileTypeSupported(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
iload 1
getstatic com.sun.media.sound.StandardMidiFileWriter.types:[I
iload 2
iaload
if_icmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
getstatic com.sun.media.sound.StandardMidiFileWriter.types:[I
arraylength
if_icmplt 2
end local 2 6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/StandardMidiFileWriter;
0 7 1 type I
1 6 2 i I
MethodParameters:
Name Flags
type
public int write(javax.sound.midi.Sequence, int, java.io.OutputStream);
descriptor: (Ljavax/sound/midi/Sequence;ILjava/io/OutputStream;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: lconst_0
lstore 6
start local 6 3: aload 0
iload 2
aload 1
invokevirtual com.sun.media.sound.StandardMidiFileWriter.isFileTypeSupported:(ILjavax/sound/midi/Sequence;)Z
ifne 5
4: new java.lang.IllegalArgumentException
dup
ldc "Could not write MIDI file"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: byte[] int long
StackMap stack:
aload 0
iload 2
aload 1
invokevirtual com.sun.media.sound.StandardMidiFileWriter.getFileStream:(ILjavax/sound/midi/Sequence;)Ljava/io/InputStream;
astore 8
start local 8 6: aload 8
ifnonnull 8
7: new java.lang.IllegalArgumentException
dup
ldc "Could not write MIDI file"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.io.InputStream
StackMap stack:
sipush 16384
newarray 8
astore 4
9: goto 12
10: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_0
iload 5
invokevirtual java.io.OutputStream.write:([BII)V
11: lload 6
iload 5
i2l
ladd
lstore 6
12: StackMap locals:
StackMap stack:
aload 8
aload 4
invokevirtual java.io.InputStream.read:([B)I
dup
istore 5
ifge 10
13: lload 6
l2i
ireturn
end local 8 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/media/sound/StandardMidiFileWriter;
0 14 1 in Ljavax/sound/midi/Sequence;
0 14 2 type I
0 14 3 out Ljava/io/OutputStream;
1 14 4 buffer [B
2 14 5 bytesRead I
3 14 6 bytesWritten J
6 14 8 fileStream Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
type
out
public int write(javax.sound.midi.Sequence, int, java.io.File);
descriptor: (Ljavax/sound/midi/Sequence;ILjava/io/File;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 4
start local 4 1: aload 0
aload 1
iload 2
aload 4
invokevirtual com.sun.media.sound.StandardMidiFileWriter.write:(Ljavax/sound/midi/Sequence;ILjava/io/OutputStream;)I
istore 5
start local 5 2: aload 4
invokevirtual java.io.FileOutputStream.close:()V
3: iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/media/sound/StandardMidiFileWriter;
0 4 1 in Ljavax/sound/midi/Sequence;
0 4 2 type I
0 4 3 out Ljava/io/File;
1 4 4 fos Ljava/io/FileOutputStream;
2 4 5 bytesWritten I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
type
out
private java.io.InputStream getFileStream(int, javax.sound.midi.Sequence);
descriptor: (ILjavax/sound/midi/Sequence;)Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual javax.sound.midi.Sequence.getTracks:()[Ljavax/sound/midi/Track;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: bipush 14
istore 5
start local 5 3: aconst_null
astore 8
start local 8 4: aconst_null
astore 9
start local 9 5: aconst_null
astore 10
start local 10 6: aconst_null
astore 11
start local 11 7: aconst_null
astore 12
start local 12 8: aconst_null
astore 13
start local 13 9: iload 1
ifne 12
10: aload 3
arraylength
iconst_1
if_icmpeq 22
11: aconst_null
areturn
12: StackMap locals: com.sun.media.sound.StandardMidiFileWriter int javax.sound.midi.Sequence javax.sound.midi.Track[] int int top top java.io.PipedOutputStream java.io.DataOutputStream java.io.PipedInputStream java.io.InputStream[] java.io.InputStream java.io.InputStream
StackMap stack:
iload 1
iconst_1
if_icmpne 15
13: aload 3
arraylength
iconst_1
if_icmpge 22
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
aload 3
arraylength
iconst_1
if_icmpne 18
16: iconst_0
istore 1
17: goto 22
StackMap locals:
StackMap stack:
18: aload 3
arraylength
iconst_1
if_icmple 21
19: iconst_1
istore 1
20: goto 22
21: StackMap locals:
StackMap stack:
aconst_null
areturn
22: StackMap locals:
StackMap stack:
aload 3
arraylength
anewarray java.io.InputStream
astore 11
23: iconst_0
istore 14
start local 14 24: iconst_0
istore 15
start local 15 25: goto 31
26: StackMap locals: int int
StackMap stack:
aload 11
iload 14
aload 0
aload 3
iload 15
aaload
iload 1
invokevirtual com.sun.media.sound.StandardMidiFileWriter.writeTrack:(Ljavax/sound/midi/Track;I)Ljava/io/InputStream;
aastore
27: iinc 14 1
28: goto 30
StackMap locals:
StackMap stack: javax.sound.midi.InvalidMidiDataException
29: astore 16
30: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
31: iload 15
aload 3
arraylength
if_icmplt 26
end local 15 32: iload 14
iconst_1
if_icmpne 35
33: aload 11
iconst_0
aaload
astore 12
34: goto 45
StackMap locals:
StackMap stack:
35: iload 14
iconst_1
if_icmple 44
36: aload 11
iconst_0
aaload
astore 12
37: iconst_1
istore 15
start local 15 38: goto 42
39: StackMap locals: int
StackMap stack:
aload 11
iload 15
aaload
ifnull 41
40: new java.io.SequenceInputStream
dup
aload 12
aload 11
iload 15
aaload
invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
astore 12
41: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
42: iload 15
aload 3
arraylength
if_icmplt 39
end local 15 43: goto 45
44: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "invalid MIDI data in sequence"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals:
StackMap stack:
new java.io.PipedOutputStream
dup
invokespecial java.io.PipedOutputStream.<init>:()V
astore 8
46: new java.io.DataOutputStream
dup
aload 8
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 9
47: new java.io.PipedInputStream
dup
aload 8
invokespecial java.io.PipedInputStream.<init>:(Ljava/io/PipedOutputStream;)V
astore 10
48: aload 9
ldc 1297377380
invokevirtual java.io.DataOutputStream.writeInt:(I)V
49: aload 9
iload 5
bipush 8
isub
invokevirtual java.io.DataOutputStream.writeInt:(I)V
50: iload 1
ifne 53
51: aload 9
iconst_0
invokevirtual java.io.DataOutputStream.writeShort:(I)V
52: goto 54
53: StackMap locals:
StackMap stack:
aload 9
iconst_1
invokevirtual java.io.DataOutputStream.writeShort:(I)V
54: StackMap locals:
StackMap stack:
aload 9
iload 14
i2s
invokevirtual java.io.DataOutputStream.writeShort:(I)V
55: aload 2
invokevirtual javax.sound.midi.Sequence.getDivisionType:()F
fstore 7
start local 7 56: fload 7
fconst_0
fcmpl
ifne 59
57: aload 2
invokevirtual javax.sound.midi.Sequence.getResolution:()I
istore 6
start local 6 58: goto 76
end local 6 StackMap locals: com.sun.media.sound.StandardMidiFileWriter int javax.sound.midi.Sequence javax.sound.midi.Track[] int int top float java.io.PipedOutputStream java.io.DataOutputStream java.io.PipedInputStream java.io.InputStream[] java.io.InputStream java.io.InputStream int
StackMap stack:
59: fload 7
ldc 24.0
fcmpl
ifne 63
60: sipush -6144
istore 6
start local 6 61: iload 6
aload 2
invokevirtual javax.sound.midi.Sequence.getResolution:()I
sipush 255
iand
iadd
istore 6
62: goto 76
end local 6 StackMap locals:
StackMap stack:
63: fload 7
ldc 25.0
fcmpl
ifne 67
64: sipush -6400
istore 6
start local 6 65: iload 6
aload 2
invokevirtual javax.sound.midi.Sequence.getResolution:()I
sipush 255
iand
iadd
istore 6
66: goto 76
end local 6 StackMap locals:
StackMap stack:
67: fload 7
ldc 29.97
fcmpl
ifne 71
68: sipush -7424
istore 6
start local 6 69: iload 6
aload 2
invokevirtual javax.sound.midi.Sequence.getResolution:()I
sipush 255
iand
iadd
istore 6
70: goto 76
end local 6 StackMap locals:
StackMap stack:
71: fload 7
ldc 30.0
fcmpl
ifne 75
72: sipush -7680
istore 6
start local 6 73: iload 6
aload 2
invokevirtual javax.sound.midi.Sequence.getResolution:()I
sipush 255
iand
iadd
istore 6
74: goto 76
end local 6 75: StackMap locals:
StackMap stack:
aconst_null
areturn
start local 6 76: StackMap locals: com.sun.media.sound.StandardMidiFileWriter int javax.sound.midi.Sequence javax.sound.midi.Track[] int int int float java.io.PipedOutputStream java.io.DataOutputStream java.io.PipedInputStream java.io.InputStream[] java.io.InputStream java.io.InputStream int
StackMap stack:
aload 9
iload 6
invokevirtual java.io.DataOutputStream.writeShort:(I)V
77: new java.io.SequenceInputStream
dup
aload 10
aload 12
invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
astore 13
78: aload 9
invokevirtual java.io.DataOutputStream.close:()V
79: iload 4
iload 5
iadd
pop
80: aload 13
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 81 0 this Lcom/sun/media/sound/StandardMidiFileWriter;
0 81 1 type I
0 81 2 sequence Ljavax/sound/midi/Sequence;
1 81 3 tracks [Ljavax/sound/midi/Track;
2 81 4 bytesBuilt I
3 81 5 headerLength I
58 59 6 timeFormat I
61 63 6 timeFormat I
65 67 6 timeFormat I
69 71 6 timeFormat I
73 75 6 timeFormat I
76 81 6 timeFormat I
56 81 7 divtype F
4 81 8 hpos Ljava/io/PipedOutputStream;
5 81 9 hdos Ljava/io/DataOutputStream;
6 81 10 headerStream Ljava/io/PipedInputStream;
7 81 11 trackStreams [Ljava/io/InputStream;
8 81 12 trackStream Ljava/io/InputStream;
9 81 13 fStream Ljava/io/InputStream;
24 81 14 trackCount I
25 32 15 i I
38 43 15 i I
Exception table:
from to target type
26 28 29 Class javax.sound.midi.InvalidMidiDataException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
type
sequence
private int getType(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
sipush 240
iand
sipush 240
if_icmpne 5
1: iload 1
lookupswitch { // 3
240: 2
247: 2
255: 3
default: 4
}
2: StackMap locals:
StackMap stack:
iconst_3
ireturn
3: StackMap locals:
StackMap stack:
iconst_4
ireturn
4: StackMap locals:
StackMap stack:
bipush 6
ireturn
5: StackMap locals:
StackMap stack:
iload 1
sipush 240
iand
lookupswitch { // 7
128: 6
144: 6
160: 6
176: 6
192: 7
208: 7
224: 6
default: 8
}
6: StackMap locals:
StackMap stack:
iconst_2
ireturn
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
8: StackMap locals:
StackMap stack:
iconst_5
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/media/sound/StandardMidiFileWriter;
0 9 1 byteValue I
MethodParameters:
Name Flags
byteValue
private int writeVarInt(long);
descriptor: (J)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: iconst_1
istore 3
start local 3 1: bipush 63
istore 4
start local 4 2: goto 4
StackMap locals: int int
StackMap stack:
3: iinc 4 -7
StackMap locals:
StackMap stack:
4: iload 4
ifle 9
lload 1
ldc 127
iload 4
lshl
land
lconst_0
lcmp
ifeq 3
5: goto 9
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
lload 1
ldc 127
iload 4
lshl
land
iload 4
lshr
ldc 128
lor
l2i
invokevirtual java.io.DataOutputStream.writeByte:(I)V
7: iinc 4 -7
8: iinc 3 1
9: StackMap locals:
StackMap stack:
iload 4
ifgt 6
10: aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
lload 1
ldc 127
land
l2i
invokevirtual java.io.DataOutputStream.writeByte:(I)V
11: iload 3
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/media/sound/StandardMidiFileWriter;
0 12 1 value J
1 12 3 len I
2 12 4 shift I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
value
private java.io.InputStream writeTrack(javax.sound.midi.Track, int);
descriptor: (Ljavax/sound/midi/Track;I)Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=26, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 1
invokevirtual javax.sound.midi.Track.size:()I
istore 4
start local 4 2: new java.io.PipedOutputStream
dup
invokespecial java.io.PipedOutputStream.<init>:()V
astore 5
start local 5 3: new java.io.DataOutputStream
dup
aload 5
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 6
start local 6 4: new java.io.PipedInputStream
dup
aload 5
invokespecial java.io.PipedInputStream.<init>:(Ljava/io/PipedOutputStream;)V
astore 7
start local 7 5: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 8
start local 8 6: aload 0
new java.io.DataOutputStream
dup
aload 8
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
putfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
7: aconst_null
astore 9
start local 9 8: aconst_null
astore 10
start local 10 9: lconst_0
lstore 11
start local 11 10: lconst_0
lstore 13
start local 13 11: iconst_m1
istore 15
start local 15 12: iconst_0
istore 16
start local 16 13: goto 65
14: StackMap locals: com.sun.media.sound.StandardMidiFileWriter javax.sound.midi.Track int int int java.io.PipedOutputStream java.io.DataOutputStream java.io.PipedInputStream java.io.ByteArrayOutputStream java.io.ByteArrayInputStream java.io.SequenceInputStream long long int int
StackMap stack:
aload 1
iload 16
invokevirtual javax.sound.midi.Track.get:(I)Ljavax/sound/midi/MidiEvent;
astore 17
start local 17 15: aconst_null
astore 22
start local 22 16: aconst_null
astore 23
start local 23 17: aconst_null
astore 24
start local 24 18: aconst_null
astore 25
start local 25 19: aload 17
invokevirtual javax.sound.midi.MidiEvent.getTick:()J
pop2
20: aload 17
invokevirtual javax.sound.midi.MidiEvent.getTick:()J
lload 11
lsub
lstore 13
21: aload 17
invokevirtual javax.sound.midi.MidiEvent.getTick:()J
lstore 11
22: aload 17
invokevirtual javax.sound.midi.MidiEvent.getMessage:()Ljavax/sound/midi/MidiMessage;
invokevirtual javax.sound.midi.MidiMessage.getStatus:()I
istore 18
start local 18 23: aload 0
iload 18
invokevirtual com.sun.media.sound.StandardMidiFileWriter.getType:(I)I
istore 19
start local 19 24: iload 19
tableswitch { // 1 - 6
1: 25
2: 33
3: 43
4: 53
5: 62
6: 61
default: 63
}
25: StackMap locals: com.sun.media.sound.StandardMidiFileWriter javax.sound.midi.Track int int int java.io.PipedOutputStream java.io.DataOutputStream java.io.PipedInputStream java.io.ByteArrayOutputStream java.io.ByteArrayInputStream java.io.SequenceInputStream long long int int javax.sound.midi.MidiEvent int int top top byte[] javax.sound.midi.ShortMessage javax.sound.midi.MetaMessage javax.sound.midi.SysexMessage
StackMap stack:
aload 17
invokevirtual javax.sound.midi.MidiEvent.getMessage:()Ljavax/sound/midi/MidiMessage;
checkcast javax.sound.midi.ShortMessage
astore 23
26: aload 23
invokevirtual javax.sound.midi.ShortMessage.getData1:()I
istore 20
start local 20 27: iload 3
aload 0
lload 13
invokevirtual com.sun.media.sound.StandardMidiFileWriter.writeVarInt:(J)I
iadd
istore 3
28: iload 18
iload 15
if_icmpeq 31
29: iload 18
istore 15
30: aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
iload 18
invokevirtual java.io.DataOutputStream.writeByte:(I)V
iinc 3 1
31: StackMap locals: com.sun.media.sound.StandardMidiFileWriter javax.sound.midi.Track int int int java.io.PipedOutputStream java.io.DataOutputStream java.io.PipedInputStream java.io.ByteArrayOutputStream java.io.ByteArrayInputStream java.io.SequenceInputStream long long int int javax.sound.midi.MidiEvent int int int top byte[] javax.sound.midi.ShortMessage javax.sound.midi.MetaMessage javax.sound.midi.SysexMessage
StackMap stack:
aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
iload 20
invokevirtual java.io.DataOutputStream.writeByte:(I)V
iinc 3 1
32: goto 64
end local 20 33: StackMap locals: com.sun.media.sound.StandardMidiFileWriter javax.sound.midi.Track int int int java.io.PipedOutputStream java.io.DataOutputStream java.io.PipedInputStream java.io.ByteArrayOutputStream java.io.ByteArrayInputStream java.io.SequenceInputStream long long int int javax.sound.midi.MidiEvent int int top top byte[] javax.sound.midi.ShortMessage javax.sound.midi.MetaMessage javax.sound.midi.SysexMessage
StackMap stack:
aload 17
invokevirtual javax.sound.midi.MidiEvent.getMessage:()Ljavax/sound/midi/MidiMessage;
checkcast javax.sound.midi.ShortMessage
astore 23
34: aload 23
invokevirtual javax.sound.midi.ShortMessage.getData1:()I
istore 20
start local 20 35: aload 23
invokevirtual javax.sound.midi.ShortMessage.getData2:()I
istore 21
start local 21 36: iload 3
aload 0
lload 13
invokevirtual com.sun.media.sound.StandardMidiFileWriter.writeVarInt:(J)I
iadd
istore 3
37: iload 18
iload 15
if_icmpeq 40
38: iload 18
istore 15
39: aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
iload 18
invokevirtual java.io.DataOutputStream.writeByte:(I)V
iinc 3 1
40: StackMap locals: com.sun.media.sound.StandardMidiFileWriter javax.sound.midi.Track int int int java.io.PipedOutputStream java.io.DataOutputStream java.io.PipedInputStream java.io.ByteArrayOutputStream java.io.ByteArrayInputStream java.io.SequenceInputStream long long int int javax.sound.midi.MidiEvent int int int int byte[] javax.sound.midi.ShortMessage javax.sound.midi.MetaMessage javax.sound.midi.SysexMessage
StackMap stack:
aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
iload 20
invokevirtual java.io.DataOutputStream.writeByte:(I)V
iinc 3 1
41: aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
iload 21
invokevirtual java.io.DataOutputStream.writeByte:(I)V
iinc 3 1
42: goto 64
end local 21 end local 20 43: StackMap locals: com.sun.media.sound.StandardMidiFileWriter javax.sound.midi.Track int int int java.io.PipedOutputStream java.io.DataOutputStream java.io.PipedInputStream java.io.ByteArrayOutputStream java.io.ByteArrayInputStream java.io.SequenceInputStream long long int int javax.sound.midi.MidiEvent int int top top byte[] javax.sound.midi.ShortMessage javax.sound.midi.MetaMessage javax.sound.midi.SysexMessage
StackMap stack:
aload 17
invokevirtual javax.sound.midi.MidiEvent.getMessage:()Ljavax/sound/midi/MidiMessage;
checkcast javax.sound.midi.SysexMessage
astore 25
44: aload 25
invokevirtual javax.sound.midi.SysexMessage.getLength:()I
pop
45: aload 25
invokevirtual javax.sound.midi.SysexMessage.getMessage:()[B
astore 22
46: iload 3
aload 0
lload 13
invokevirtual com.sun.media.sound.StandardMidiFileWriter.writeVarInt:(J)I
iadd
istore 3
47: iload 18
istore 15
48: aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
aload 22
iconst_0
baload
invokevirtual java.io.DataOutputStream.writeByte:(I)V
iinc 3 1
49: iload 3
aload 0
aload 22
arraylength
iconst_1
isub
i2l
invokevirtual com.sun.media.sound.StandardMidiFileWriter.writeVarInt:(J)I
iadd
istore 3
50: aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
aload 22
iconst_1
aload 22
arraylength
iconst_1
isub
invokevirtual java.io.DataOutputStream.write:([BII)V
51: iload 3
aload 22
arraylength
iconst_1
isub
iadd
istore 3
52: goto 64
53: StackMap locals:
StackMap stack:
aload 17
invokevirtual javax.sound.midi.MidiEvent.getMessage:()Ljavax/sound/midi/MidiMessage;
checkcast javax.sound.midi.MetaMessage
astore 24
54: aload 24
invokevirtual javax.sound.midi.MetaMessage.getLength:()I
pop
55: aload 24
invokevirtual javax.sound.midi.MetaMessage.getMessage:()[B
astore 22
56: iload 3
aload 0
lload 13
invokevirtual com.sun.media.sound.StandardMidiFileWriter.writeVarInt:(J)I
iadd
istore 3
57: iload 18
istore 15
58: aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
aload 22
iconst_0
aload 22
arraylength
invokevirtual java.io.DataOutputStream.write:([BII)V
59: iload 3
aload 22
arraylength
iadd
istore 3
60: goto 64
61: StackMap locals:
StackMap stack:
goto 64
62: StackMap locals:
StackMap stack:
goto 64
63: StackMap locals:
StackMap stack:
new javax.sound.midi.InvalidMidiDataException
dup
ldc "internal file writer error"
invokespecial javax.sound.midi.InvalidMidiDataException.<init>:(Ljava/lang/String;)V
athrow
end local 25 end local 24 end local 23 end local 22 end local 19 end local 18 end local 17 64: StackMap locals: com.sun.media.sound.StandardMidiFileWriter javax.sound.midi.Track int int int java.io.PipedOutputStream java.io.DataOutputStream java.io.PipedInputStream java.io.ByteArrayOutputStream java.io.ByteArrayInputStream java.io.SequenceInputStream long long int int
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
65: iload 16
iload 4
if_icmplt 14
end local 16 66: aload 6
ldc 1297379947
invokevirtual java.io.DataOutputStream.writeInt:(I)V
67: aload 6
iload 3
invokevirtual java.io.DataOutputStream.writeInt:(I)V
68: iinc 3 8
69: new java.io.ByteArrayInputStream
dup
aload 8
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 9
70: new java.io.SequenceInputStream
dup
aload 7
aload 9
invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
astore 10
71: aload 6
invokevirtual java.io.DataOutputStream.close:()V
72: aload 0
getfield com.sun.media.sound.StandardMidiFileWriter.tddos:Ljava/io/DataOutputStream;
invokevirtual java.io.DataOutputStream.close:()V
73: aload 10
areturn
end local 15 end local 13 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 74 0 this Lcom/sun/media/sound/StandardMidiFileWriter;
0 74 1 track Ljavax/sound/midi/Track;
0 74 2 type I
1 74 3 bytesWritten I
2 74 4 size I
3 74 5 thpos Ljava/io/PipedOutputStream;
4 74 6 thdos Ljava/io/DataOutputStream;
5 74 7 thpis Ljava/io/PipedInputStream;
6 74 8 tdbos Ljava/io/ByteArrayOutputStream;
8 74 9 tdbis Ljava/io/ByteArrayInputStream;
9 74 10 fStream Ljava/io/SequenceInputStream;
10 74 11 currentTick J
11 74 13 deltaTick J
12 74 15 runningStatus I
13 66 16 i I
15 64 17 event Ljavax/sound/midi/MidiEvent;
23 64 18 status I
24 64 19 eventtype I
27 33 20 data1 I
35 43 20 data1 I
36 43 21 data2 I
16 64 22 data [B
17 64 23 shortMessage Ljavax/sound/midi/ShortMessage;
18 64 24 metaMessage Ljavax/sound/midi/MetaMessage;
19 64 25 sysexMessage Ljavax/sound/midi/SysexMessage;
Exceptions:
throws java.io.IOException, javax.sound.midi.InvalidMidiDataException
MethodParameters:
Name Flags
track
type
}
SourceFile: "StandardMidiFileWriter.java"