final class com.sun.media.sound.MidiOutDevice extends com.sun.media.sound.AbstractMidiDevice
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.MidiOutDevice
super_class: com.sun.media.sound.AbstractMidiDevice
{
void <init>(com.sun.media.sound.AbstractMidiDeviceProvider$Info);
descriptor: (Lcom/sun/media/sound/AbstractMidiDeviceProvider$Info;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.sun.media.sound.AbstractMidiDevice.<init>:(Ljavax/sound/midi/MidiDevice$Info;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/MidiOutDevice;
0 2 1 info Lcom/sun/media/sound/AbstractMidiDeviceProvider$Info;
MethodParameters:
Name Flags
info
protected synchronized void implOpen();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.MidiOutDevice.getDeviceInfo:()Ljavax/sound/midi/MidiDevice$Info;
checkcast com.sun.media.sound.AbstractMidiDeviceProvider$Info
invokevirtual com.sun.media.sound.AbstractMidiDeviceProvider$Info.getIndex:()I
istore 1
start local 1 1: aload 0
aload 0
iload 1
invokevirtual com.sun.media.sound.MidiOutDevice.nOpen:(I)J
putfield com.sun.media.sound.MidiOutDevice.id:J
2: aload 0
getfield com.sun.media.sound.MidiOutDevice.id:J
lconst_0
lcmp
ifne 4
3: new javax.sound.midi.MidiUnavailableException
dup
ldc "Unable to open native device"
invokespecial javax.sound.midi.MidiUnavailableException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/media/sound/MidiOutDevice;
1 5 1 index I
Exceptions:
throws javax.sound.midi.MidiUnavailableException
protected synchronized void implClose();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.MidiOutDevice.id:J
lstore 1
start local 1 1: aload 0
lconst_0
putfield com.sun.media.sound.MidiOutDevice.id:J
2: aload 0
invokespecial com.sun.media.sound.AbstractMidiDevice.implClose:()V
3: aload 0
lload 1
invokevirtual com.sun.media.sound.MidiOutDevice.nClose:(J)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/media/sound/MidiOutDevice;
1 5 1 oldId J
public long getMicrosecondPosition();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: ldc -1
lstore 1
start local 1 1: aload 0
invokevirtual com.sun.media.sound.MidiOutDevice.isOpen:()Z
ifeq 3
2: aload 0
aload 0
getfield com.sun.media.sound.MidiOutDevice.id:J
invokevirtual com.sun.media.sound.MidiOutDevice.nGetTimeStamp:(J)J
lstore 1
3: StackMap locals: long
StackMap stack:
lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/media/sound/MidiOutDevice;
1 4 1 timestamp J
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/MidiOutDevice;
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.MidiOutDevice$MidiOutReceiver
dup
aload 0
invokespecial com.sun.media.sound.MidiOutDevice$MidiOutReceiver.<init>:(Lcom/sun/media/sound/MidiOutDevice;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/MidiOutDevice;
private native long nOpen(int);
descriptor: (I)J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Exceptions:
throws javax.sound.midi.MidiUnavailableException
MethodParameters:
Name Flags
index
private native void nClose(long);
descriptor: (J)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
id
private native void nSendShortMessage(long, int, long);
descriptor: (JIJ)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
id
packedMsg
timeStamp
private native void nSendLongMessage(long, byte[], int, long);
descriptor: (J[BIJ)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
id
data
size
timeStamp
private native long nGetTimeStamp(long);
descriptor: (J)J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
id
}
SourceFile: "MidiOutDevice.java"
NestMembers:
com.sun.media.sound.MidiOutDevice$MidiOutReceiver
InnerClasses:
Info = com.sun.media.sound.AbstractMidiDeviceProvider$Info of com.sun.media.sound.AbstractMidiDeviceProvider
final MidiOutReceiver = com.sun.media.sound.MidiOutDevice$MidiOutReceiver of com.sun.media.sound.MidiOutDevice
public Info = javax.sound.midi.MidiDevice$Info of javax.sound.midi.MidiDevice