final class com.sun.media.sound.RealTimeSequencer extends com.sun.media.sound.AbstractMidiDevice implements javax.sound.midi.Sequencer, com.sun.media.sound.AutoConnectSequencer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.RealTimeSequencer
super_class: com.sun.media.sound.AbstractMidiDevice
{
private static final boolean DEBUG_PUMP;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean DEBUG_PUMP_ALL;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final java.util.Map<java.lang.ThreadGroup, com.sun.media.sound.EventDispatcher> dispatchers;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/ThreadGroup;Lcom/sun/media/sound/EventDispatcher;>;
static final javax.sound.midi.MidiDevice$Info info;
descriptor: Ljavax/sound/midi/MidiDevice$Info;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final javax.sound.midi.Sequencer$SyncMode[] masterSyncModes;
descriptor: [Ljavax/sound/midi/Sequencer$SyncMode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final javax.sound.midi.Sequencer$SyncMode[] slaveSyncModes;
descriptor: [Ljavax/sound/midi/Sequencer$SyncMode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final javax.sound.midi.Sequencer$SyncMode masterSyncMode;
descriptor: Ljavax/sound/midi/Sequencer$SyncMode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final javax.sound.midi.Sequencer$SyncMode slaveSyncMode;
descriptor: Ljavax/sound/midi/Sequencer$SyncMode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private javax.sound.midi.Sequence sequence;
descriptor: Ljavax/sound/midi/Sequence;
flags: (0x0002) ACC_PRIVATE
private double cacheTempoMPQ;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private float cacheTempoFactor;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private boolean[] trackMuted;
descriptor: [Z
flags: (0x0002) ACC_PRIVATE
private boolean[] trackSolo;
descriptor: [Z
flags: (0x0002) ACC_PRIVATE
private final com.sun.media.sound.MidiUtils$TempoCache tempoCache;
descriptor: Lcom/sun/media/sound/MidiUtils$TempoCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean running;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private com.sun.media.sound.RealTimeSequencer$PlayThread playThread;
descriptor: Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
flags: (0x0002) ACC_PRIVATE
private volatile boolean recording;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.List<com.sun.media.sound.RealTimeSequencer$RecordingTrack> recordingTracks;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/sun/media/sound/RealTimeSequencer$RecordingTrack;>;
private long loopStart;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long loopEnd;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int loopCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.ArrayList<java.lang.Object> metaEventListeners;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Ljava/lang/Object;>;
private final java.util.ArrayList<com.sun.media.sound.RealTimeSequencer$ControllerListElement> controllerEventListeners;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lcom/sun/media/sound/RealTimeSequencer$ControllerListElement;>;
private boolean autoConnect;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean doAutoConnectAtNextOpen;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
javax.sound.midi.Receiver autoConnectedReceiver;
descriptor: Ljavax/sound/midi/Receiver;
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
1: putstatic com.sun.media.sound.RealTimeSequencer.dispatchers:Ljava/util/Map;
2: new com.sun.media.sound.RealTimeSequencer$RealTimeSequencerInfo
dup
invokespecial com.sun.media.sound.RealTimeSequencer$RealTimeSequencerInfo.<init>:()V
putstatic com.sun.media.sound.RealTimeSequencer.info:Ljavax/sound/midi/MidiDevice$Info;
3: iconst_1
anewarray javax.sound.midi.Sequencer$SyncMode
dup
iconst_0
getstatic javax.sound.midi.Sequencer$SyncMode.INTERNAL_CLOCK:Ljavax/sound/midi/Sequencer$SyncMode;
aastore
putstatic com.sun.media.sound.RealTimeSequencer.masterSyncModes:[Ljavax/sound/midi/Sequencer$SyncMode;
4: iconst_1
anewarray javax.sound.midi.Sequencer$SyncMode
dup
iconst_0
getstatic javax.sound.midi.Sequencer$SyncMode.NO_SYNC:Ljavax/sound/midi/Sequencer$SyncMode;
aastore
putstatic com.sun.media.sound.RealTimeSequencer.slaveSyncModes:[Ljavax/sound/midi/Sequencer$SyncMode;
5: getstatic javax.sound.midi.Sequencer$SyncMode.INTERNAL_CLOCK:Ljavax/sound/midi/Sequencer$SyncMode;
putstatic com.sun.media.sound.RealTimeSequencer.masterSyncMode:Ljavax/sound/midi/Sequencer$SyncMode;
6: getstatic javax.sound.midi.Sequencer$SyncMode.NO_SYNC:Ljavax/sound/midi/Sequencer$SyncMode;
putstatic com.sun.media.sound.RealTimeSequencer.slaveSyncMode:Ljavax/sound/midi/Sequencer$SyncMode;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.sun.media.sound.RealTimeSequencer.info:Ljavax/sound/midi/MidiDevice$Info;
invokespecial com.sun.media.sound.AbstractMidiDevice.<init>:(Ljavax/sound/midi/MidiDevice$Info;)V
1: aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
2: aload 0
ldc -1.0
putfield com.sun.media.sound.RealTimeSequencer.cacheTempoMPQ:D
3: aload 0
ldc -1.0
putfield com.sun.media.sound.RealTimeSequencer.cacheTempoFactor:F
4: aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.trackMuted:[Z
5: aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.trackSolo:[Z
6: aload 0
new com.sun.media.sound.MidiUtils$TempoCache
dup
invokespecial com.sun.media.sound.MidiUtils$TempoCache.<init>:()V
putfield com.sun.media.sound.RealTimeSequencer.tempoCache:Lcom/sun/media/sound/MidiUtils$TempoCache;
7: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.media.sound.RealTimeSequencer.recordingTracks:Ljava/util/List;
8: aload 0
lconst_0
putfield com.sun.media.sound.RealTimeSequencer.loopStart:J
9: aload 0
ldc -1
putfield com.sun.media.sound.RealTimeSequencer.loopEnd:J
10: aload 0
iconst_0
putfield com.sun.media.sound.RealTimeSequencer.loopCount:I
11: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.media.sound.RealTimeSequencer.metaEventListeners:Ljava/util/ArrayList;
12: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
13: aload 0
iconst_0
putfield com.sun.media.sound.RealTimeSequencer.autoConnect:Z
14: aload 0
iconst_0
putfield com.sun.media.sound.RealTimeSequencer.doAutoConnectAtNextOpen:Z
15: aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.autoConnectedReceiver:Ljavax/sound/midi/Receiver;
16: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/media/sound/RealTimeSequencer;
public synchronized void setSequence(javax.sound.midi.Sequence);
descriptor: (Ljavax/sound/midi/Sequence;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
if_acmpeq 20
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnull 12
aload 1
ifnonnull 12
2: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.setCaches:()V
3: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.stop:()V
4: aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.trackMuted:[Z
5: aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.trackSolo:[Z
6: aload 0
lconst_0
putfield com.sun.media.sound.RealTimeSequencer.loopStart:J
7: aload 0
ldc -1
putfield com.sun.media.sound.RealTimeSequencer.loopEnd:J
8: aload 0
iconst_0
putfield com.sun.media.sound.RealTimeSequencer.loopCount:I
9: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
ifnull 12
10: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
lconst_0
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.setTickPos:(J)V
11: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.resetLoopCount:()V
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
ifnull 14
13: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
aload 1
invokevirtual com.sun.media.sound.RealTimeSequencer$PlayThread.setSequence:(Ljavax/sound/midi/Sequence;)V
14: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
15: aload 1
ifnull 24
16: aload 0
getfield com.sun.media.sound.RealTimeSequencer.tempoCache:Lcom/sun/media/sound/MidiUtils$TempoCache;
aload 1
invokevirtual com.sun.media.sound.MidiUtils$TempoCache.refresh:(Ljavax/sound/midi/Sequence;)V
17: aload 0
lconst_0
invokevirtual com.sun.media.sound.RealTimeSequencer.setTickPosition:(J)V
18: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.propagateCaches:()V
19: goto 24
20: StackMap locals:
StackMap stack:
aload 1
ifnull 24
21: aload 0
getfield com.sun.media.sound.RealTimeSequencer.tempoCache:Lcom/sun/media/sound/MidiUtils$TempoCache;
aload 1
invokevirtual com.sun.media.sound.MidiUtils$TempoCache.refresh:(Ljavax/sound/midi/Sequence;)V
22: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
ifnull 24
23: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
aload 1
invokevirtual com.sun.media.sound.RealTimeSequencer$PlayThread.setSequence:(Ljavax/sound/midi/Sequence;)V
24: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 25 1 sequence Ljavax/sound/midi/Sequence;
Exceptions:
throws javax.sound.midi.InvalidMidiDataException
MethodParameters:
Name Flags
sequence
public synchronized void setSequence(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
aconst_null
invokevirtual com.sun.media.sound.RealTimeSequencer.setSequence:(Ljavax/sound/midi/Sequence;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
invokestatic javax.sound.midi.MidiSystem.getSequence:(Ljava/io/InputStream;)Ljavax/sound/midi/Sequence;
astore 2
start local 2 4: aload 0
aload 2
invokevirtual com.sun.media.sound.RealTimeSequencer.setSequence:(Ljavax/sound/midi/Sequence;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 6 1 stream Ljava/io/InputStream;
4 6 2 seq Ljavax/sound/midi/Sequence;
Exceptions:
throws java.io.IOException, javax.sound.midi.InvalidMidiDataException
MethodParameters:
Name Flags
stream
public javax.sound.midi.Sequence getSequence();
descriptor: ()Ljavax/sound/midi/Sequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
public synchronized void start();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.isOpen:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "sequencer not open"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnonnull 4
3: new java.lang.IllegalStateException
dup
ldc "sequence not set"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.running:Z
ifeq 6
5: return
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.implStart:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/RealTimeSequencer;
public synchronized void stop();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.isOpen:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "sequencer not open"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.stopRecording:()V
3: aload 0
getfield com.sun.media.sound.RealTimeSequencer.running:Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.implStop:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/RealTimeSequencer;
public boolean isRunning();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.running:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
public void startRecording();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.isOpen:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Sequencer not open"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.start:()V
3: aload 0
iconst_1
putfield com.sun.media.sound.RealTimeSequencer.recording:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/media/sound/RealTimeSequencer;
public void stopRecording();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.isOpen:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Sequencer not open"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.media.sound.RealTimeSequencer.recording:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/media/sound/RealTimeSequencer;
public boolean isRecording();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.recording:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
public void recordEnable(javax.sound.midi.Track, int);
descriptor: (Ljavax/sound/midi/Track;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.sun.media.sound.RealTimeSequencer.findTrack:(Ljavax/sound/midi/Track;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Track does not exist in the current sequence"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.recordingTracks:Ljava/util/List;
dup
astore 3
monitorenter
3: aload 0
getfield com.sun.media.sound.RealTimeSequencer.recordingTracks:Ljava/util/List;
aload 1
invokestatic com.sun.media.sound.RealTimeSequencer$RecordingTrack.get:(Ljava/util/List;Ljavax/sound/midi/Track;)Lcom/sun/media/sound/RealTimeSequencer$RecordingTrack;
astore 4
start local 4 4: aload 4
ifnull 7
5: aload 4
iload 2
putfield com.sun.media.sound.RealTimeSequencer$RecordingTrack.channel:I
6: goto 8
7: StackMap locals: java.util.List com.sun.media.sound.RealTimeSequencer$RecordingTrack
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.recordingTracks:Ljava/util/List;
new com.sun.media.sound.RealTimeSequencer$RecordingTrack
dup
aload 1
iload 2
invokespecial com.sun.media.sound.RealTimeSequencer$RecordingTrack.<init>:(Ljavax/sound/midi/Track;I)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 8: StackMap locals:
StackMap stack:
aload 3
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 13 1 track Ljavax/sound/midi/Track;
0 13 2 channel I
4 8 4 rc Lcom/sun/media/sound/RealTimeSequencer$RecordingTrack;
Exception table:
from to target type
3 9 10 any
10 11 10 any
MethodParameters:
Name Flags
track
channel
public void recordDisable(javax.sound.midi.Track);
descriptor: (Ljavax/sound/midi/Track;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.recordingTracks:Ljava/util/List;
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.recordingTracks:Ljava/util/List;
aload 1
invokestatic com.sun.media.sound.RealTimeSequencer$RecordingTrack.get:(Ljava/util/List;Ljavax/sound/midi/Track;)Lcom/sun/media/sound/RealTimeSequencer$RecordingTrack;
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 0
getfield com.sun.media.sound.RealTimeSequencer.recordingTracks:Ljava/util/List;
aload 3
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals: java.util.List
StackMap stack:
aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 9 1 track Ljavax/sound/midi/Track;
2 4 3 rc Lcom/sun/media/sound/RealTimeSequencer$RecordingTrack;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
track
private boolean findTrack(javax.sound.midi.Track);
descriptor: (Ljavax/sound/midi/Track;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnull 10
2: aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
invokevirtual javax.sound.midi.Sequence.getTracks:()[Ljavax/sound/midi/Track;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 9
5: StackMap locals: int javax.sound.midi.Track[] int
StackMap stack:
aload 1
aload 3
iload 4
aaload
if_acmpne 8
6: iconst_1
istore 2
7: goto 10
8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 3
arraylength
if_icmplt 5
end local 4 end local 3 10: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 11 1 track Ljavax/sound/midi/Track;
1 11 2 found Z
3 10 3 tracks [Ljavax/sound/midi/Track;
4 10 4 i I
MethodParameters:
Name Flags
track
public float getTempoInBPM();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTempoInMPQ:()F
f2d
invokestatic com.sun.media.sound.MidiUtils.convertTempo:(D)D
d2f
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
public void setTempoInBPM(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: fload 1
fconst_0
fcmpg
ifgt 2
1: fconst_1
fstore 1
2: StackMap locals:
StackMap stack:
aload 0
fload 1
f2d
invokestatic com.sun.media.sound.MidiUtils.convertTempo:(D)D
d2f
invokevirtual com.sun.media.sound.RealTimeSequencer.setTempoInMPQ:(F)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 4 1 bpm F
MethodParameters:
Name Flags
bpm
public float getTempoInMPQ();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.needCaching:()Z
ifeq 6
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.cacheTempoMPQ:D
ldc -1.0
dcmpl
ifeq 3
2: aload 0
getfield com.sun.media.sound.RealTimeSequencer.cacheTempoMPQ:D
d2f
freturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnull 5
4: aload 0
getfield com.sun.media.sound.RealTimeSequencer.tempoCache:Lcom/sun/media/sound/MidiUtils$TempoCache;
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTickPosition:()J
invokevirtual com.sun.media.sound.MidiUtils$TempoCache.getTempoMPQAt:(J)F
freturn
5: StackMap locals:
StackMap stack:
ldc 500000.0
freturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.getTempoMPQ:()F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/RealTimeSequencer;
public void setTempoInMPQ(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: fload 1
fconst_0
fcmpg
ifgt 2
1: fconst_1
fstore 1
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.needCaching:()Z
ifeq 5
3: aload 0
fload 1
f2d
putfield com.sun.media.sound.RealTimeSequencer.cacheTempoMPQ:D
4: goto 7
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
fload 1
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.setTempoMPQ:(F)V
6: aload 0
ldc -1.0
putfield com.sun.media.sound.RealTimeSequencer.cacheTempoMPQ:D
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 8 1 mpq F
MethodParameters:
Name Flags
mpq
public void setTempoFactor(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: fload 1
fconst_0
fcmpg
ifgt 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.needCaching:()Z
ifeq 5
3: aload 0
fload 1
putfield com.sun.media.sound.RealTimeSequencer.cacheTempoFactor:F
4: goto 7
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
fload 1
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.setTempoFactor:(F)V
6: aload 0
ldc -1.0
putfield com.sun.media.sound.RealTimeSequencer.cacheTempoFactor:F
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 8 1 factor F
MethodParameters:
Name Flags
factor
public float getTempoFactor();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.needCaching:()Z
ifeq 4
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.cacheTempoFactor:F
ldc -1.0
fcmpl
ifeq 3
2: aload 0
getfield com.sun.media.sound.RealTimeSequencer.cacheTempoFactor:F
freturn
3: StackMap locals:
StackMap stack:
fconst_1
freturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.getTempoFactor:()F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/media/sound/RealTimeSequencer;
public long getTickLength();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnonnull 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
invokevirtual javax.sound.midi.Sequence.getTickLength:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/RealTimeSequencer;
public synchronized long getTickPosition();
descriptor: ()J
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
ifnull 1
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnonnull 2
1: StackMap locals:
StackMap stack:
lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.getTickPos:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/RealTimeSequencer;
public synchronized void setTickPosition(long);
descriptor: (J)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifge 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
ifnonnull 4
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnonnull 6
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
lload 1
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.setTickPos:(J)V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 8 1 tick J
MethodParameters:
Name Flags
tick
public long getMicrosecondLength();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnonnull 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
invokevirtual javax.sound.midi.Sequence.getMicrosecondLength:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/RealTimeSequencer;
public long getMicrosecondPosition();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
ifnull 1
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnonnull 2
1: StackMap locals:
StackMap stack:
lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.tempoCache:Lcom/sun/media/sound/MidiUtils$TempoCache;
dup
astore 1
monitorenter
3: aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.getTickPos:()J
aload 0
getfield com.sun.media.sound.RealTimeSequencer.tempoCache:Lcom/sun/media/sound/MidiUtils$TempoCache;
invokestatic com.sun.media.sound.MidiUtils.tick2microsecond:(Ljavax/sound/midi/Sequence;JLcom/sun/media/sound/MidiUtils$TempoCache;)J
aload 1
monitorexit
4: lreturn
5: StackMap locals: com.sun.media.sound.RealTimeSequencer com.sun.media.sound.MidiUtils$TempoCache
StackMap stack: java.lang.Throwable
aload 1
monitorexit
6: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/RealTimeSequencer;
Exception table:
from to target type
3 4 5 any
5 6 5 any
public void setMicrosecondPosition(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifge 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
ifnonnull 4
3: goto 12
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnonnull 6
5: goto 12
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.tempoCache:Lcom/sun/media/sound/MidiUtils$TempoCache;
dup
astore 3
monitorenter
7: aload 0
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
lload 1
aload 0
getfield com.sun.media.sound.RealTimeSequencer.tempoCache:Lcom/sun/media/sound/MidiUtils$TempoCache;
invokestatic com.sun.media.sound.MidiUtils.microsecond2tick:(Ljavax/sound/midi/Sequence;JLcom/sun/media/sound/MidiUtils$TempoCache;)J
invokevirtual com.sun.media.sound.RealTimeSequencer.setTickPosition:(J)V
8: aload 3
monitorexit
9: goto 12
StackMap locals: com.sun.media.sound.RealTimeSequencer long com.sun.media.sound.MidiUtils$TempoCache
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 13 1 microseconds J
Exception table:
from to target type
7 9 10 any
10 11 10 any
MethodParameters:
Name Flags
microseconds
public void setMasterSyncMode(javax.sound.midi.Sequencer$SyncMode);
descriptor: (Ljavax/sound/midi/Sequencer$SyncMode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 1 1 sync Ljavax/sound/midi/Sequencer$SyncMode;
MethodParameters:
Name Flags
sync
public javax.sound.midi.Sequencer$SyncMode getMasterSyncMode();
descriptor: ()Ljavax/sound/midi/Sequencer$SyncMode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.sun.media.sound.RealTimeSequencer.masterSyncMode:Ljavax/sound/midi/Sequencer$SyncMode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
public javax.sound.midi.Sequencer$SyncMode[] getMasterSyncModes();
descriptor: ()[Ljavax/sound/midi/Sequencer$SyncMode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic com.sun.media.sound.RealTimeSequencer.masterSyncModes:[Ljavax/sound/midi/Sequencer$SyncMode;
arraylength
anewarray javax.sound.midi.Sequencer$SyncMode
astore 1
start local 1 1: getstatic com.sun.media.sound.RealTimeSequencer.masterSyncModes:[Ljavax/sound/midi/Sequencer$SyncMode;
iconst_0
aload 1
iconst_0
getstatic com.sun.media.sound.RealTimeSequencer.masterSyncModes:[Ljavax/sound/midi/Sequencer$SyncMode;
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/RealTimeSequencer;
1 3 1 returnedModes [Ljavax/sound/midi/Sequencer$SyncMode;
public void setSlaveSyncMode(javax.sound.midi.Sequencer$SyncMode);
descriptor: (Ljavax/sound/midi/Sequencer$SyncMode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 1 1 sync Ljavax/sound/midi/Sequencer$SyncMode;
MethodParameters:
Name Flags
sync
public javax.sound.midi.Sequencer$SyncMode getSlaveSyncMode();
descriptor: ()Ljavax/sound/midi/Sequencer$SyncMode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.sun.media.sound.RealTimeSequencer.slaveSyncMode:Ljavax/sound/midi/Sequencer$SyncMode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
public javax.sound.midi.Sequencer$SyncMode[] getSlaveSyncModes();
descriptor: ()[Ljavax/sound/midi/Sequencer$SyncMode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic com.sun.media.sound.RealTimeSequencer.slaveSyncModes:[Ljavax/sound/midi/Sequencer$SyncMode;
arraylength
anewarray javax.sound.midi.Sequencer$SyncMode
astore 1
start local 1 1: getstatic com.sun.media.sound.RealTimeSequencer.slaveSyncModes:[Ljavax/sound/midi/Sequencer$SyncMode;
iconst_0
aload 1
iconst_0
getstatic com.sun.media.sound.RealTimeSequencer.slaveSyncModes:[Ljavax/sound/midi/Sequencer$SyncMode;
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/RealTimeSequencer;
1 3 1 returnedModes [Ljavax/sound/midi/Sequencer$SyncMode;
int getTrackCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getSequence:()Ljavax/sound/midi/Sequence;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
invokevirtual javax.sound.midi.Sequence.getTracks:()[Ljavax/sound/midi/Track;
arraylength
ireturn
3: StackMap locals: javax.sound.midi.Sequence
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/media/sound/RealTimeSequencer;
1 4 1 seq Ljavax/sound/midi/Sequence;
public synchronized void setTrackMute(int, boolean);
descriptor: (IZ)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTrackCount:()I
istore 3
start local 3 1: iload 1
iflt 2
iload 1
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTrackCount:()I
if_icmplt 3
StackMap locals: int
StackMap stack:
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.media.sound.RealTimeSequencer.trackMuted:[Z
iload 3
invokestatic com.sun.media.sound.RealTimeSequencer.ensureBoolArraySize:([ZI)[Z
putfield com.sun.media.sound.RealTimeSequencer.trackMuted:[Z
4: aload 0
getfield com.sun.media.sound.RealTimeSequencer.trackMuted:[Z
iload 1
iload 2
bastore
5: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
ifnull 7
6: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.muteSoloChanged:()V
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 8 1 track I
0 8 2 mute Z
1 8 3 trackCount I
MethodParameters:
Name Flags
track
mute
public synchronized boolean getTrackMute(int);
descriptor: (I)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTrackCount:()I
if_icmplt 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.trackMuted:[Z
ifnull 3
aload 0
getfield com.sun.media.sound.RealTimeSequencer.trackMuted:[Z
arraylength
iload 1
if_icmpgt 4
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.trackMuted:[Z
iload 1
baload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 5 1 track I
MethodParameters:
Name Flags
track
public synchronized void setTrackSolo(int, boolean);
descriptor: (IZ)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTrackCount:()I
istore 3
start local 3 1: iload 1
iflt 2
iload 1
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTrackCount:()I
if_icmplt 3
StackMap locals: int
StackMap stack:
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.media.sound.RealTimeSequencer.trackSolo:[Z
iload 3
invokestatic com.sun.media.sound.RealTimeSequencer.ensureBoolArraySize:([ZI)[Z
putfield com.sun.media.sound.RealTimeSequencer.trackSolo:[Z
4: aload 0
getfield com.sun.media.sound.RealTimeSequencer.trackSolo:[Z
iload 1
iload 2
bastore
5: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
ifnull 7
6: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.muteSoloChanged:()V
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 8 1 track I
0 8 2 solo Z
1 8 3 trackCount I
MethodParameters:
Name Flags
track
solo
public synchronized boolean getTrackSolo(int);
descriptor: (I)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTrackCount:()I
if_icmplt 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.trackSolo:[Z
ifnull 3
aload 0
getfield com.sun.media.sound.RealTimeSequencer.trackSolo:[Z
arraylength
iload 1
if_icmpgt 4
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.trackSolo:[Z
iload 1
baload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 5 1 track I
MethodParameters:
Name Flags
track
public boolean addMetaEventListener(javax.sound.midi.MetaEventListener);
descriptor: (Ljavax/sound/midi/MetaEventListener;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.metaEventListeners:Ljava/util/ArrayList;
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.metaEventListeners:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifne 3
2: aload 0
getfield com.sun.media.sound.RealTimeSequencer.metaEventListeners:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals: java.util.ArrayList
StackMap stack:
aload 2
monitorexit
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
6: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 7 1 listener Ljavax/sound/midi/MetaEventListener;
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
listener
public void removeMetaEventListener(javax.sound.midi.MetaEventListener);
descriptor: (Ljavax/sound/midi/MetaEventListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.metaEventListeners:Ljava/util/ArrayList;
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.metaEventListeners:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
istore 3
start local 3 2: iload 3
iflt 4
3: aload 0
getfield com.sun.media.sound.RealTimeSequencer.metaEventListeners:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
end local 3 4: StackMap locals: java.util.ArrayList
StackMap stack:
aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 9 1 listener Ljavax/sound/midi/MetaEventListener;
2 4 3 index I
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
listener
public int[] addControllerEventListener(javax.sound.midi.ControllerEventListener, int[]);
descriptor: (Ljavax/sound/midi/ControllerEventListener;[I)[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
dup
astore 3
monitorenter
1: aconst_null
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 11
5: StackMap locals: com.sun.media.sound.RealTimeSequencer javax.sound.midi.ControllerEventListener int[] java.util.ArrayList com.sun.media.sound.RealTimeSequencer$ControllerListElement int int
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.sun.media.sound.RealTimeSequencer$ControllerListElement
astore 4
6: aload 4
getfield com.sun.media.sound.RealTimeSequencer$ControllerListElement.listener:Ljavax/sound/midi/ControllerEventListener;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
7: aload 4
aload 2
invokevirtual com.sun.media.sound.RealTimeSequencer$ControllerListElement.addControllers:([I)V
8: iconst_1
istore 5
9: goto 12
10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 5
end local 6 12: StackMap locals:
StackMap stack:
iload 5
ifne 15
13: new com.sun.media.sound.RealTimeSequencer$ControllerListElement
dup
aload 0
aload 1
aload 2
invokespecial com.sun.media.sound.RealTimeSequencer$ControllerListElement.<init>:(Lcom/sun/media/sound/RealTimeSequencer;Ljavax/sound/midi/ControllerEventListener;[I)V
astore 4
14: aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.sun.media.sound.RealTimeSequencer$ControllerListElement.getControllers:()[I
aload 3
monitorexit
16: areturn
end local 5 end local 4 17: StackMap locals: com.sun.media.sound.RealTimeSequencer javax.sound.midi.ControllerEventListener int[] java.util.ArrayList
StackMap stack: java.lang.Throwable
aload 3
monitorexit
18: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 19 1 listener Ljavax/sound/midi/ControllerEventListener;
0 19 2 controllers [I
2 17 4 cve Lcom/sun/media/sound/RealTimeSequencer$ControllerListElement;
3 17 5 flag Z
4 12 6 i I
Exception table:
from to target type
1 16 17 any
17 18 17 any
MethodParameters:
Name Flags
listener
controllers
public int[] removeControllerEventListener(javax.sound.midi.ControllerEventListener, int[]);
descriptor: (Ljavax/sound/midi/ControllerEventListener;[I)[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
dup
astore 3
monitorenter
1: aconst_null
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 11
5: StackMap locals: com.sun.media.sound.RealTimeSequencer javax.sound.midi.ControllerEventListener int[] java.util.ArrayList com.sun.media.sound.RealTimeSequencer$ControllerListElement int int
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.sun.media.sound.RealTimeSequencer$ControllerListElement
astore 4
6: aload 4
getfield com.sun.media.sound.RealTimeSequencer$ControllerListElement.listener:Ljavax/sound/midi/ControllerEventListener;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
7: aload 4
aload 2
invokevirtual com.sun.media.sound.RealTimeSequencer$ControllerListElement.removeControllers:([I)V
8: iconst_1
istore 5
9: goto 12
10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 5
end local 6 12: StackMap locals:
StackMap stack:
iload 5
ifne 15
13: iconst_0
newarray 10
aload 3
monitorexit
14: areturn
15: StackMap locals:
StackMap stack:
aload 2
ifnonnull 21
16: aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
aload 4
invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
istore 6
start local 6 17: iload 6
iflt 19
18: aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
iload 6
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
19: StackMap locals: int
StackMap stack:
iconst_0
newarray 10
aload 3
monitorexit
20: areturn
end local 6 21: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.sun.media.sound.RealTimeSequencer$ControllerListElement.getControllers:()[I
aload 3
monitorexit
22: areturn
end local 5 end local 4 23: StackMap locals: com.sun.media.sound.RealTimeSequencer javax.sound.midi.ControllerEventListener int[] java.util.ArrayList
StackMap stack: java.lang.Throwable
aload 3
monitorexit
24: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 25 1 listener Ljavax/sound/midi/ControllerEventListener;
0 25 2 controllers [I
2 23 4 cve Lcom/sun/media/sound/RealTimeSequencer$ControllerListElement;
3 23 5 flag Z
4 12 6 i I
17 21 6 index I
Exception table:
from to target type
1 14 23 any
15 20 23 any
21 22 23 any
23 24 23 any
MethodParameters:
Name Flags
listener
controllers
public void setLoopStartPoint(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: lload 1
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTickLength:()J
lcmp
ifgt 3
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.loopEnd:J
ldc -1
lcmp
ifeq 2
lload 1
aload 0
getfield com.sun.media.sound.RealTimeSequencer.loopEnd:J
lcmp
ifgt 3
2: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifge 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid loop start point: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield com.sun.media.sound.RealTimeSequencer.loopStart:J
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 6 1 tick J
MethodParameters:
Name Flags
tick
public long getLoopStartPoint();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.loopStart:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
public void setLoopEndPoint(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: lload 1
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTickLength:()J
lcmp
ifgt 3
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.loopStart:J
lload 1
lcmp
ifle 2
lload 1
ldc -1
lcmp
ifne 3
2: StackMap locals:
StackMap stack:
lload 1
ldc -1
lcmp
ifge 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid loop end point: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield com.sun.media.sound.RealTimeSequencer.loopEnd:J
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 6 1 tick J
MethodParameters:
Name Flags
tick
public long getLoopEndPoint();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.loopEnd:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
public void setLoopCount(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_m1
if_icmpeq 3
1: iload 1
ifge 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "illegal value for loop count: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.sun.media.sound.RealTimeSequencer.loopCount:I
4: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
ifnull 6
5: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
invokevirtual com.sun.media.sound.RealTimeSequencer$DataPump.resetLoopCount:()V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 7 1 count I
MethodParameters:
Name Flags
count
public int getLoopCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.loopCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
protected void implOpen();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new com.sun.media.sound.RealTimeSequencer$PlayThread
dup
aload 0
invokespecial com.sun.media.sound.RealTimeSequencer$PlayThread.<init>:(Lcom/sun/media/sound/RealTimeSequencer;)V
putfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnull 3
2: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
invokevirtual com.sun.media.sound.RealTimeSequencer$PlayThread.setSequence:(Ljavax/sound/midi/Sequence;)V
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.propagateCaches:()V
4: aload 0
getfield com.sun.media.sound.RealTimeSequencer.doAutoConnectAtNextOpen:Z
ifeq 6
5: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.doAutoConnect:()V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/RealTimeSequencer;
Exceptions:
throws javax.sound.midi.MidiUnavailableException
private void doAutoConnect();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: invokestatic javax.sound.midi.MidiSystem.getSynthesizer:()Ljavax/sound/midi/Synthesizer;
astore 2
start local 2 2: aload 2
instanceof com.sun.media.sound.ReferenceCountingDevice
ifeq 5
3: aload 2
checkcast com.sun.media.sound.ReferenceCountingDevice
invokeinterface com.sun.media.sound.ReferenceCountingDevice.getReceiverReferenceCounting:()Ljavax/sound/midi/Receiver;
astore 1
4: goto 16
5: StackMap locals: javax.sound.midi.Receiver javax.sound.midi.Synthesizer
StackMap stack:
aload 2
invokeinterface javax.sound.midi.Synthesizer.open:()V
6: aload 2
invokeinterface javax.sound.midi.Synthesizer.getReceiver:()Ljavax/sound/midi/Receiver;
astore 1
7: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 3
9: aload 1
ifnonnull 11
10: aload 2
invokeinterface javax.sound.midi.Synthesizer.close:()V
11: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
12: StackMap locals:
StackMap stack:
aload 1
ifnonnull 16
13: aload 2
invokeinterface javax.sound.midi.Synthesizer.close:()V
end local 2 14: goto 16
StackMap locals: com.sun.media.sound.RealTimeSequencer javax.sound.midi.Receiver
StackMap stack: java.lang.Exception
15: pop
16: StackMap locals:
StackMap stack:
aload 1
ifnonnull 20
17: invokestatic javax.sound.midi.MidiSystem.getReceiver:()Ljavax/sound/midi/Receiver;
astore 1
18: goto 20
StackMap locals:
StackMap stack: java.lang.Exception
19: pop
20: StackMap locals:
StackMap stack:
aload 1
ifnull 25
21: aload 0
aload 1
putfield com.sun.media.sound.RealTimeSequencer.autoConnectedReceiver:Ljavax/sound/midi/Receiver;
22: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTransmitter:()Ljavax/sound/midi/Transmitter;
aload 1
invokeinterface javax.sound.midi.Transmitter.setReceiver:(Ljavax/sound/midi/Receiver;)V
23: goto 25
StackMap locals:
StackMap stack: java.lang.Exception
24: pop
25: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/media/sound/RealTimeSequencer;
1 26 1 rec Ljavax/sound/midi/Receiver;
2 14 2 synth Ljavax/sound/midi/Synthesizer;
Exception table:
from to target type
6 8 8 any
1 14 15 Class java.lang.Exception
17 18 19 Class java.lang.Exception
22 23 24 Class java.lang.Exception
private synchronized void propagateCaches();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnull 7
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.isOpen:()Z
ifeq 7
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.cacheTempoFactor:F
ldc -1.0
fcmpl
ifeq 3
2: aload 0
aload 0
getfield com.sun.media.sound.RealTimeSequencer.cacheTempoFactor:F
invokevirtual com.sun.media.sound.RealTimeSequencer.setTempoFactor:(F)V
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.cacheTempoMPQ:D
ldc -1.0
dcmpl
ifne 6
4: aload 0
new com.sun.media.sound.MidiUtils$TempoCache
dup
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
invokespecial com.sun.media.sound.MidiUtils$TempoCache.<init>:(Ljavax/sound/midi/Sequence;)V
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTickPosition:()J
invokevirtual com.sun.media.sound.MidiUtils$TempoCache.getTempoMPQAt:(J)F
invokevirtual com.sun.media.sound.RealTimeSequencer.setTempoInMPQ:(F)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.media.sound.RealTimeSequencer.cacheTempoMPQ:D
d2f
invokevirtual com.sun.media.sound.RealTimeSequencer.setTempoInMPQ:(F)V
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/RealTimeSequencer;
private synchronized void setCaches();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTempoFactor:()F
putfield com.sun.media.sound.RealTimeSequencer.cacheTempoFactor:F
1: aload 0
aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.getTempoInMPQ:()F
f2d
putfield com.sun.media.sound.RealTimeSequencer.cacheTempoMPQ:D
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/RealTimeSequencer;
protected synchronized void implClose();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
ifnonnull 2
1: goto 4
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
invokevirtual com.sun.media.sound.RealTimeSequencer$PlayThread.close:()V
3: aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
4: StackMap locals:
StackMap stack:
aload 0
invokespecial com.sun.media.sound.AbstractMidiDevice.implClose:()V
5: aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
6: aload 0
iconst_0
putfield com.sun.media.sound.RealTimeSequencer.running:Z
7: aload 0
ldc -1.0
putfield com.sun.media.sound.RealTimeSequencer.cacheTempoMPQ:D
8: aload 0
ldc -1.0
putfield com.sun.media.sound.RealTimeSequencer.cacheTempoFactor:F
9: aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.trackMuted:[Z
10: aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.trackSolo:[Z
11: aload 0
lconst_0
putfield com.sun.media.sound.RealTimeSequencer.loopStart:J
12: aload 0
ldc -1
putfield com.sun.media.sound.RealTimeSequencer.loopEnd:J
13: aload 0
iconst_0
putfield com.sun.media.sound.RealTimeSequencer.loopCount:I
14: aload 0
aload 0
getfield com.sun.media.sound.RealTimeSequencer.autoConnect:Z
putfield com.sun.media.sound.RealTimeSequencer.doAutoConnectAtNextOpen:Z
15: aload 0
getfield com.sun.media.sound.RealTimeSequencer.autoConnectedReceiver:Ljavax/sound/midi/Receiver;
ifnull 20
16: aload 0
getfield com.sun.media.sound.RealTimeSequencer.autoConnectedReceiver:Ljavax/sound/midi/Receiver;
invokeinterface javax.sound.midi.Receiver.close:()V
17: goto 19
StackMap locals:
StackMap stack: java.lang.Exception
18: pop
19: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.media.sound.RealTimeSequencer.autoConnectedReceiver:Ljavax/sound/midi/Receiver;
20: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/media/sound/RealTimeSequencer;
Exception table:
from to target type
16 17 18 Class java.lang.Exception
void implStart();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.tempoCache:Lcom/sun/media/sound/MidiUtils$TempoCache;
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
invokevirtual com.sun.media.sound.MidiUtils$TempoCache.refresh:(Ljavax/sound/midi/Sequence;)V
3: aload 0
getfield com.sun.media.sound.RealTimeSequencer.running:Z
ifne 6
4: aload 0
iconst_1
putfield com.sun.media.sound.RealTimeSequencer.running:Z
5: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
invokevirtual com.sun.media.sound.RealTimeSequencer$PlayThread.start:()V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/RealTimeSequencer;
void implStop();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.media.sound.RealTimeSequencer.recording:Z
3: aload 0
getfield com.sun.media.sound.RealTimeSequencer.running:Z
ifeq 6
4: aload 0
iconst_0
putfield com.sun.media.sound.RealTimeSequencer.running:Z
5: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
invokevirtual com.sun.media.sound.RealTimeSequencer$PlayThread.stop:()V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/RealTimeSequencer;
private static com.sun.media.sound.EventDispatcher getEventDispatcher();
descriptor: ()Lcom/sun/media/sound/EventDispatcher;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
astore 0
start local 0 1: getstatic com.sun.media.sound.RealTimeSequencer.dispatchers:Ljava/util/Map;
dup
astore 1
monitorenter
2: getstatic com.sun.media.sound.RealTimeSequencer.dispatchers:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.media.sound.EventDispatcher
astore 2
start local 2 3: aload 2
ifnonnull 7
4: new com.sun.media.sound.EventDispatcher
dup
invokespecial com.sun.media.sound.EventDispatcher.<init>:()V
astore 2
5: getstatic com.sun.media.sound.RealTimeSequencer.dispatchers:Ljava/util/Map;
aload 0
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 2
invokevirtual com.sun.media.sound.EventDispatcher.start:()V
7: StackMap locals: java.lang.ThreadGroup java.util.Map com.sun.media.sound.EventDispatcher
StackMap stack:
aload 2
aload 1
monitorexit
8: areturn
end local 2 9: StackMap locals: java.lang.ThreadGroup java.util.Map
StackMap stack: java.lang.Throwable
aload 1
monitorexit
10: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 11 0 tg Ljava/lang/ThreadGroup;
3 9 2 eventDispatcher Lcom/sun/media/sound/EventDispatcher;
Exception table:
from to target type
2 8 9 any
9 10 9 any
void sendMetaEvents(javax.sound.midi.MidiMessage);
descriptor: (Ljavax/sound/midi/MidiMessage;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.metaEventListeners:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifne 1
return
1: StackMap locals:
StackMap stack:
invokestatic com.sun.media.sound.RealTimeSequencer.getEventDispatcher:()Lcom/sun/media/sound/EventDispatcher;
aload 1
aload 0
getfield com.sun.media.sound.RealTimeSequencer.metaEventListeners:Ljava/util/ArrayList;
invokevirtual com.sun.media.sound.EventDispatcher.sendAudioEvents:(Ljava/lang/Object;Ljava/util/List;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 3 1 message Ljavax/sound/midi/MidiMessage;
MethodParameters:
Name Flags
message
void sendControllerEvents(javax.sound.midi.MidiMessage);
descriptor: (Ljavax/sound/midi/MidiMessage;)V
flags: (0x0000)
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 1: iload 2
ifne 2
return
2: StackMap locals: int
StackMap stack:
aload 1
instanceof javax.sound.midi.ShortMessage
ifne 4
3: return
4: StackMap locals:
StackMap stack:
aload 1
checkcast javax.sound.midi.ShortMessage
astore 3
start local 3 5: aload 3
invokevirtual javax.sound.midi.ShortMessage.getData1:()I
istore 4
start local 4 6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 18
9: StackMap locals: com.sun.media.sound.RealTimeSequencer javax.sound.midi.MidiMessage int javax.sound.midi.ShortMessage int java.util.List int
StackMap stack:
aload 0
getfield com.sun.media.sound.RealTimeSequencer.controllerEventListeners:Ljava/util/ArrayList;
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.sun.media.sound.RealTimeSequencer$ControllerListElement
astore 7
start local 7 10: iconst_0
istore 8
start local 8 11: goto 16
12: StackMap locals: com.sun.media.sound.RealTimeSequencer$ControllerListElement int
StackMap stack:
aload 7
getfield com.sun.media.sound.RealTimeSequencer$ControllerListElement.controllers:[I
iload 8
iaload
iload 4
if_icmpne 15
13: aload 5
aload 7
getfield com.sun.media.sound.RealTimeSequencer$ControllerListElement.listener:Ljavax/sound/midi/ControllerEventListener;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: goto 17
15: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
16: iload 8
aload 7
getfield com.sun.media.sound.RealTimeSequencer$ControllerListElement.controllers:[I
arraylength
if_icmplt 12
end local 8 end local 7 17: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
iload 2
if_icmplt 9
end local 6 19: invokestatic com.sun.media.sound.RealTimeSequencer.getEventDispatcher:()Lcom/sun/media/sound/EventDispatcher;
aload 1
aload 5
invokevirtual com.sun.media.sound.EventDispatcher.sendAudioEvents:(Ljava/lang/Object;Ljava/util/List;)V
20: return
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 21 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 21 1 message Ljavax/sound/midi/MidiMessage;
1 21 2 size I
5 21 3 msg Ljavax/sound/midi/ShortMessage;
6 21 4 controller I
7 21 5 sendToListeners Ljava/util/List<Ljava/lang/Object;>;
8 19 6 i I
10 17 7 cve Lcom/sun/media/sound/RealTimeSequencer$ControllerListElement;
11 17 8 j I
MethodParameters:
Name Flags
message
private boolean needCaching();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.RealTimeSequencer.isOpen:()Z
ifeq 1
aload 0
getfield com.sun.media.sound.RealTimeSequencer.sequence:Ljavax/sound/midi/Sequence;
ifnull 1
aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
ifnull 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/RealTimeSequencer;
private com.sun.media.sound.RealTimeSequencer$DataPump getDataPump();
descriptor: ()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
ifnull 2
1: aload 0
getfield com.sun.media.sound.RealTimeSequencer.playThread:Lcom/sun/media/sound/RealTimeSequencer$PlayThread;
invokevirtual com.sun.media.sound.RealTimeSequencer$PlayThread.getDataPump:()Lcom/sun/media/sound/RealTimeSequencer$DataPump;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/RealTimeSequencer;
private com.sun.media.sound.MidiUtils$TempoCache getTempoCache();
descriptor: ()Lcom/sun/media/sound/MidiUtils$TempoCache;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.RealTimeSequencer.tempoCache:Lcom/sun/media/sound/MidiUtils$TempoCache;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
private static boolean[] ensureBoolArraySize(boolean[], int);
descriptor: ([ZI)[Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: iload 1
newarray 4
areturn
2: StackMap locals:
StackMap stack:
aload 0
arraylength
iload 1
if_icmpge 6
3: iload 1
newarray 4
astore 2
start local 2 4: aload 0
iconst_0
aload 2
iconst_0
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 2
areturn
end local 2 6: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 array [Z
0 7 1 desiredSize I
4 6 2 newArray [Z
MethodParameters:
Name Flags
array
desiredSize
protected boolean hasReceivers();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
protected javax.sound.midi.Receiver createReceiver();
descriptor: ()Ljavax/sound/midi/Receiver;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.sun.media.sound.RealTimeSequencer$SequencerReceiver
dup
aload 0
invokespecial com.sun.media.sound.RealTimeSequencer$SequencerReceiver.<init>:(Lcom/sun/media/sound/RealTimeSequencer;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
Exceptions:
throws javax.sound.midi.MidiUnavailableException
protected boolean hasTransmitters();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
protected javax.sound.midi.Transmitter createTransmitter();
descriptor: ()Ljavax/sound/midi/Transmitter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.sun.media.sound.RealTimeSequencer$SequencerTransmitter
dup
aload 0
invokespecial com.sun.media.sound.RealTimeSequencer$SequencerTransmitter.<init>:(Lcom/sun/media/sound/RealTimeSequencer;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/RealTimeSequencer;
Exceptions:
throws javax.sound.midi.MidiUnavailableException
public void setAutoConnect(javax.sound.midi.Receiver);
descriptor: (Ljavax/sound/midi/Receiver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack: com.sun.media.sound.RealTimeSequencer
1: iconst_0
StackMap locals: com.sun.media.sound.RealTimeSequencer javax.sound.midi.Receiver
StackMap stack: com.sun.media.sound.RealTimeSequencer int
2: putfield com.sun.media.sound.RealTimeSequencer.autoConnect:Z
3: aload 0
aload 1
putfield com.sun.media.sound.RealTimeSequencer.autoConnectedReceiver:Ljavax/sound/midi/Receiver;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/media/sound/RealTimeSequencer;
0 5 1 autoConnectedReceiver Ljavax/sound/midi/Receiver;
MethodParameters:
Name Flags
autoConnectedReceiver
}
SourceFile: "RealTimeSequencer.java"
NestMembers:
com.sun.media.sound.RealTimeSequencer$ControllerListElement com.sun.media.sound.RealTimeSequencer$DataPump com.sun.media.sound.RealTimeSequencer$PlayThread com.sun.media.sound.RealTimeSequencer$RealTimeSequencerInfo com.sun.media.sound.RealTimeSequencer$RecordingTrack com.sun.media.sound.RealTimeSequencer$SequencerReceiver com.sun.media.sound.RealTimeSequencer$SequencerTransmitter
InnerClasses:
public final TempoCache = com.sun.media.sound.MidiUtils$TempoCache of com.sun.media.sound.MidiUtils
private ControllerListElement = com.sun.media.sound.RealTimeSequencer$ControllerListElement of com.sun.media.sound.RealTimeSequencer
private DataPump = com.sun.media.sound.RealTimeSequencer$DataPump of com.sun.media.sound.RealTimeSequencer
final PlayThread = com.sun.media.sound.RealTimeSequencer$PlayThread of com.sun.media.sound.RealTimeSequencer
private RealTimeSequencerInfo = com.sun.media.sound.RealTimeSequencer$RealTimeSequencerInfo of com.sun.media.sound.RealTimeSequencer
RecordingTrack = com.sun.media.sound.RealTimeSequencer$RecordingTrack of com.sun.media.sound.RealTimeSequencer
final SequencerReceiver = com.sun.media.sound.RealTimeSequencer$SequencerReceiver of com.sun.media.sound.RealTimeSequencer
private SequencerTransmitter = com.sun.media.sound.RealTimeSequencer$SequencerTransmitter of com.sun.media.sound.RealTimeSequencer
public Info = javax.sound.midi.MidiDevice$Info of javax.sound.midi.MidiDevice
public SyncMode = javax.sound.midi.Sequencer$SyncMode of javax.sound.midi.Sequencer