public final class com.sun.media.sound.SoftChannel implements javax.sound.midi.MidiChannel, com.sun.media.sound.ModelDirectedPlayer
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.media.sound.SoftChannel
  super_class: java.lang.Object
{
  private static boolean[] dontResetControls;
    descriptor: [Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final int RPN_NULL_VALUE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16383

  private int rpn_control;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int nrpn_control;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  double portamento_time;
    descriptor: D
    flags: (0x0000) 

  int[] portamento_lastnote;
    descriptor: [I
    flags: (0x0000) 

  int portamento_lastnote_ix;
    descriptor: I
    flags: (0x0000) 

  private boolean portamento;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mono;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mute;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean solo;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean solomute;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.Object control_mutex;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int channel;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.sun.media.sound.SoftVoice[] voices;
    descriptor: [Lcom/sun/media/sound/SoftVoice;
    flags: (0x0002) ACC_PRIVATE

  private int bank;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int program;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.sun.media.sound.SoftSynthesizer synthesizer;
    descriptor: Lcom/sun/media/sound/SoftSynthesizer;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.media.sound.SoftMainMixer mainmixer;
    descriptor: Lcom/sun/media/sound/SoftMainMixer;
    flags: (0x0002) ACC_PRIVATE

  private int[] polypressure;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int channelpressure;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int[] controller;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int pitchbend;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private double[] co_midi_pitch;
    descriptor: [D
    flags: (0x0002) ACC_PRIVATE

  private double[] co_midi_channel_pressure;
    descriptor: [D
    flags: (0x0002) ACC_PRIVATE

  com.sun.media.sound.SoftTuning tuning;
    descriptor: Lcom/sun/media/sound/SoftTuning;
    flags: (0x0000) 

  int tuning_bank;
    descriptor: I
    flags: (0x0000) 

  int tuning_program;
    descriptor: I
    flags: (0x0000) 

  com.sun.media.sound.SoftInstrument current_instrument;
    descriptor: Lcom/sun/media/sound/SoftInstrument;
    flags: (0x0000) 

  com.sun.media.sound.ModelChannelMixer current_mixer;
    descriptor: Lcom/sun/media/sound/ModelChannelMixer;
    flags: (0x0000) 

  com.sun.media.sound.ModelDirector current_director;
    descriptor: Lcom/sun/media/sound/ModelDirector;
    flags: (0x0000) 

  int cds_control_number;
    descriptor: I
    flags: (0x0000) 

  com.sun.media.sound.ModelConnectionBlock[] cds_control_connections;
    descriptor: [Lcom/sun/media/sound/ModelConnectionBlock;
    flags: (0x0000) 

  com.sun.media.sound.ModelConnectionBlock[] cds_channelpressure_connections;
    descriptor: [Lcom/sun/media/sound/ModelConnectionBlock;
    flags: (0x0000) 

  com.sun.media.sound.ModelConnectionBlock[] cds_polypressure_connections;
    descriptor: [Lcom/sun/media/sound/ModelConnectionBlock;
    flags: (0x0000) 

  boolean sustain;
    descriptor: Z
    flags: (0x0000) 

  boolean[][] keybasedcontroller_active;
    descriptor: [[Z
    flags: (0x0000) 

  double[][] keybasedcontroller_value;
    descriptor: [[D
    flags: (0x0000) 

  private com.sun.media.sound.SoftControl[] co_midi;
    descriptor: [Lcom/sun/media/sound/SoftControl;
    flags: (0x0002) ACC_PRIVATE

  private double[][] co_midi_cc_cc;
    descriptor: [[D
    flags: (0x0002) ACC_PRIVATE

  private com.sun.media.sound.SoftControl co_midi_cc;
    descriptor: Lcom/sun/media/sound/SoftControl;
    flags: (0x0002) ACC_PRIVATE

  java.util.Map<java.lang.Integer, int[]> co_midi_rpn_rpn_i;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/Integer;[I>;

  java.util.Map<java.lang.Integer, double[]> co_midi_rpn_rpn;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/Integer;[D>;

  private com.sun.media.sound.SoftControl co_midi_rpn;
    descriptor: Lcom/sun/media/sound/SoftControl;
    flags: (0x0002) ACC_PRIVATE

  java.util.Map<java.lang.Integer, int[]> co_midi_nrpn_nrpn_i;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/Integer;[I>;

  java.util.Map<java.lang.Integer, double[]> co_midi_nrpn_nrpn;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/Integer;[D>;

  private com.sun.media.sound.SoftControl co_midi_nrpn;
    descriptor: Lcom/sun/media/sound/SoftControl;
    flags: (0x0002) ACC_PRIVATE

  private int[] lastVelocity;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int prevVoiceID;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean firstVoice;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int voiceNo;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int play_noteNumber;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int play_velocity;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int play_delay;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean play_releasetriggered;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 44
            sipush 128
            newarray 4
            putstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
         1: .line 46
            iconst_0
            istore 0 /* i */
        start local 0 // int i
         2: goto 5
         3: .line 47
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            iload 0 /* i */
            iconst_0
            bastore
         4: .line 46
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 0 /* i */
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            arraylength
            if_icmplt 3
        end local 0 // int i
         6: .line 49
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            iconst_0
            iconst_1
            bastore
         7: .line 50
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 32
            iconst_1
            bastore
         8: .line 51
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 7
            iconst_1
            bastore
         9: .line 52
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 8
            iconst_1
            bastore
        10: .line 53
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 10
            iconst_1
            bastore
        11: .line 54
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 11
            iconst_1
            bastore
        12: .line 55
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 91
            iconst_1
            bastore
        13: .line 56
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 92
            iconst_1
            bastore
        14: .line 57
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 93
            iconst_1
            bastore
        15: .line 58
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 94
            iconst_1
            bastore
        16: .line 59
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 95
            iconst_1
            bastore
        17: .line 60
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 70
            iconst_1
            bastore
        18: .line 61
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 71
            iconst_1
            bastore
        19: .line 62
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 72
            iconst_1
            bastore
        20: .line 63
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 73
            iconst_1
            bastore
        21: .line 64
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 74
            iconst_1
            bastore
        22: .line 65
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 75
            iconst_1
            bastore
        23: .line 66
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 76
            iconst_1
            bastore
        24: .line 67
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 77
            iconst_1
            bastore
        25: .line 68
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 78
            iconst_1
            bastore
        26: .line 69
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 79
            iconst_1
            bastore
        27: .line 70
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 120
            iconst_1
            bastore
        28: .line 71
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 121
            iconst_1
            bastore
        29: .line 72
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 122
            iconst_1
            bastore
        30: .line 73
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 123
            iconst_1
            bastore
        31: .line 74
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 124
            iconst_1
            bastore
        32: .line 75
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 125
            iconst_1
            bastore
        33: .line 76
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 126
            iconst_1
            bastore
        34: .line 77
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 127
            iconst_1
            bastore
        35: .line 79
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 6
            iconst_1
            bastore
        36: .line 80
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 38
            iconst_1
            bastore
        37: .line 81
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 96
            iconst_1
            bastore
        38: .line 82
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 97
            iconst_1
            bastore
        39: .line 83
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 98
            iconst_1
            bastore
        40: .line 84
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 99
            iconst_1
            bastore
        41: .line 85
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 100
            iconst_1
            bastore
        42: .line 86
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            bipush 101
            iconst_1
            bastore
        43: .line 90
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    6     0     i  I

  private static int restrict7Bit(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int value
         0: .line 199
            iload 0 /* value */
            ifge 1
            iconst_0
            ireturn
         1: .line 200
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            bipush 127
            if_icmple 2
            bipush 127
            ireturn
         2: .line 201
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  I
    MethodParameters:
       Name  Flags
      value  

  private static int restrict14Bit(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int value
         0: .line 206
            iload 0 /* value */
            ifge 1
            iconst_0
            ireturn
         1: .line 207
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            sipush 16256
            if_icmple 2
            sipush 16256
            ireturn
         2: .line 208
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public void <init>(com.sun.media.sound.SoftSynthesizer, int);
    descriptor: (Lcom/sun/media/sound/SoftSynthesizer;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // com.sun.media.sound.SoftSynthesizer synth
        start local 2 // int channel
         0: .line 211
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 91
            aload 0 /* this */
            sipush 16383
            putfield com.sun.media.sound.SoftChannel.rpn_control:I
         2: .line 92
            aload 0 /* this */
            sipush 16383
            putfield com.sun.media.sound.SoftChannel.nrpn_control:I
         3: .line 93
            aload 0 /* this */
            dconst_1
            putfield com.sun.media.sound.SoftChannel.portamento_time:D
         4: .line 94
            aload 0 /* this */
            sipush 128
            newarray 10
            putfield com.sun.media.sound.SoftChannel.portamento_lastnote:[I
         5: .line 95
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.portamento_lastnote_ix:I
         6: .line 96
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.portamento:Z
         7: .line 97
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.mono:Z
         8: .line 98
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.mute:Z
         9: .line 99
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.solo:Z
        10: .line 100
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.solomute:Z
        11: .line 108
            aload 0 /* this */
            sipush 128
            newarray 10
            putfield com.sun.media.sound.SoftChannel.polypressure:[I
        12: .line 109
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.channelpressure:I
        13: .line 110
            aload 0 /* this */
            sipush 128
            newarray 10
            putfield com.sun.media.sound.SoftChannel.controller:[I
        14: .line 112
            aload 0 /* this */
            iconst_1
            newarray 7
            putfield com.sun.media.sound.SoftChannel.co_midi_pitch:[D
        15: .line 113
            aload 0 /* this */
            iconst_1
            newarray 7
            putfield com.sun.media.sound.SoftChannel.co_midi_channel_pressure:[D
        16: .line 114
            aload 0 /* this */
            new com.sun.media.sound.SoftTuning
            dup
            invokespecial com.sun.media.sound.SoftTuning.<init>:()V
            putfield com.sun.media.sound.SoftChannel.tuning:Lcom/sun/media/sound/SoftTuning;
        17: .line 115
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.tuning_bank:I
        18: .line 116
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.tuning_program:I
        19: .line 117
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
        20: .line 118
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
        21: .line 119
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.current_director:Lcom/sun/media/sound/ModelDirector;
        22: .line 122
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SoftChannel.cds_control_number:I
        23: .line 123
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.cds_control_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
        24: .line 124
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.cds_channelpressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
        25: .line 125
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.cds_polypressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
        26: .line 126
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.sustain:Z
        27: .line 127
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
        28: .line 128
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.keybasedcontroller_value:[[D
        29: .line 148
            aload 0 /* this */
            sipush 128
            anewarray com.sun.media.sound.SoftControl
            putfield com.sun.media.sound.SoftChannel.co_midi:[Lcom/sun/media/sound/SoftControl;
        30: .line 150
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        31: goto 34
        32: .line 151
      StackMap locals: com.sun.media.sound.SoftChannel com.sun.media.sound.SoftSynthesizer int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi:[Lcom/sun/media/sound/SoftControl;
            iload 3 /* i */
            new com.sun.media.sound.SoftChannel$MidiControlObject
            dup
            aload 0 /* this */
            invokespecial com.sun.media.sound.SoftChannel$MidiControlObject.<init>:(Lcom/sun/media/sound/SoftChannel;)V
            aastore
        33: .line 150
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi:[Lcom/sun/media/sound/SoftControl;
            arraylength
            if_icmplt 32
        end local 3 // int i
        35: .line 155
            aload 0 /* this */
            sipush 128
            iconst_1
            multianewarray [[D 2
            putfield com.sun.media.sound.SoftChannel.co_midi_cc_cc:[[D
        36: .line 156
            aload 0 /* this */
            new com.sun.media.sound.SoftChannel$1
            dup
            aload 0 /* this */
            invokespecial com.sun.media.sound.SoftChannel$1.<init>:(Lcom/sun/media/sound/SoftChannel;)V
            putfield com.sun.media.sound.SoftChannel.co_midi_cc:Lcom/sun/media/sound/SoftControl;
        37: .line 164
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.media.sound.SoftChannel.co_midi_rpn_rpn_i:Ljava/util/Map;
        38: .line 165
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.media.sound.SoftChannel.co_midi_rpn_rpn:Ljava/util/Map;
        39: .line 166
            aload 0 /* this */
            new com.sun.media.sound.SoftChannel$2
            dup
            aload 0 /* this */
            invokespecial com.sun.media.sound.SoftChannel$2.<init>:(Lcom/sun/media/sound/SoftChannel;)V
            putfield com.sun.media.sound.SoftChannel.co_midi_rpn:Lcom/sun/media/sound/SoftControl;
        40: .line 180
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.media.sound.SoftChannel.co_midi_nrpn_nrpn_i:Ljava/util/Map;
        41: .line 181
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.media.sound.SoftChannel.co_midi_nrpn_nrpn:Ljava/util/Map;
        42: .line 182
            aload 0 /* this */
            new com.sun.media.sound.SoftChannel$3
            dup
            aload 0 /* this */
            invokespecial com.sun.media.sound.SoftChannel$3.<init>:(Lcom/sun/media/sound/SoftChannel;)V
            putfield com.sun.media.sound.SoftChannel.co_midi_nrpn:Lcom/sun/media/sound/SoftControl;
        43: .line 619
            aload 0 /* this */
            sipush 128
            newarray 10
            putfield com.sun.media.sound.SoftChannel.lastVelocity:[I
        44: .line 621
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SoftChannel.firstVoice:Z
        45: .line 622
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.voiceNo:I
        46: .line 623
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.play_noteNumber:I
        47: .line 624
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.play_velocity:I
        48: .line 625
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.play_delay:I
        49: .line 626
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.play_releasetriggered:Z
        50: .line 212
            aload 0 /* this */
            iload 2 /* channel */
            putfield com.sun.media.sound.SoftChannel.channel:I
        51: .line 213
            aload 0 /* this */
            aload 1 /* synth */
            invokevirtual com.sun.media.sound.SoftSynthesizer.getVoices:()[Lcom/sun/media/sound/SoftVoice;
            putfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
        52: .line 214
            aload 0 /* this */
            aload 1 /* synth */
            putfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
        53: .line 215
            aload 0 /* this */
            aload 1 /* synth */
            invokevirtual com.sun.media.sound.SoftSynthesizer.getMainMixer:()Lcom/sun/media/sound/SoftMainMixer;
            putfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
        54: .line 216
            aload 0 /* this */
            aload 1 /* synth */
            getfield com.sun.media.sound.SoftSynthesizer.control_mutex:Ljava/lang/Object;
            putfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
        55: .line 217
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.media.sound.SoftChannel.resetAllControllers:(Z)V
        56: .line 218
            return
        end local 2 // int channel
        end local 1 // com.sun.media.sound.SoftSynthesizer synth
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   57     0     this  Lcom/sun/media/sound/SoftChannel;
            0   57     1    synth  Lcom/sun/media/sound/SoftSynthesizer;
            0   57     2  channel  I
           31   35     3        i  I
    MethodParameters:
         Name  Flags
      synth    
      channel  

  private int findFreeVoice(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int x
         0: .line 221
            iload 1 /* x */
            iconst_m1
            if_icmpne 2
         1: .line 228
            iconst_m1
            ireturn
         2: .line 230
      StackMap locals:
      StackMap stack:
            iload 1 /* x */
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 231
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 2 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifne 6
         5: .line 232
            iload 2 /* i */
            ireturn
         6: .line 230
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 4
        end local 2 // int i
         8: .line 236
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            invokevirtual com.sun.media.sound.SoftSynthesizer.getVoiceAllocationMode:()I
            istore 2 /* vmode */
        start local 2 // int vmode
         9: .line 237
            iload 2 /* vmode */
            iconst_1
            if_icmpne 50
        10: .line 242
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            istore 3 /* steal_channel */
        start local 3 // int steal_channel
        11: .line 243
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        12: goto 21
        13: .line 244
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.stealer_channel:Lcom/sun/media/sound/SoftChannel;
            ifnonnull 20
        14: .line 245
            iload 3 /* steal_channel */
            bipush 9
            if_icmpne 17
        15: .line 246
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            istore 3 /* steal_channel */
        16: .line 247
            goto 20
        17: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            bipush 9
            if_icmpeq 20
        18: .line 249
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            iload 3 /* steal_channel */
            if_icmple 20
        19: .line 250
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            istore 3 /* steal_channel */
        20: .line 243
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* j */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 13
        end local 4 // int j
        22: .line 256
            iconst_m1
            istore 4 /* voiceNo */
        start local 4 // int voiceNo
        23: .line 258
            aconst_null
            astore 5 /* v */
        start local 5 // com.sun.media.sound.SoftVoice v
        24: .line 260
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        25: goto 35
        26: .line 261
      StackMap locals: com.sun.media.sound.SoftVoice int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            iload 3 /* steal_channel */
            if_icmpne 34
        27: .line 262
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.stealer_channel:Lcom/sun/media/sound/SoftChannel;
            ifnonnull 34
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifne 34
        28: .line 263
            aload 5 /* v */
            ifnonnull 31
        29: .line 264
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            astore 5 /* v */
        30: .line 265
            iload 6 /* j */
            istore 4 /* voiceNo */
        31: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.voiceID:I
            aload 5 /* v */
            getfield com.sun.media.sound.SoftVoice.voiceID:I
            if_icmpge 34
        32: .line 268
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            astore 5 /* v */
        33: .line 269
            iload 6 /* j */
            istore 4 /* voiceNo */
        34: .line 260
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        35: iload 6 /* j */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 26
        end local 6 // int j
        36: .line 275
            iload 4 /* voiceNo */
            iconst_m1
            if_icmpne 49
        37: .line 276
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        38: goto 48
        39: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            iload 3 /* steal_channel */
            if_icmpne 47
        40: .line 278
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.stealer_channel:Lcom/sun/media/sound/SoftChannel;
            ifnonnull 47
        41: .line 279
            aload 5 /* v */
            ifnonnull 44
        42: .line 280
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            astore 5 /* v */
        43: .line 281
            iload 6 /* j */
            istore 4 /* voiceNo */
        44: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.voiceID:I
            aload 5 /* v */
            getfield com.sun.media.sound.SoftVoice.voiceID:I
            if_icmpge 47
        45: .line 284
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* j */
            aaload
            astore 5 /* v */
        46: .line 285
            iload 6 /* j */
            istore 4 /* voiceNo */
        47: .line 276
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        48: iload 6 /* j */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 39
        end local 6 // int j
        49: .line 292
      StackMap locals:
      StackMap stack:
            iload 4 /* voiceNo */
            ireturn
        end local 5 // com.sun.media.sound.SoftVoice v
        end local 4 // int voiceNo
        end local 3 // int steal_channel
        50: .line 301
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 3 /* voiceNo */
        start local 3 // int voiceNo
        51: .line 303
            aconst_null
            astore 4 /* v */
        start local 4 // com.sun.media.sound.SoftVoice v
        52: .line 305
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        53: goto 62
        54: .line 306
      StackMap locals: int com.sun.media.sound.SoftVoice int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.stealer_channel:Lcom/sun/media/sound/SoftChannel;
            ifnonnull 61
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifne 61
        55: .line 307
            aload 4 /* v */
            ifnonnull 58
        56: .line 308
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* j */
            aaload
            astore 4 /* v */
        57: .line 309
            iload 5 /* j */
            istore 3 /* voiceNo */
        58: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.voiceID:I
            aload 4 /* v */
            getfield com.sun.media.sound.SoftVoice.voiceID:I
            if_icmpge 61
        59: .line 312
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* j */
            aaload
            astore 4 /* v */
        60: .line 313
            iload 5 /* j */
            istore 3 /* voiceNo */
        61: .line 305
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        62: iload 5 /* j */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 54
        end local 5 // int j
        63: .line 318
            iload 3 /* voiceNo */
            iconst_m1
            if_icmpne 75
        64: .line 320
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        65: goto 74
        66: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.stealer_channel:Lcom/sun/media/sound/SoftChannel;
            ifnonnull 73
        67: .line 322
            aload 4 /* v */
            ifnonnull 70
        68: .line 323
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* j */
            aaload
            astore 4 /* v */
        69: .line 324
            iload 5 /* j */
            istore 3 /* voiceNo */
        70: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.voiceID:I
            aload 4 /* v */
            getfield com.sun.media.sound.SoftVoice.voiceID:I
            if_icmpge 73
        71: .line 327
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* j */
            aaload
            astore 4 /* v */
        72: .line 328
            iload 5 /* j */
            istore 3 /* voiceNo */
        73: .line 320
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        74: iload 5 /* j */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 66
        end local 5 // int j
        75: .line 334
      StackMap locals:
      StackMap stack:
            iload 3 /* voiceNo */
            ireturn
        end local 4 // com.sun.media.sound.SoftVoice v
        end local 3 // int voiceNo
        end local 2 // int vmode
        end local 1 // int x
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   76     0           this  Lcom/sun/media/sound/SoftChannel;
            0   76     1              x  I
            3    8     2              i  I
            9   76     2          vmode  I
           11   50     3  steal_channel  I
           12   22     4              j  I
           23   50     4        voiceNo  I
           24   50     5              v  Lcom/sun/media/sound/SoftVoice;
           25   36     6              j  I
           38   49     6              j  I
           51   76     3        voiceNo  I
           52   76     4              v  Lcom/sun/media/sound/SoftVoice;
           53   63     5              j  I
           65   75     5              j  I
    MethodParameters:
      Name  Flags
      x     

  void initVoice(com.sun.media.sound.SoftVoice, com.sun.media.sound.SoftPerformer, int, int, int, int, com.sun.media.sound.ModelConnectionBlock[], com.sun.media.sound.ModelChannelMixer, boolean);
    descriptor: (Lcom/sun/media/sound/SoftVoice;Lcom/sun/media/sound/SoftPerformer;IIII[Lcom/sun/media/sound/ModelConnectionBlock;Lcom/sun/media/sound/ModelChannelMixer;Z)V
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=10
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // com.sun.media.sound.SoftVoice voice
        start local 2 // com.sun.media.sound.SoftPerformer p
        start local 3 // int voiceID
        start local 4 // int noteNumber
        start local 5 // int velocity
        start local 6 // int delay
        start local 7 // com.sun.media.sound.ModelConnectionBlock[] connectionBlocks
        start local 8 // com.sun.media.sound.ModelChannelMixer channelmixer
        start local 9 // boolean releaseTriggered
         0: .line 342
            aload 1 /* voice */
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 16
         1: .line 344
            aload 1 /* voice */
            aload 0 /* this */
            putfield com.sun.media.sound.SoftVoice.stealer_channel:Lcom/sun/media/sound/SoftChannel;
         2: .line 345
            aload 1 /* voice */
            aload 2 /* p */
            putfield com.sun.media.sound.SoftVoice.stealer_performer:Lcom/sun/media/sound/SoftPerformer;
         3: .line 346
            aload 1 /* voice */
            iload 3 /* voiceID */
            putfield com.sun.media.sound.SoftVoice.stealer_voiceID:I
         4: .line 347
            aload 1 /* voice */
            iload 4 /* noteNumber */
            putfield com.sun.media.sound.SoftVoice.stealer_noteNumber:I
         5: .line 348
            aload 1 /* voice */
            iload 5 /* velocity */
            putfield com.sun.media.sound.SoftVoice.stealer_velocity:I
         6: .line 349
            aload 1 /* voice */
            aload 7 /* connectionBlocks */
            putfield com.sun.media.sound.SoftVoice.stealer_extendedConnectionBlocks:[Lcom/sun/media/sound/ModelConnectionBlock;
         7: .line 350
            aload 1 /* voice */
            aload 8 /* channelmixer */
            putfield com.sun.media.sound.SoftVoice.stealer_channelmixer:Lcom/sun/media/sound/ModelChannelMixer;
         8: .line 351
            aload 1 /* voice */
            iload 9 /* releaseTriggered */
            putfield com.sun.media.sound.SoftVoice.stealer_releaseTriggered:Z
         9: .line 352
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        10: goto 14
        11: .line 353
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 10 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 13
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 10 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.voiceID:I
            aload 1 /* voice */
            getfield com.sun.media.sound.SoftVoice.voiceID:I
            if_icmpne 13
        12: .line 354
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 10 /* i */
            aaload
            invokevirtual com.sun.media.sound.SoftVoice.soundOff:()V
        13: .line 352
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 10 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 11
        end local 10 // int i
        15: .line 355
            return
        16: .line 358
      StackMap locals:
      StackMap stack:
            aload 1 /* voice */
            aload 7 /* connectionBlocks */
            putfield com.sun.media.sound.SoftVoice.extendedConnectionBlocks:[Lcom/sun/media/sound/ModelConnectionBlock;
        17: .line 359
            aload 1 /* voice */
            aload 8 /* channelmixer */
            putfield com.sun.media.sound.SoftVoice.channelmixer:Lcom/sun/media/sound/ModelChannelMixer;
        18: .line 360
            aload 1 /* voice */
            iload 9 /* releaseTriggered */
            putfield com.sun.media.sound.SoftVoice.releaseTriggered:Z
        19: .line 361
            aload 1 /* voice */
            iload 3 /* voiceID */
            putfield com.sun.media.sound.SoftVoice.voiceID:I
        20: .line 362
            aload 1 /* voice */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.tuning:Lcom/sun/media/sound/SoftTuning;
            putfield com.sun.media.sound.SoftVoice.tuning:Lcom/sun/media/sound/SoftTuning;
        21: .line 363
            aload 1 /* voice */
            aload 2 /* p */
            getfield com.sun.media.sound.SoftPerformer.exclusiveClass:I
            putfield com.sun.media.sound.SoftVoice.exclusiveClass:I
        22: .line 364
            aload 1 /* voice */
            aload 0 /* this */
            putfield com.sun.media.sound.SoftVoice.softchannel:Lcom/sun/media/sound/SoftChannel;
        23: .line 365
            aload 1 /* voice */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            putfield com.sun.media.sound.SoftVoice.channel:I
        24: .line 366
            aload 1 /* voice */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.bank:I
            putfield com.sun.media.sound.SoftVoice.bank:I
        25: .line 367
            aload 1 /* voice */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.program:I
            putfield com.sun.media.sound.SoftVoice.program:I
        26: .line 368
            aload 1 /* voice */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            putfield com.sun.media.sound.SoftVoice.instrument:Lcom/sun/media/sound/SoftInstrument;
        27: .line 369
            aload 1 /* voice */
            aload 2 /* p */
            putfield com.sun.media.sound.SoftVoice.performer:Lcom/sun/media/sound/SoftPerformer;
        28: .line 370
            aload 1 /* voice */
            getfield com.sun.media.sound.SoftVoice.objects:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        29: .line 371
            aload 1 /* voice */
            getfield com.sun.media.sound.SoftVoice.objects:Ljava/util/Map;
            ldc "midi"
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi:[Lcom/sun/media/sound/SoftControl;
            iload 4 /* noteNumber */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 372
            aload 1 /* voice */
            getfield com.sun.media.sound.SoftVoice.objects:Ljava/util/Map;
            ldc "midi_cc"
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_cc:Lcom/sun/media/sound/SoftControl;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 373
            aload 1 /* voice */
            getfield com.sun.media.sound.SoftVoice.objects:Ljava/util/Map;
            ldc "midi_rpn"
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_rpn:Lcom/sun/media/sound/SoftControl;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 374
            aload 1 /* voice */
            getfield com.sun.media.sound.SoftVoice.objects:Ljava/util/Map;
            ldc "midi_nrpn"
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_nrpn:Lcom/sun/media/sound/SoftControl;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 375
            aload 1 /* voice */
            iload 4 /* noteNumber */
            iload 5 /* velocity */
            iload 6 /* delay */
            invokevirtual com.sun.media.sound.SoftVoice.noteOn:(III)V
        34: .line 376
            aload 1 /* voice */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mute:Z
            invokevirtual com.sun.media.sound.SoftVoice.setMute:(Z)V
        35: .line 377
            aload 1 /* voice */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.solomute:Z
            invokevirtual com.sun.media.sound.SoftVoice.setSoloMute:(Z)V
        36: .line 378
            iload 9 /* releaseTriggered */
            ifeq 38
        37: .line 379
            return
        38: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.controller:[I
            bipush 84
            iaload
            ifeq 47
        39: .line 381
            aload 1 /* voice */
            getfield com.sun.media.sound.SoftVoice.co_noteon_keynumber:[D
            iconst_0
        40: .line 382
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.tuning:Lcom/sun/media/sound/SoftTuning;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.controller:[I
            bipush 84
            iaload
            invokevirtual com.sun.media.sound.SoftTuning.getTuning:(I)D
            ldc 100.0
            ddiv
        41: .line 383
            ldc 0.0078125
        42: .line 382
            dmul
        43: .line 381
            dastore
        44: .line 384
            aload 1 /* voice */
            iconst_1
            putfield com.sun.media.sound.SoftVoice.portamento:Z
        45: .line 385
            aload 0 /* this */
            bipush 84
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        46: .line 386
            goto 71
      StackMap locals:
      StackMap stack:
        47: aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento:Z
            ifeq 71
        48: .line 387
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mono:Z
            ifeq 59
        49: .line 388
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote:[I
            iconst_0
            iaload
            iconst_m1
            if_icmpeq 57
        50: .line 389
            aload 1 /* voice */
            getfield com.sun.media.sound.SoftVoice.co_noteon_keynumber:[D
            iconst_0
        51: .line 390
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.tuning:Lcom/sun/media/sound/SoftTuning;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote:[I
            iconst_0
            iaload
            invokevirtual com.sun.media.sound.SoftTuning.getTuning:(I)D
            ldc 100.0
            ddiv
        52: .line 391
            ldc 0.0078125
        53: .line 390
            dmul
        54: .line 389
            dastore
        55: .line 392
            aload 1 /* voice */
            iconst_1
            putfield com.sun.media.sound.SoftVoice.portamento:Z
        56: .line 393
            aload 0 /* this */
            bipush 84
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        57: .line 395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote:[I
            iconst_0
            iload 4 /* noteNumber */
            iastore
        58: .line 396
            goto 71
        59: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote_ix:I
            ifeq 71
        60: .line 398
            aload 0 /* this */
            dup
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote_ix:I
            iconst_1
            isub
            putfield com.sun.media.sound.SoftChannel.portamento_lastnote_ix:I
        61: .line 399
            aload 1 /* voice */
            getfield com.sun.media.sound.SoftVoice.co_noteon_keynumber:[D
            iconst_0
        62: .line 400
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.tuning:Lcom/sun/media/sound/SoftTuning;
        63: .line 401
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote:[I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote_ix:I
            iaload
        64: .line 400
            invokevirtual com.sun.media.sound.SoftTuning.getTuning:(I)D
        65: .line 402
            ldc 100.0
        66: .line 400
            ddiv
        67: .line 403
            ldc 0.0078125
        68: .line 400
            dmul
        69: .line 399
            dastore
        70: .line 404
            aload 1 /* voice */
            iconst_1
            putfield com.sun.media.sound.SoftVoice.portamento:Z
        71: .line 408
      StackMap locals:
      StackMap stack:
            return
        end local 9 // boolean releaseTriggered
        end local 8 // com.sun.media.sound.ModelChannelMixer channelmixer
        end local 7 // com.sun.media.sound.ModelConnectionBlock[] connectionBlocks
        end local 6 // int delay
        end local 5 // int velocity
        end local 4 // int noteNumber
        end local 3 // int voiceID
        end local 2 // com.sun.media.sound.SoftPerformer p
        end local 1 // com.sun.media.sound.SoftVoice voice
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   72     0              this  Lcom/sun/media/sound/SoftChannel;
            0   72     1             voice  Lcom/sun/media/sound/SoftVoice;
            0   72     2                 p  Lcom/sun/media/sound/SoftPerformer;
            0   72     3           voiceID  I
            0   72     4        noteNumber  I
            0   72     5          velocity  I
            0   72     6             delay  I
            0   72     7  connectionBlocks  [Lcom/sun/media/sound/ModelConnectionBlock;
            0   72     8      channelmixer  Lcom/sun/media/sound/ModelChannelMixer;
            0   72     9  releaseTriggered  Z
           10   15    10                 i  I
    MethodParameters:
                  Name  Flags
      voice             
      p                 
      voiceID           
      noteNumber        
      velocity          
      delay             
      connectionBlocks  
      channelmixer      
      releaseTriggered  

  public void noteOn(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int noteNumber
        start local 2 // int velocity
         0: .line 411
            aload 0 /* this */
            iload 1 /* noteNumber */
            iload 2 /* velocity */
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.noteOn:(III)V
         1: .line 412
            return
        end local 2 // int velocity
        end local 1 // int noteNumber
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/sun/media/sound/SoftChannel;
            0    2     1  noteNumber  I
            0    2     2    velocity  I
    MethodParameters:
            Name  Flags
      noteNumber  
      velocity    

  void noteOn(int, int, int);
    descriptor: (III)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int noteNumber
        start local 2 // int velocity
        start local 3 // int delay
         0: .line 418
            iload 1 /* noteNumber */
            invokestatic com.sun.media.sound.SoftChannel.restrict7Bit:(I)I
            istore 1 /* noteNumber */
         1: .line 419
            iload 2 /* velocity */
            invokestatic com.sun.media.sound.SoftChannel.restrict7Bit:(I)I
            istore 2 /* velocity */
         2: .line 420
            aload 0 /* this */
            iload 1 /* noteNumber */
            iload 2 /* velocity */
            iload 3 /* delay */
            invokevirtual com.sun.media.sound.SoftChannel.noteOn_internal:(III)V
         3: .line 421
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 5
         4: .line 422
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 1 /* noteNumber */
            iload 2 /* velocity */
            invokeinterface com.sun.media.sound.ModelChannelMixer.noteOn:(II)V
         5: .line 423
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int delay
        end local 2 // int velocity
        end local 1 // int noteNumber
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/sun/media/sound/SoftChannel;
            0    6     1  noteNumber  I
            0    6     2    velocity  I
            0    6     3       delay  I
    MethodParameters:
            Name  Flags
      noteNumber  
      velocity    
      delay       

  private void noteOn_internal(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int noteNumber
        start local 2 // int velocity
        start local 3 // int delay
         0: .line 427
            iload 2 /* velocity */
            ifne 3
         1: .line 428
            aload 0 /* this */
            iload 1 /* noteNumber */
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.noteOff_internal:(II)V
         2: .line 429
            return
         3: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         4: .line 433
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.sustain:Z
            ifeq 17
         5: .line 434
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.sustain:Z
         6: .line 435
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 15
         8: .line 436
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.sustain:Z
            ifne 9
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifeq 14
         9: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 14
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 14
        10: .line 438
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.note:I
            iload 1 /* noteNumber */
            if_icmpne 14
        11: .line 439
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            iconst_0
            putfield com.sun.media.sound.SoftVoice.sustain:Z
        12: .line 440
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            iconst_1
            putfield com.sun.media.sound.SoftVoice.on:Z
        13: .line 441
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            iconst_0
            invokevirtual com.sun.media.sound.SoftVoice.noteOff:(I)V
        14: .line 435
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 8
        end local 5 // int i
        16: .line 444
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SoftChannel.sustain:Z
        17: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.activity:()V
        18: .line 449
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mono:Z
            ifeq 52
        19: .line 450
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento:Z
            ifeq 35
        20: .line 451
            iconst_0
            istore 5 /* n_found */
        start local 5 // boolean n_found
        21: .line 452
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        22: goto 30
        23: .line 453
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifeq 29
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 29
        24: .line 454
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 29
        25: .line 455
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.releaseTriggered:Z
            ifne 29
        26: .line 456
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            iconst_1
            putfield com.sun.media.sound.SoftVoice.portamento:Z
        27: .line 457
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            iload 1 /* noteNumber */
            invokevirtual com.sun.media.sound.SoftVoice.setNote:(I)V
        28: .line 458
            iconst_1
            istore 5 /* n_found */
        29: .line 452
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 6 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 23
        end local 6 // int i
        31: .line 461
            iload 5 /* n_found */
            ifeq 35
        32: .line 462
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote:[I
            iconst_0
            iload 1 /* noteNumber */
            iastore
        33: .line 463
            aload 4
            monitorexit
        34: return
        end local 5 // boolean n_found
        35: .line 467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.controller:[I
            bipush 84
            iaload
            ifeq 52
        36: .line 468
            iconst_0
            istore 5 /* n_found */
        start local 5 // boolean n_found
        37: .line 469
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        38: goto 47
        39: .line 470
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifeq 46
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 46
        40: .line 471
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 46
        41: .line 472
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.note:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.controller:[I
            bipush 84
            iaload
            if_icmpne 46
        42: .line 473
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.releaseTriggered:Z
            ifne 46
        43: .line 474
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            iconst_1
            putfield com.sun.media.sound.SoftVoice.portamento:Z
        44: .line 475
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 6 /* i */
            aaload
            iload 1 /* noteNumber */
            invokevirtual com.sun.media.sound.SoftVoice.setNote:(I)V
        45: .line 476
            iconst_1
            istore 5 /* n_found */
        46: .line 469
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 6 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 39
        end local 6 // int i
        48: .line 479
            aload 0 /* this */
            bipush 84
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        49: .line 480
            iload 5 /* n_found */
            ifeq 52
        50: .line 481
            aload 4
            monitorexit
        51: return
        end local 5 // boolean n_found
        52: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mono:Z
            ifeq 54
        53: .line 486
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftChannel.allNotesOff:()V
        54: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            ifnonnull 70
        55: .line 489
            aload 0 /* this */
        56: .line 490
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.program:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.bank:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            invokevirtual com.sun.media.sound.SoftSynthesizer.findInstrument:(III)Lcom/sun/media/sound/SoftInstrument;
        57: .line 489
            putfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
        58: .line 491
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            ifnonnull 61
        59: .line 492
            aload 4
            monitorexit
        60: return
        61: .line 493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 63
        62: .line 494
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.stopMixer:(Lcom/sun/media/sound/ModelChannelMixer;)V
        63: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            invokevirtual com.sun.media.sound.SoftInstrument.getSourceInstrument:()Lcom/sun/media/sound/ModelInstrument;
        64: .line 496
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            invokevirtual com.sun.media.sound.SoftSynthesizer.getFormat:()Ljavax/sound/sampled/AudioFormat;
            invokevirtual com.sun.media.sound.ModelInstrument.getChannelMixer:(Ljavax/sound/midi/MidiChannel;Ljavax/sound/sampled/AudioFormat;)Lcom/sun/media/sound/ModelChannelMixer;
        65: .line 495
            putfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
        66: .line 497
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 68
        67: .line 498
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.registerMixer:(Lcom/sun/media/sound/ModelChannelMixer;)V
        68: .line 499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftInstrument.getDirector:(Ljavax/sound/midi/MidiChannel;Lcom/sun/media/sound/ModelDirectedPlayer;)Lcom/sun/media/sound/ModelDirector;
            putfield com.sun.media.sound.SoftChannel.current_director:Lcom/sun/media/sound/ModelDirector;
        69: .line 500
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftChannel.applyInstrumentCustomization:()V
        70: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            dup
            getfield com.sun.media.sound.SoftSynthesizer.voiceIDCounter:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.media.sound.SoftSynthesizer.voiceIDCounter:I
            putfield com.sun.media.sound.SoftChannel.prevVoiceID:I
        71: .line 503
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SoftChannel.firstVoice:Z
        72: .line 504
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.voiceNo:I
        73: .line 506
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.tuning:Lcom/sun/media/sound/SoftTuning;
            invokevirtual com.sun.media.sound.SoftTuning.getTuning:()[D
            iload 1 /* noteNumber */
            daload
            ldc 100.0
            ddiv
            invokestatic java.lang.Math.round:(D)J
            l2i
            istore 5 /* tunedKey */
        start local 5 // int tunedKey
        74: .line 507
            aload 0 /* this */
            iload 1 /* noteNumber */
            putfield com.sun.media.sound.SoftChannel.play_noteNumber:I
        75: .line 508
            aload 0 /* this */
            iload 2 /* velocity */
            putfield com.sun.media.sound.SoftChannel.play_velocity:I
        76: .line 509
            aload 0 /* this */
            iload 3 /* delay */
            putfield com.sun.media.sound.SoftChannel.play_delay:I
        77: .line 510
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.play_releasetriggered:Z
        78: .line 511
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.lastVelocity:[I
            iload 1 /* noteNumber */
            iload 2 /* velocity */
            iastore
        79: .line 512
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_director:Lcom/sun/media/sound/ModelDirector;
            iload 5 /* tunedKey */
            iload 2 /* velocity */
            invokeinterface com.sun.media.sound.ModelDirector.noteOn:(II)V
        end local 5 // int tunedKey
        80: .line 432
            aload 4
            monitorexit
        81: goto 84
      StackMap locals:
      StackMap stack: java.lang.Throwable
        82: aload 4
            monitorexit
        83: athrow
        84: .line 545
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int delay
        end local 2 // int velocity
        end local 1 // int noteNumber
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   85     0        this  Lcom/sun/media/sound/SoftChannel;
            0   85     1  noteNumber  I
            0   85     2    velocity  I
            0   85     3       delay  I
            7   16     5           i  I
           21   35     5     n_found  Z
           22   31     6           i  I
           37   52     5     n_found  Z
           38   48     6           i  I
           74   80     5    tunedKey  I
      Exception table:
        from    to  target  type
           4    34      82  any
          35    51      82  any
          52    60      82  any
          61    81      82  any
          82    83      82  any
    MethodParameters:
            Name  Flags
      noteNumber  
      velocity    
      delay       

  public void noteOff(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int noteNumber
        start local 2 // int velocity
         0: .line 548
            iload 1 /* noteNumber */
            invokestatic com.sun.media.sound.SoftChannel.restrict7Bit:(I)I
            istore 1 /* noteNumber */
         1: .line 549
            iload 2 /* velocity */
            invokestatic com.sun.media.sound.SoftChannel.restrict7Bit:(I)I
            istore 2 /* velocity */
         2: .line 550
            aload 0 /* this */
            iload 1 /* noteNumber */
            iload 2 /* velocity */
            invokevirtual com.sun.media.sound.SoftChannel.noteOff_internal:(II)V
         3: .line 552
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 5
         4: .line 553
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 1 /* noteNumber */
            iload 2 /* velocity */
            invokeinterface com.sun.media.sound.ModelChannelMixer.noteOff:(II)V
         5: .line 554
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int velocity
        end local 1 // int noteNumber
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/sun/media/sound/SoftChannel;
            0    6     1  noteNumber  I
            0    6     2    velocity  I
    MethodParameters:
            Name  Flags
      noteNumber  
      velocity    

  private void noteOff_internal(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int noteNumber
        start local 2 // int velocity
         0: .line 557
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 559
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mono:Z
            ifne 6
         2: .line 560
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento:Z
            ifeq 6
         3: .line 561
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote_ix:I
            bipush 127
            if_icmpeq 6
         4: .line 562
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote:[I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote_ix:I
            iload 1 /* noteNumber */
            iastore
         5: .line 563
            aload 0 /* this */
            dup
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote_ix:I
            iconst_1
            iadd
            putfield com.sun.media.sound.SoftChannel.portamento_lastnote_ix:I
         6: .line 568
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.activity:()V
         7: .line 569
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 24
         9: .line 570
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifeq 13
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 13
        10: .line 571
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.note:I
            iload 1 /* noteNumber */
            if_icmpne 13
        11: .line 572
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.releaseTriggered:Z
            ifne 13
        12: .line 573
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            iload 2 /* velocity */
            invokevirtual com.sun.media.sound.SoftVoice.noteOff:(I)V
        13: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.stealer_channel:Lcom/sun/media/sound/SoftChannel;
            aload 0 /* this */
            if_acmpne 23
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.stealer_noteNumber:I
            iload 1 /* noteNumber */
            if_icmpne 23
        14: .line 577
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            astore 5 /* v */
        start local 5 // com.sun.media.sound.SoftVoice v
        15: .line 578
            aload 5 /* v */
            iconst_0
            putfield com.sun.media.sound.SoftVoice.stealer_releaseTriggered:Z
        16: .line 579
            aload 5 /* v */
            aconst_null
            putfield com.sun.media.sound.SoftVoice.stealer_channel:Lcom/sun/media/sound/SoftChannel;
        17: .line 580
            aload 5 /* v */
            aconst_null
            putfield com.sun.media.sound.SoftVoice.stealer_performer:Lcom/sun/media/sound/SoftPerformer;
        18: .line 581
            aload 5 /* v */
            iconst_m1
            putfield com.sun.media.sound.SoftVoice.stealer_voiceID:I
        19: .line 582
            aload 5 /* v */
            iconst_0
            putfield com.sun.media.sound.SoftVoice.stealer_noteNumber:I
        20: .line 583
            aload 5 /* v */
            iconst_0
            putfield com.sun.media.sound.SoftVoice.stealer_velocity:I
        21: .line 584
            aload 5 /* v */
            aconst_null
            putfield com.sun.media.sound.SoftVoice.stealer_extendedConnectionBlocks:[Lcom/sun/media/sound/ModelConnectionBlock;
        22: .line 585
            aload 5 /* v */
            aconst_null
            putfield com.sun.media.sound.SoftVoice.stealer_channelmixer:Lcom/sun/media/sound/ModelChannelMixer;
        end local 5 // com.sun.media.sound.SoftVoice v
        23: .line 569
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 9
        end local 4 // int i
        25: .line 591
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            ifnonnull 41
        26: .line 592
            aload 0 /* this */
        27: .line 593
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.program:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.bank:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            invokevirtual com.sun.media.sound.SoftSynthesizer.findInstrument:(III)Lcom/sun/media/sound/SoftInstrument;
        28: .line 592
            putfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
        29: .line 594
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            ifnonnull 32
        30: .line 595
            aload 3
            monitorexit
        31: return
        32: .line 596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 34
        33: .line 597
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.stopMixer:(Lcom/sun/media/sound/ModelChannelMixer;)V
        34: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            invokevirtual com.sun.media.sound.SoftInstrument.getSourceInstrument:()Lcom/sun/media/sound/ModelInstrument;
        35: .line 599
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            invokevirtual com.sun.media.sound.SoftSynthesizer.getFormat:()Ljavax/sound/sampled/AudioFormat;
            invokevirtual com.sun.media.sound.ModelInstrument.getChannelMixer:(Ljavax/sound/midi/MidiChannel;Ljavax/sound/sampled/AudioFormat;)Lcom/sun/media/sound/ModelChannelMixer;
        36: .line 598
            putfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
        37: .line 600
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 39
        38: .line 601
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.registerMixer:(Lcom/sun/media/sound/ModelChannelMixer;)V
        39: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftInstrument.getDirector:(Ljavax/sound/midi/MidiChannel;Lcom/sun/media/sound/ModelDirectedPlayer;)Lcom/sun/media/sound/ModelDirector;
            putfield com.sun.media.sound.SoftChannel.current_director:Lcom/sun/media/sound/ModelDirector;
        40: .line 603
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftChannel.applyInstrumentCustomization:()V
        41: .line 606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            dup
            getfield com.sun.media.sound.SoftSynthesizer.voiceIDCounter:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.media.sound.SoftSynthesizer.voiceIDCounter:I
            putfield com.sun.media.sound.SoftChannel.prevVoiceID:I
        42: .line 607
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SoftChannel.firstVoice:Z
        43: .line 608
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.voiceNo:I
        44: .line 610
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.tuning:Lcom/sun/media/sound/SoftTuning;
            invokevirtual com.sun.media.sound.SoftTuning.getTuning:()[D
            iload 1 /* noteNumber */
            daload
            ldc 100.0
            ddiv
            invokestatic java.lang.Math.round:(D)J
            l2i
            istore 4 /* tunedKey */
        start local 4 // int tunedKey
        45: .line 611
            aload 0 /* this */
            iload 1 /* noteNumber */
            putfield com.sun.media.sound.SoftChannel.play_noteNumber:I
        46: .line 612
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.lastVelocity:[I
            iload 1 /* noteNumber */
            iaload
            putfield com.sun.media.sound.SoftChannel.play_velocity:I
        47: .line 613
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SoftChannel.play_releasetriggered:Z
        48: .line 614
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.play_delay:I
        49: .line 615
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_director:Lcom/sun/media/sound/ModelDirector;
            iload 4 /* tunedKey */
            iload 2 /* velocity */
            invokeinterface com.sun.media.sound.ModelDirector.noteOff:(II)V
        end local 4 // int tunedKey
        50: .line 557
            aload 3
            monitorexit
        51: goto 54
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: aload 3
            monitorexit
        53: athrow
        54: .line 618
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int velocity
        end local 1 // int noteNumber
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   55     0        this  Lcom/sun/media/sound/SoftChannel;
            0   55     1  noteNumber  I
            0   55     2    velocity  I
            8   25     4           i  I
           15   23     5           v  Lcom/sun/media/sound/SoftVoice;
           45   50     4    tunedKey  I
      Exception table:
        from    to  target  type
           1    31      52  any
          32    51      52  any
          52    53      52  any
    MethodParameters:
            Name  Flags
      noteNumber  
      velocity    

  public void play(int, com.sun.media.sound.ModelConnectionBlock[]);
    descriptor: (I[Lcom/sun/media/sound/ModelConnectionBlock;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=10, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int performerIndex
        start local 2 // com.sun.media.sound.ModelConnectionBlock[] connectionBlocks
         0: .line 630
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.play_noteNumber:I
            istore 3 /* noteNumber */
        start local 3 // int noteNumber
         1: .line 631
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.play_velocity:I
            istore 4 /* velocity */
        start local 4 // int velocity
         2: .line 632
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.play_delay:I
            istore 5 /* delay */
        start local 5 // int delay
         3: .line 633
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.play_releasetriggered:Z
            istore 6 /* releasetriggered */
        start local 6 // boolean releasetriggered
         4: .line 635
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            invokevirtual com.sun.media.sound.SoftInstrument.getPerformers:()[Lcom/sun/media/sound/SoftPerformer;
            iload 1 /* performerIndex */
            aaload
            astore 7 /* p */
        start local 7 // com.sun.media.sound.SoftPerformer p
         5: .line 637
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.firstVoice:Z
            ifeq 17
         6: .line 638
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.firstVoice:Z
         7: .line 639
            aload 7 /* p */
            getfield com.sun.media.sound.SoftPerformer.exclusiveClass:I
            ifeq 17
         8: .line 640
            aload 7 /* p */
            getfield com.sun.media.sound.SoftPerformer.exclusiveClass:I
            istore 8 /* x */
        start local 8 // int x
         9: .line 641
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        10: goto 16
        11: .line 642
      StackMap locals: com.sun.media.sound.SoftChannel int com.sun.media.sound.ModelConnectionBlock[] int int int int com.sun.media.sound.SoftPerformer int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 9 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 15
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 9 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 15
        12: .line 643
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 9 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.exclusiveClass:I
            iload 8 /* x */
            if_icmpne 15
        13: .line 644
            aload 7 /* p */
            getfield com.sun.media.sound.SoftPerformer.selfNonExclusive:Z
            ifeq 14
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 9 /* j */
            aaload
            getfield com.sun.media.sound.SoftVoice.note:I
            iload 3 /* noteNumber */
            if_icmpeq 15
        14: .line 645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 9 /* j */
            aaload
            invokevirtual com.sun.media.sound.SoftVoice.shutdown:()V
        15: .line 641
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* j */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 11
        end local 9 // int j
        end local 8 // int x
        17: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voiceNo:I
            invokevirtual com.sun.media.sound.SoftChannel.findFreeVoice:(I)I
            putfield com.sun.media.sound.SoftChannel.voiceNo:I
        18: .line 653
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voiceNo:I
            iconst_m1
            if_icmpne 20
        19: .line 654
            return
        20: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voiceNo:I
            aaload
            aload 7 /* p */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.prevVoiceID:I
            iload 3 /* noteNumber */
            iload 4 /* velocity */
            iload 5 /* delay */
        21: .line 657
            aload 2 /* connectionBlocks */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 6 /* releasetriggered */
        22: .line 656
            invokevirtual com.sun.media.sound.SoftChannel.initVoice:(Lcom/sun/media/sound/SoftVoice;Lcom/sun/media/sound/SoftPerformer;IIII[Lcom/sun/media/sound/ModelConnectionBlock;Lcom/sun/media/sound/ModelChannelMixer;Z)V
        23: .line 658
            return
        end local 7 // com.sun.media.sound.SoftPerformer p
        end local 6 // boolean releasetriggered
        end local 5 // int delay
        end local 4 // int velocity
        end local 3 // int noteNumber
        end local 2 // com.sun.media.sound.ModelConnectionBlock[] connectionBlocks
        end local 1 // int performerIndex
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   24     0              this  Lcom/sun/media/sound/SoftChannel;
            0   24     1    performerIndex  I
            0   24     2  connectionBlocks  [Lcom/sun/media/sound/ModelConnectionBlock;
            1   24     3        noteNumber  I
            2   24     4          velocity  I
            3   24     5             delay  I
            4   24     6  releasetriggered  Z
            5   24     7                 p  Lcom/sun/media/sound/SoftPerformer;
            9   17     8                 x  I
           10   17     9                 j  I
    MethodParameters:
                  Name  Flags
      performerIndex    
      connectionBlocks  

  public void noteOff(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int noteNumber
         0: .line 661
            iload 1 /* noteNumber */
            iflt 1
            iload 1 /* noteNumber */
            bipush 127
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: return
         2: .line 662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* noteNumber */
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.noteOff_internal:(II)V
         3: .line 663
            return
        end local 1 // int noteNumber
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/sun/media/sound/SoftChannel;
            0    4     1  noteNumber  I
    MethodParameters:
            Name  Flags
      noteNumber  

  public void setPolyPressure(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int noteNumber
        start local 2 // int pressure
         0: .line 666
            iload 1 /* noteNumber */
            invokestatic com.sun.media.sound.SoftChannel.restrict7Bit:(I)I
            istore 1 /* noteNumber */
         1: .line 667
            iload 2 /* pressure */
            invokestatic com.sun.media.sound.SoftChannel.restrict7Bit:(I)I
            istore 2 /* pressure */
         2: .line 669
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 4
         3: .line 670
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 1 /* noteNumber */
            iload 2 /* pressure */
            invokeinterface com.sun.media.sound.ModelChannelMixer.setPolyPressure:(II)V
         4: .line 672
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         5: .line 673
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.activity:()V
         6: .line 674
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi:[Lcom/sun/media/sound/SoftControl;
            iload 1 /* noteNumber */
            aaload
            iconst_0
            ldc "poly_pressure"
            invokeinterface com.sun.media.sound.SoftControl.get:(ILjava/lang/String;)[D
            iconst_0
            iload 2 /* pressure */
            i2d
            ldc 0.0078125
            dmul
            dastore
         7: .line 675
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.polypressure:[I
            iload 1 /* noteNumber */
            iload 2 /* pressure */
            iastore
         8: .line 676
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 13
        10: .line 677
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 12
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.note:I
            iload 1 /* noteNumber */
            if_icmpne 12
        11: .line 678
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            iload 2 /* pressure */
            invokevirtual com.sun.media.sound.SoftVoice.setPolyPressure:(I)V
        12: .line 676
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 10
        end local 4 // int i
        14: .line 672
            aload 3
            monitorexit
        15: goto 18
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object
      StackMap stack: java.lang.Throwable
        16: aload 3
            monitorexit
        17: athrow
        18: .line 681
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int pressure
        end local 1 // int noteNumber
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lcom/sun/media/sound/SoftChannel;
            0   19     1  noteNumber  I
            0   19     2    pressure  I
            9   14     4           i  I
      Exception table:
        from    to  target  type
           5    15      16  any
          16    17      16  any
    MethodParameters:
            Name  Flags
      noteNumber  
      pressure    

  public int getPolyPressure(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int noteNumber
         0: .line 684
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 685
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.polypressure:[I
            iload 1 /* noteNumber */
            iaload
            aload 2
            monitorexit
         2: ireturn
         3: .line 684
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // int noteNumber
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/media/sound/SoftChannel;
            0    5     1  noteNumber  I
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
            Name  Flags
      noteNumber  

  public void setChannelPressure(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int pressure
         0: .line 690
            iload 1 /* pressure */
            invokestatic com.sun.media.sound.SoftChannel.restrict7Bit:(I)I
            istore 1 /* pressure */
         1: .line 691
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 3
         2: .line 692
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 1 /* pressure */
            invokeinterface com.sun.media.sound.ModelChannelMixer.setChannelPressure:(I)V
         3: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         4: .line 694
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.activity:()V
         5: .line 695
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_channel_pressure:[D
            iconst_0
            iload 1 /* pressure */
            i2d
            ldc 0.0078125
            dmul
            dastore
         6: .line 696
            aload 0 /* this */
            iload 1 /* pressure */
            putfield com.sun.media.sound.SoftChannel.channelpressure:I
         7: .line 697
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 698
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 3 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 11
        10: .line 699
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 3 /* i */
            aaload
            iload 1 /* pressure */
            invokevirtual com.sun.media.sound.SoftVoice.setChannelPressure:(I)V
        11: .line 697
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 9
        end local 3 // int i
        13: .line 693
            aload 2
            monitorexit
        14: goto 17
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object
      StackMap stack: java.lang.Throwable
        15: aload 2
            monitorexit
        16: athrow
        17: .line 702
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int pressure
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/sun/media/sound/SoftChannel;
            0   18     1  pressure  I
            8   13     3         i  I
      Exception table:
        from    to  target  type
           4    14      15  any
          15    16      15  any
    MethodParameters:
          Name  Flags
      pressure  

  public int getChannelPressure();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 705
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 706
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channelpressure:I
            aload 1
            monitorexit
         2: ireturn
         3: .line 705
      StackMap locals: com.sun.media.sound.SoftChannel java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/media/sound/SoftChannel;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  void applyInstrumentCustomization();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 711
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_control_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            ifnonnull 4
         1: .line 712
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_channelpressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            ifnonnull 4
         2: .line 713
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_polypressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            ifnonnull 4
         3: .line 714
            return
         4: .line 717
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
            invokevirtual com.sun.media.sound.SoftInstrument.getSourceInstrument:()Lcom/sun/media/sound/ModelInstrument;
            astore 1 /* src_instrument */
        start local 1 // com.sun.media.sound.ModelInstrument src_instrument
         5: .line 718
            aload 1 /* src_instrument */
            invokevirtual com.sun.media.sound.ModelInstrument.getPerformers:()[Lcom/sun/media/sound/ModelPerformer;
            astore 2 /* performers */
        start local 2 // com.sun.media.sound.ModelPerformer[] performers
         6: .line 719
            aload 2 /* performers */
            arraylength
            anewarray com.sun.media.sound.ModelPerformer
            astore 3 /* new_performers */
        start local 3 // com.sun.media.sound.ModelPerformer[] new_performers
         7: .line 720
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 98
         9: .line 721
      StackMap locals: com.sun.media.sound.SoftChannel com.sun.media.sound.ModelInstrument com.sun.media.sound.ModelPerformer[] com.sun.media.sound.ModelPerformer[] int
      StackMap stack:
            aload 2 /* performers */
            iload 4 /* i */
            aaload
            astore 5 /* performer */
        start local 5 // com.sun.media.sound.ModelPerformer performer
        10: .line 722
            new com.sun.media.sound.ModelPerformer
            dup
            invokespecial com.sun.media.sound.ModelPerformer.<init>:()V
            astore 6 /* new_performer */
        start local 6 // com.sun.media.sound.ModelPerformer new_performer
        11: .line 723
            aload 6 /* new_performer */
            aload 5 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getName:()Ljava/lang/String;
            invokevirtual com.sun.media.sound.ModelPerformer.setName:(Ljava/lang/String;)V
        12: .line 724
            aload 6 /* new_performer */
            aload 5 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getExclusiveClass:()I
            invokevirtual com.sun.media.sound.ModelPerformer.setExclusiveClass:(I)V
        13: .line 725
            aload 6 /* new_performer */
            aload 5 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getKeyFrom:()I
            invokevirtual com.sun.media.sound.ModelPerformer.setKeyFrom:(I)V
        14: .line 726
            aload 6 /* new_performer */
            aload 5 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getKeyTo:()I
            invokevirtual com.sun.media.sound.ModelPerformer.setKeyTo:(I)V
        15: .line 727
            aload 6 /* new_performer */
            aload 5 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getVelFrom:()I
            invokevirtual com.sun.media.sound.ModelPerformer.setVelFrom:(I)V
        16: .line 728
            aload 6 /* new_performer */
            aload 5 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getVelTo:()I
            invokevirtual com.sun.media.sound.ModelPerformer.setVelTo:(I)V
        17: .line 729
            aload 6 /* new_performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getOscillators:()Ljava/util/List;
            aload 5 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getOscillators:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        18: .line 730
            aload 6 /* new_performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getConnectionBlocks:()Ljava/util/List;
        19: .line 731
            aload 5 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getConnectionBlocks:()Ljava/util/List;
        20: .line 730
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        21: .line 732
            aload 3 /* new_performers */
            iload 4 /* i */
            aload 6 /* new_performer */
            aastore
        22: .line 735
            aload 6 /* new_performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getConnectionBlocks:()Ljava/util/List;
        23: .line 734
            astore 7 /* connblocks */
        start local 7 // java.util.List connblocks
        24: .line 737
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_control_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            ifnull 48
        25: .line 738
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_control_number:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 8 /* cc */
        start local 8 // java.lang.String cc
        26: .line 739
            aload 7 /* connblocks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9 /* iter */
        start local 9 // java.util.Iterator iter
        27: .line 740
            goto 42
        28: .line 741
      StackMap locals: com.sun.media.sound.SoftChannel com.sun.media.sound.ModelInstrument com.sun.media.sound.ModelPerformer[] com.sun.media.sound.ModelPerformer[] int com.sun.media.sound.ModelPerformer com.sun.media.sound.ModelPerformer java.util.List java.lang.String java.util.Iterator
      StackMap stack:
            aload 9 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.ModelConnectionBlock
            astore 10 /* conn */
        start local 10 // com.sun.media.sound.ModelConnectionBlock conn
        29: .line 742
            aload 10 /* conn */
            invokevirtual com.sun.media.sound.ModelConnectionBlock.getSources:()[Lcom/sun/media/sound/ModelSource;
            astore 11 /* sources */
        start local 11 // com.sun.media.sound.ModelSource[] sources
        30: .line 743
            iconst_0
            istore 12 /* removeok */
        start local 12 // boolean removeok
        31: .line 744
            aload 11 /* sources */
            ifnull 40
        32: .line 745
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        33: goto 39
        34: .line 746
      StackMap locals: com.sun.media.sound.SoftChannel com.sun.media.sound.ModelInstrument com.sun.media.sound.ModelPerformer[] com.sun.media.sound.ModelPerformer[] int com.sun.media.sound.ModelPerformer com.sun.media.sound.ModelPerformer java.util.List java.lang.String java.util.Iterator com.sun.media.sound.ModelConnectionBlock com.sun.media.sound.ModelSource[] int int
      StackMap stack:
            aload 11 /* sources */
            iload 13 /* j */
            aaload
            astore 14 /* src */
        start local 14 // com.sun.media.sound.ModelSource src
        35: .line 747
            ldc "midi_cc"
            aload 14 /* src */
            invokevirtual com.sun.media.sound.ModelSource.getIdentifier:()Lcom/sun/media/sound/ModelIdentifier;
            invokevirtual com.sun.media.sound.ModelIdentifier.getObject:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        36: .line 748
            aload 8 /* cc */
            aload 14 /* src */
            invokevirtual com.sun.media.sound.ModelSource.getIdentifier:()Lcom/sun/media/sound/ModelIdentifier;
            invokevirtual com.sun.media.sound.ModelIdentifier.getVariable:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        37: .line 749
            iconst_1
            istore 12 /* removeok */
        end local 14 // com.sun.media.sound.ModelSource src
        38: .line 745
      StackMap locals:
      StackMap stack:
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        39: iload 13 /* j */
            aload 11 /* sources */
            arraylength
            if_icmplt 34
        end local 13 // int j
        40: .line 753
      StackMap locals:
      StackMap stack:
            iload 12 /* removeok */
            ifeq 42
        41: .line 754
            aload 9 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        end local 12 // boolean removeok
        end local 11 // com.sun.media.sound.ModelSource[] sources
        end local 10 // com.sun.media.sound.ModelConnectionBlock conn
        42: .line 740
      StackMap locals:
      StackMap stack:
            aload 9 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        43: .line 756
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        44: goto 47
        45: .line 757
      StackMap locals: int
      StackMap stack:
            aload 7 /* connblocks */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_control_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            iload 10 /* j */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 756
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        47: iload 10 /* j */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_control_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            arraylength
            if_icmplt 45
        end local 10 // int j
        end local 9 // java.util.Iterator iter
        end local 8 // java.lang.String cc
        48: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_polypressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            ifnull 74
        49: .line 761
            aload 7 /* connblocks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8 /* iter */
        start local 8 // java.util.Iterator iter
        50: .line 762
            goto 68
        51: .line 763
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.ModelConnectionBlock
            astore 9 /* conn */
        start local 9 // com.sun.media.sound.ModelConnectionBlock conn
        52: .line 764
            aload 9 /* conn */
            invokevirtual com.sun.media.sound.ModelConnectionBlock.getSources:()[Lcom/sun/media/sound/ModelSource;
            astore 10 /* sources */
        start local 10 // com.sun.media.sound.ModelSource[] sources
        53: .line 765
            iconst_0
            istore 11 /* removeok */
        start local 11 // boolean removeok
        54: .line 766
            aload 10 /* sources */
            ifnull 66
        55: .line 767
            iconst_0
            istore 12 /* j */
        start local 12 // int j
        56: goto 65
        57: .line 768
      StackMap locals: com.sun.media.sound.SoftChannel com.sun.media.sound.ModelInstrument com.sun.media.sound.ModelPerformer[] com.sun.media.sound.ModelPerformer[] int com.sun.media.sound.ModelPerformer com.sun.media.sound.ModelPerformer java.util.List java.util.Iterator com.sun.media.sound.ModelConnectionBlock com.sun.media.sound.ModelSource[] int int
      StackMap stack:
            aload 10 /* sources */
            iload 12 /* j */
            aaload
            astore 13 /* src */
        start local 13 // com.sun.media.sound.ModelSource src
        58: .line 769
            ldc "midi"
            aload 13 /* src */
            invokevirtual com.sun.media.sound.ModelSource.getIdentifier:()Lcom/sun/media/sound/ModelIdentifier;
            invokevirtual com.sun.media.sound.ModelIdentifier.getObject:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 64
        59: .line 770
            ldc "poly_pressure"
        60: .line 771
            aload 13 /* src */
            invokevirtual com.sun.media.sound.ModelSource.getIdentifier:()Lcom/sun/media/sound/ModelIdentifier;
            invokevirtual com.sun.media.sound.ModelIdentifier.getVariable:()Ljava/lang/String;
        61: .line 770
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        62: .line 771
            ifeq 64
        63: .line 772
            iconst_1
            istore 11 /* removeok */
        end local 13 // com.sun.media.sound.ModelSource src
        64: .line 767
      StackMap locals:
      StackMap stack:
            iinc 12 /* j */ 1
      StackMap locals:
      StackMap stack:
        65: iload 12 /* j */
            aload 10 /* sources */
            arraylength
            if_icmplt 57
        end local 12 // int j
        66: .line 776
      StackMap locals:
      StackMap stack:
            iload 11 /* removeok */
            ifeq 68
        67: .line 777
            aload 8 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        end local 11 // boolean removeok
        end local 10 // com.sun.media.sound.ModelSource[] sources
        end local 9 // com.sun.media.sound.ModelConnectionBlock conn
        68: .line 762
      StackMap locals:
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 51
        69: .line 779
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        70: goto 73
        71: .line 780
      StackMap locals: int
      StackMap stack:
            aload 7 /* connblocks */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_polypressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            iload 9 /* j */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        72: .line 779
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        73: iload 9 /* j */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_polypressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            arraylength
            if_icmplt 71
        end local 9 // int j
        end local 8 // java.util.Iterator iter
        74: .line 784
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_channelpressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            ifnull 97
        75: .line 785
            aload 7 /* connblocks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8 /* iter */
        start local 8 // java.util.Iterator iter
        76: .line 786
            goto 91
        77: .line 787
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.ModelConnectionBlock
            astore 9 /* conn */
        start local 9 // com.sun.media.sound.ModelConnectionBlock conn
        78: .line 788
            aload 9 /* conn */
            invokevirtual com.sun.media.sound.ModelConnectionBlock.getSources:()[Lcom/sun/media/sound/ModelSource;
            astore 10 /* sources */
        start local 10 // com.sun.media.sound.ModelSource[] sources
        79: .line 789
            iconst_0
            istore 11 /* removeok */
        start local 11 // boolean removeok
        80: .line 790
            aload 10 /* sources */
            ifnull 89
        81: .line 791
            iconst_0
            istore 12 /* j */
        start local 12 // int j
        82: goto 88
        83: .line 792
      StackMap locals: com.sun.media.sound.SoftChannel com.sun.media.sound.ModelInstrument com.sun.media.sound.ModelPerformer[] com.sun.media.sound.ModelPerformer[] int com.sun.media.sound.ModelPerformer com.sun.media.sound.ModelPerformer java.util.List java.util.Iterator com.sun.media.sound.ModelConnectionBlock com.sun.media.sound.ModelSource[] int int
      StackMap stack:
            aload 10 /* sources */
            iload 12 /* j */
            aaload
            invokevirtual com.sun.media.sound.ModelSource.getIdentifier:()Lcom/sun/media/sound/ModelIdentifier;
            astore 13 /* srcid */
        start local 13 // com.sun.media.sound.ModelIdentifier srcid
        84: .line 793
            ldc "midi"
            aload 13 /* srcid */
            invokevirtual com.sun.media.sound.ModelIdentifier.getObject:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 87
        85: .line 794
            ldc "channel_pressure"
            aload 13 /* srcid */
            invokevirtual com.sun.media.sound.ModelIdentifier.getVariable:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 87
        86: .line 795
            iconst_1
            istore 11 /* removeok */
        end local 13 // com.sun.media.sound.ModelIdentifier srcid
        87: .line 791
      StackMap locals:
      StackMap stack:
            iinc 12 /* j */ 1
      StackMap locals:
      StackMap stack:
        88: iload 12 /* j */
            aload 10 /* sources */
            arraylength
            if_icmplt 83
        end local 12 // int j
        89: .line 799
      StackMap locals:
      StackMap stack:
            iload 11 /* removeok */
            ifeq 91
        90: .line 800
            aload 8 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        end local 11 // boolean removeok
        end local 10 // com.sun.media.sound.ModelSource[] sources
        end local 9 // com.sun.media.sound.ModelConnectionBlock conn
        91: .line 786
      StackMap locals:
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 77
        92: .line 802
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        93: goto 96
        94: .line 803
      StackMap locals: int
      StackMap stack:
            aload 7 /* connblocks */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_channelpressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            iload 9 /* j */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        95: .line 802
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        96: iload 9 /* j */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.cds_channelpressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
            arraylength
            if_icmplt 94
        end local 9 // int j
        end local 8 // java.util.Iterator iter
        end local 7 // java.util.List connblocks
        end local 6 // com.sun.media.sound.ModelPerformer new_performer
        end local 5 // com.sun.media.sound.ModelPerformer performer
        97: .line 720
      StackMap locals: com.sun.media.sound.SoftChannel com.sun.media.sound.ModelInstrument com.sun.media.sound.ModelPerformer[] com.sun.media.sound.ModelPerformer[] int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        98: iload 4 /* i */
            aload 3 /* new_performers */
            arraylength
            if_icmplt 9
        end local 4 // int i
        99: .line 808
            aload 0 /* this */
            new com.sun.media.sound.SoftInstrument
            dup
            aload 1 /* src_instrument */
            aload 3 /* new_performers */
            invokespecial com.sun.media.sound.SoftInstrument.<init>:(Lcom/sun/media/sound/ModelInstrument;[Lcom/sun/media/sound/ModelPerformer;)V
            putfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
       100: .line 810
            return
        end local 3 // com.sun.media.sound.ModelPerformer[] new_performers
        end local 2 // com.sun.media.sound.ModelPerformer[] performers
        end local 1 // com.sun.media.sound.ModelInstrument src_instrument
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  101     0            this  Lcom/sun/media/sound/SoftChannel;
            5  101     1  src_instrument  Lcom/sun/media/sound/ModelInstrument;
            6  101     2      performers  [Lcom/sun/media/sound/ModelPerformer;
            7  101     3  new_performers  [Lcom/sun/media/sound/ModelPerformer;
            8   99     4               i  I
           10   97     5       performer  Lcom/sun/media/sound/ModelPerformer;
           11   97     6   new_performer  Lcom/sun/media/sound/ModelPerformer;
           24   97     7      connblocks  Ljava/util/List<Lcom/sun/media/sound/ModelConnectionBlock;>;
           26   48     8              cc  Ljava/lang/String;
           27   48     9            iter  Ljava/util/Iterator<Lcom/sun/media/sound/ModelConnectionBlock;>;
           29   42    10            conn  Lcom/sun/media/sound/ModelConnectionBlock;
           30   42    11         sources  [Lcom/sun/media/sound/ModelSource;
           31   42    12        removeok  Z
           33   40    13               j  I
           35   38    14             src  Lcom/sun/media/sound/ModelSource;
           44   48    10               j  I
           50   74     8            iter  Ljava/util/Iterator<Lcom/sun/media/sound/ModelConnectionBlock;>;
           52   68     9            conn  Lcom/sun/media/sound/ModelConnectionBlock;
           53   68    10         sources  [Lcom/sun/media/sound/ModelSource;
           54   68    11        removeok  Z
           56   66    12               j  I
           58   64    13             src  Lcom/sun/media/sound/ModelSource;
           70   74     9               j  I
           76   97     8            iter  Ljava/util/Iterator<Lcom/sun/media/sound/ModelConnectionBlock;>;
           78   91     9            conn  Lcom/sun/media/sound/ModelConnectionBlock;
           79   91    10         sources  [Lcom/sun/media/sound/ModelSource;
           80   91    11        removeok  Z
           82   89    12               j  I
           84   87    13           srcid  Lcom/sun/media/sound/ModelIdentifier;
           93   97     9               j  I

  private com.sun.media.sound.ModelConnectionBlock[] createModelConnections(com.sun.media.sound.ModelIdentifier, int[], int[]);
    descriptor: (Lcom/sun/media/sound/ModelIdentifier;[I[I)[Lcom/sun/media/sound/ModelConnectionBlock;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=12, args_size=4
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // com.sun.media.sound.ModelIdentifier sid
        start local 2 // int[] destination
        start local 3 // int[] range
         0: .line 826
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* conns */
        start local 4 // java.util.List conns
         1: .line 828
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 109
         3: .line 829
      StackMap locals: java.util.List int
      StackMap stack:
            aload 2 /* destination */
            iload 5 /* i */
            iaload
            istore 6 /* d */
        start local 6 // int d
         4: .line 830
            aload 3 /* range */
            iload 5 /* i */
            iaload
            istore 7 /* r */
        start local 7 // int r
         5: .line 831
            iload 6 /* d */
            ifne 19
         6: .line 832
            iload 7 /* r */
            bipush 64
            isub
            bipush 100
            imul
            i2d
            dstore 8 /* scale */
        start local 8 // double scale
         7: .line 833
            new com.sun.media.sound.ModelConnectionBlock
            dup
         8: .line 834
            new com.sun.media.sound.ModelSource
            dup
            aload 1 /* sid */
         9: .line 835
            iconst_0
        10: .line 836
            iconst_0
        11: .line 837
            iconst_0
        12: .line 834
            invokespecial com.sun.media.sound.ModelSource.<init>:(Lcom/sun/media/sound/ModelIdentifier;ZZI)V
        13: .line 838
            dload 8 /* scale */
        14: .line 839
            new com.sun.media.sound.ModelDestination
            dup
        15: .line 840
            new com.sun.media.sound.ModelIdentifier
            dup
            ldc "osc"
            ldc "pitch"
            invokespecial com.sun.media.sound.ModelIdentifier.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        16: .line 839
            invokespecial com.sun.media.sound.ModelDestination.<init>:(Lcom/sun/media/sound/ModelIdentifier;)V
        17: .line 833
            invokespecial com.sun.media.sound.ModelConnectionBlock.<init>:(Lcom/sun/media/sound/ModelSource;DLcom/sun/media/sound/ModelDestination;)V
            astore 10 /* conn */
        start local 10 // com.sun.media.sound.ModelConnectionBlock conn
        18: .line 841
            aload 4 /* conns */
            aload 10 /* conn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // com.sun.media.sound.ModelConnectionBlock conn
        end local 8 // double scale
        19: .line 844
      StackMap locals: int int
      StackMap stack:
            iload 6 /* d */
            iconst_1
            if_icmpne 46
        20: .line 845
            iload 7 /* r */
            i2d
            ldc 64.0
            ddiv
            dconst_1
            dsub
            ldc 9600.0
            dmul
            dstore 8 /* scale */
        start local 8 // double scale
        21: .line 847
            dload 8 /* scale */
            dconst_0
            dcmpl
            ifle 34
        22: .line 848
            new com.sun.media.sound.ModelConnectionBlock
            dup
        23: .line 849
            new com.sun.media.sound.ModelSource
            dup
            aload 1 /* sid */
        24: .line 850
            iconst_1
        25: .line 851
            iconst_0
        26: .line 852
            iconst_0
        27: .line 849
            invokespecial com.sun.media.sound.ModelSource.<init>:(Lcom/sun/media/sound/ModelIdentifier;ZZI)V
        28: .line 853
            dload 8 /* scale */
            dneg
        29: .line 854
            new com.sun.media.sound.ModelDestination
            dup
        30: .line 855
            getstatic com.sun.media.sound.ModelDestination.DESTINATION_FILTER_FREQ:Lcom/sun/media/sound/ModelIdentifier;
        31: .line 854
            invokespecial com.sun.media.sound.ModelDestination.<init>:(Lcom/sun/media/sound/ModelIdentifier;)V
        32: .line 848
            invokespecial com.sun.media.sound.ModelConnectionBlock.<init>:(Lcom/sun/media/sound/ModelSource;DLcom/sun/media/sound/ModelDestination;)V
            astore 10 /* conn */
        start local 10 // com.sun.media.sound.ModelConnectionBlock conn
        33: .line 856
            goto 45
        end local 10 // com.sun.media.sound.ModelConnectionBlock conn
        34: .line 857
      StackMap locals: double
      StackMap stack:
            new com.sun.media.sound.ModelConnectionBlock
            dup
        35: .line 858
            new com.sun.media.sound.ModelSource
            dup
            aload 1 /* sid */
        36: .line 859
            iconst_0
        37: .line 860
            iconst_0
        38: .line 861
            iconst_0
        39: .line 858
            invokespecial com.sun.media.sound.ModelSource.<init>:(Lcom/sun/media/sound/ModelIdentifier;ZZI)V
        40: .line 862
            dload 8 /* scale */
        41: .line 863
            new com.sun.media.sound.ModelDestination
            dup
        42: .line 864
            getstatic com.sun.media.sound.ModelDestination.DESTINATION_FILTER_FREQ:Lcom/sun/media/sound/ModelIdentifier;
        43: .line 863
            invokespecial com.sun.media.sound.ModelDestination.<init>:(Lcom/sun/media/sound/ModelIdentifier;)V
        44: .line 857
            invokespecial com.sun.media.sound.ModelConnectionBlock.<init>:(Lcom/sun/media/sound/ModelSource;DLcom/sun/media/sound/ModelDestination;)V
            astore 10 /* conn */
        start local 10 // com.sun.media.sound.ModelConnectionBlock conn
        45: .line 866
      StackMap locals: com.sun.media.sound.ModelConnectionBlock
      StackMap stack:
            aload 4 /* conns */
            aload 10 /* conn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // com.sun.media.sound.ModelConnectionBlock conn
        end local 8 // double scale
        46: .line 868
      StackMap locals:
      StackMap stack:
            iload 6 /* d */
            iconst_2
            if_icmpne 54
        47: .line 869
            iload 7 /* r */
            i2d
            ldc 64.0
            ddiv
            dstore 8 /* scale */
        start local 8 // double scale
        48: .line 870
            new com.sun.media.sound.SoftChannel$4
            dup
            aload 0 /* this */
            dload 8 /* scale */
            invokespecial com.sun.media.sound.SoftChannel$4.<init>:(Lcom/sun/media/sound/SoftChannel;D)V
            astore 10 /* mt */
        start local 10 // com.sun.media.sound.ModelTransform mt
        49: .line 883
            new com.sun.media.sound.ModelConnectionBlock
            dup
        50: .line 884
            new com.sun.media.sound.ModelSource
            dup
            aload 1 /* sid */
            aload 10 /* mt */
            invokespecial com.sun.media.sound.ModelSource.<init>:(Lcom/sun/media/sound/ModelIdentifier;Lcom/sun/media/sound/ModelTransform;)V
            ldc -960.0
        51: .line 885
            new com.sun.media.sound.ModelDestination
            dup
            getstatic com.sun.media.sound.ModelDestination.DESTINATION_GAIN:Lcom/sun/media/sound/ModelIdentifier;
            invokespecial com.sun.media.sound.ModelDestination.<init>:(Lcom/sun/media/sound/ModelIdentifier;)V
        52: .line 883
            invokespecial com.sun.media.sound.ModelConnectionBlock.<init>:(Lcom/sun/media/sound/ModelSource;DLcom/sun/media/sound/ModelDestination;)V
            astore 11 /* conn */
        start local 11 // com.sun.media.sound.ModelConnectionBlock conn
        53: .line 886
            aload 4 /* conns */
            aload 11 /* conn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // com.sun.media.sound.ModelConnectionBlock conn
        end local 10 // com.sun.media.sound.ModelTransform mt
        end local 8 // double scale
        54: .line 889
      StackMap locals:
      StackMap stack:
            iload 6 /* d */
            iconst_3
            if_icmpne 73
        55: .line 890
            iload 7 /* r */
            i2d
            ldc 64.0
            ddiv
            dconst_1
            dsub
            ldc 9600.0
            dmul
            dstore 8 /* scale */
        start local 8 // double scale
        56: .line 891
            new com.sun.media.sound.ModelConnectionBlock
            dup
        57: .line 892
            new com.sun.media.sound.ModelSource
            dup
            getstatic com.sun.media.sound.ModelSource.SOURCE_LFO1:Lcom/sun/media/sound/ModelIdentifier;
        58: .line 893
            iconst_0
        59: .line 894
            iconst_1
        60: .line 895
            iconst_0
        61: .line 892
            invokespecial com.sun.media.sound.ModelSource.<init>:(Lcom/sun/media/sound/ModelIdentifier;ZZI)V
        62: .line 896
            new com.sun.media.sound.ModelSource
            dup
            aload 1 /* sid */
        63: .line 897
            iconst_0
        64: .line 898
            iconst_0
        65: .line 899
            iconst_0
        66: .line 896
            invokespecial com.sun.media.sound.ModelSource.<init>:(Lcom/sun/media/sound/ModelIdentifier;ZZI)V
        67: .line 900
            dload 8 /* scale */
        68: .line 901
            new com.sun.media.sound.ModelDestination
            dup
        69: .line 902
            getstatic com.sun.media.sound.ModelDestination.DESTINATION_PITCH:Lcom/sun/media/sound/ModelIdentifier;
        70: .line 901
            invokespecial com.sun.media.sound.ModelDestination.<init>:(Lcom/sun/media/sound/ModelIdentifier;)V
        71: .line 891
            invokespecial com.sun.media.sound.ModelConnectionBlock.<init>:(Lcom/sun/media/sound/ModelSource;Lcom/sun/media/sound/ModelSource;DLcom/sun/media/sound/ModelDestination;)V
            astore 10 /* conn */
        start local 10 // com.sun.media.sound.ModelConnectionBlock conn
        72: .line 903
            aload 4 /* conns */
            aload 10 /* conn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // com.sun.media.sound.ModelConnectionBlock conn
        end local 8 // double scale
        73: .line 905
      StackMap locals:
      StackMap stack:
            iload 6 /* d */
            iconst_4
            if_icmpne 92
        74: .line 906
            iload 7 /* r */
            i2d
            ldc 128.0
            ddiv
            ldc 2400.0
            dmul
            dstore 8 /* scale */
        start local 8 // double scale
        75: .line 907
            new com.sun.media.sound.ModelConnectionBlock
            dup
        76: .line 908
            new com.sun.media.sound.ModelSource
            dup
            getstatic com.sun.media.sound.ModelSource.SOURCE_LFO1:Lcom/sun/media/sound/ModelIdentifier;
        77: .line 909
            iconst_0
        78: .line 910
            iconst_1
        79: .line 911
            iconst_0
        80: .line 908
            invokespecial com.sun.media.sound.ModelSource.<init>:(Lcom/sun/media/sound/ModelIdentifier;ZZI)V
        81: .line 912
            new com.sun.media.sound.ModelSource
            dup
            aload 1 /* sid */
        82: .line 913
            iconst_0
        83: .line 914
            iconst_0
        84: .line 915
            iconst_0
        85: .line 912
            invokespecial com.sun.media.sound.ModelSource.<init>:(Lcom/sun/media/sound/ModelIdentifier;ZZI)V
        86: .line 916
            dload 8 /* scale */
        87: .line 917
            new com.sun.media.sound.ModelDestination
            dup
        88: .line 918
            getstatic com.sun.media.sound.ModelDestination.DESTINATION_FILTER_FREQ:Lcom/sun/media/sound/ModelIdentifier;
        89: .line 917
            invokespecial com.sun.media.sound.ModelDestination.<init>:(Lcom/sun/media/sound/ModelIdentifier;)V
        90: .line 907
            invokespecial com.sun.media.sound.ModelConnectionBlock.<init>:(Lcom/sun/media/sound/ModelSource;Lcom/sun/media/sound/ModelSource;DLcom/sun/media/sound/ModelDestination;)V
            astore 10 /* conn */
        start local 10 // com.sun.media.sound.ModelConnectionBlock conn
        91: .line 919
            aload 4 /* conns */
            aload 10 /* conn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // com.sun.media.sound.ModelConnectionBlock conn
        end local 8 // double scale
        92: .line 921
      StackMap locals:
      StackMap stack:
            iload 6 /* d */
            iconst_5
            if_icmpne 108
        93: .line 922
            iload 7 /* r */
            i2d
            ldc 127.0
            ddiv
            dstore 8 /* scale */
        start local 8 // double scale
        94: .line 924
            new com.sun.media.sound.SoftChannel$5
            dup
            aload 0 /* this */
            dload 8 /* scale */
            invokespecial com.sun.media.sound.SoftChannel$5.<init>:(Lcom/sun/media/sound/SoftChannel;D)V
            astore 10 /* mt */
        start local 10 // com.sun.media.sound.ModelTransform mt
        95: .line 932
            new com.sun.media.sound.ModelConnectionBlock
            dup
        96: .line 933
            new com.sun.media.sound.ModelSource
            dup
            getstatic com.sun.media.sound.ModelSource.SOURCE_LFO1:Lcom/sun/media/sound/ModelIdentifier;
        97: .line 934
            iconst_0
        98: .line 935
            iconst_0
        99: .line 936
            iconst_0
       100: .line 933
            invokespecial com.sun.media.sound.ModelSource.<init>:(Lcom/sun/media/sound/ModelIdentifier;ZZI)V
       101: .line 937
            new com.sun.media.sound.ModelSource
            dup
            aload 1 /* sid */
            aload 10 /* mt */
            invokespecial com.sun.media.sound.ModelSource.<init>:(Lcom/sun/media/sound/ModelIdentifier;Lcom/sun/media/sound/ModelTransform;)V
       102: .line 938
            ldc -960.0
       103: .line 939
            new com.sun.media.sound.ModelDestination
            dup
       104: .line 940
            getstatic com.sun.media.sound.ModelDestination.DESTINATION_GAIN:Lcom/sun/media/sound/ModelIdentifier;
       105: .line 939
            invokespecial com.sun.media.sound.ModelDestination.<init>:(Lcom/sun/media/sound/ModelIdentifier;)V
       106: .line 932
            invokespecial com.sun.media.sound.ModelConnectionBlock.<init>:(Lcom/sun/media/sound/ModelSource;Lcom/sun/media/sound/ModelSource;DLcom/sun/media/sound/ModelDestination;)V
            astore 11 /* conn */
        start local 11 // com.sun.media.sound.ModelConnectionBlock conn
       107: .line 941
            aload 4 /* conns */
            aload 11 /* conn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // com.sun.media.sound.ModelConnectionBlock conn
        end local 10 // com.sun.media.sound.ModelTransform mt
        end local 8 // double scale
        end local 7 // int r
        end local 6 // int d
       108: .line 828
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
       109: iload 5 /* i */
            aload 2 /* destination */
            arraylength
            if_icmplt 3
        end local 5 // int i
       110: .line 945
            aload 4 /* conns */
            aload 4 /* conns */
            invokeinterface java.util.List.size:()I
            anewarray com.sun.media.sound.ModelConnectionBlock
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.media.sound.ModelConnectionBlock[]
            areturn
        end local 4 // java.util.List conns
        end local 3 // int[] range
        end local 2 // int[] destination
        end local 1 // com.sun.media.sound.ModelIdentifier sid
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  111     0         this  Lcom/sun/media/sound/SoftChannel;
            0  111     1          sid  Lcom/sun/media/sound/ModelIdentifier;
            0  111     2  destination  [I
            0  111     3        range  [I
            1  111     4        conns  Ljava/util/List<Lcom/sun/media/sound/ModelConnectionBlock;>;
            2  110     5            i  I
            4  108     6            d  I
            5  108     7            r  I
            7   19     8        scale  D
           18   19    10         conn  Lcom/sun/media/sound/ModelConnectionBlock;
           21   46     8        scale  D
           33   34    10         conn  Lcom/sun/media/sound/ModelConnectionBlock;
           45   46    10         conn  Lcom/sun/media/sound/ModelConnectionBlock;
           48   54     8        scale  D
           49   54    10           mt  Lcom/sun/media/sound/ModelTransform;
           53   54    11         conn  Lcom/sun/media/sound/ModelConnectionBlock;
           56   73     8        scale  D
           72   73    10         conn  Lcom/sun/media/sound/ModelConnectionBlock;
           75   92     8        scale  D
           91   92    10         conn  Lcom/sun/media/sound/ModelConnectionBlock;
           94  108     8        scale  D
           95  108    10           mt  Lcom/sun/media/sound/ModelTransform;
          107  108    11         conn  Lcom/sun/media/sound/ModelConnectionBlock;
    MethodParameters:
             Name  Flags
      sid          
      destination  
      range        

  public void mapPolyPressureToDestination(int[], int[]);
    descriptor: ([I[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int[] destination
        start local 2 // int[] range
         0: .line 949
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
         1: .line 950
            aload 1 /* destination */
            arraylength
            ifne 4
         2: .line 951
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.cds_polypressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
         3: .line 952
            return
         4: .line 954
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         5: .line 955
            aload 0 /* this */
         6: .line 956
            new com.sun.media.sound.ModelIdentifier
            dup
            ldc "midi"
            ldc "poly_pressure"
            invokespecial com.sun.media.sound.ModelIdentifier.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 957
            aload 1 /* destination */
            aload 2 /* range */
         8: .line 955
            invokevirtual com.sun.media.sound.SoftChannel.createModelConnections:(Lcom/sun/media/sound/ModelIdentifier;[I[I)[Lcom/sun/media/sound/ModelConnectionBlock;
         9: .line 954
            putfield com.sun.media.sound.SoftChannel.cds_polypressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
        10: .line 958
            return
        end local 2 // int[] range
        end local 1 // int[] destination
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lcom/sun/media/sound/SoftChannel;
            0   11     1  destination  [I
            0   11     2        range  [I
    MethodParameters:
             Name  Flags
      destination  
      range        

  public void mapChannelPressureToDestination(int[], int[]);
    descriptor: ([I[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int[] destination
        start local 2 // int[] range
         0: .line 961
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
         1: .line 962
            aload 1 /* destination */
            arraylength
            ifne 4
         2: .line 963
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.cds_channelpressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
         3: .line 964
            return
         4: .line 966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         5: .line 967
            aload 0 /* this */
         6: .line 968
            new com.sun.media.sound.ModelIdentifier
            dup
            ldc "midi"
            ldc "channel_pressure"
            invokespecial com.sun.media.sound.ModelIdentifier.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 969
            aload 1 /* destination */
            aload 2 /* range */
         8: .line 967
            invokevirtual com.sun.media.sound.SoftChannel.createModelConnections:(Lcom/sun/media/sound/ModelIdentifier;[I[I)[Lcom/sun/media/sound/ModelConnectionBlock;
         9: .line 966
            putfield com.sun.media.sound.SoftChannel.cds_channelpressure_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
        10: .line 970
            return
        end local 2 // int[] range
        end local 1 // int[] destination
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lcom/sun/media/sound/SoftChannel;
            0   11     1  destination  [I
            0   11     2        range  [I
    MethodParameters:
             Name  Flags
      destination  
      range        

  public void mapControlToDestination(int, int[], int[]);
    descriptor: (I[I[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int control
        start local 2 // int[] destination
        start local 3 // int[] range
         0: .line 974
            iload 1 /* control */
            iconst_1
            if_icmplt 1
            iload 1 /* control */
            bipush 31
            if_icmple 4
         1: .line 975
      StackMap locals:
      StackMap stack:
            iload 1 /* control */
            bipush 64
            if_icmplt 2
            iload 1 /* control */
            bipush 95
            if_icmple 4
         2: .line 976
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.cds_control_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
         3: .line 977
            return
         4: .line 980
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
         5: .line 981
            aload 0 /* this */
            iload 1 /* control */
            putfield com.sun.media.sound.SoftChannel.cds_control_number:I
         6: .line 982
            aload 2 /* destination */
            arraylength
            ifne 9
         7: .line 983
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.cds_control_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
         8: .line 984
            return
         9: .line 986
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        10: .line 987
            aload 0 /* this */
        11: .line 988
            new com.sun.media.sound.ModelIdentifier
            dup
            ldc "midi_cc"
            iload 1 /* control */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokespecial com.sun.media.sound.ModelIdentifier.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 989
            aload 2 /* destination */
            aload 3 /* range */
        13: .line 987
            invokevirtual com.sun.media.sound.SoftChannel.createModelConnections:(Lcom/sun/media/sound/ModelIdentifier;[I[I)[Lcom/sun/media/sound/ModelConnectionBlock;
        14: .line 986
            putfield com.sun.media.sound.SoftChannel.cds_control_connections:[Lcom/sun/media/sound/ModelConnectionBlock;
        15: .line 990
            return
        end local 3 // int[] range
        end local 2 // int[] destination
        end local 1 // int control
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lcom/sun/media/sound/SoftChannel;
            0   16     1      control  I
            0   16     2  destination  [I
            0   16     3        range  [I
    MethodParameters:
             Name  Flags
      control      
      destination  
      range        

  public void controlChangePerNote(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int noteNumber
        start local 2 // int controller
        start local 3 // int value
         0: .line 1014
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
            ifnonnull 3
         1: .line 1015
            aload 0 /* this */
            sipush 128
            anewarray boolean[]
            putfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
         2: .line 1016
            aload 0 /* this */
            sipush 128
            anewarray double[]
            putfield com.sun.media.sound.SoftChannel.keybasedcontroller_value:[[D
         3: .line 1018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
            iload 1 /* noteNumber */
            aaload
            ifnonnull 8
         4: .line 1019
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
            iload 1 /* noteNumber */
            sipush 128
            newarray 4
            aastore
         5: .line 1020
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
            iload 1 /* noteNumber */
            aaload
            iconst_0
            invokestatic java.util.Arrays.fill:([ZZ)V
         6: .line 1021
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_value:[[D
            iload 1 /* noteNumber */
            sipush 128
            newarray 7
            aastore
         7: .line 1022
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_value:[[D
            iload 1 /* noteNumber */
            aaload
            dconst_0
            invokestatic java.util.Arrays.fill:([DD)V
         8: .line 1025
      StackMap locals:
      StackMap stack:
            iload 3 /* value */
            iconst_m1
            if_icmpne 11
         9: .line 1026
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
            iload 1 /* noteNumber */
            aaload
            iload 2 /* controller */
            iconst_0
            bastore
        10: .line 1027
            goto 13
        11: .line 1028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
            iload 1 /* noteNumber */
            aaload
            iload 2 /* controller */
            iconst_1
            bastore
        12: .line 1029
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_value:[[D
            iload 1 /* noteNumber */
            aaload
            iload 2 /* controller */
            iload 3 /* value */
            i2d
            ldc 128.0
            ddiv
            dastore
        13: .line 1032
      StackMap locals:
      StackMap stack:
            iload 2 /* controller */
            bipush 120
            if_icmpge 21
        14: .line 1033
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        15: goto 19
        16: .line 1034
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 18
        17: .line 1035
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            iload 2 /* controller */
            iconst_m1
            invokevirtual com.sun.media.sound.SoftVoice.controlChange:(II)V
        18: .line 1033
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 16
        end local 4 // int i
        20: .line 1036
            goto 36
      StackMap locals:
      StackMap stack:
        21: iload 2 /* controller */
            bipush 120
            if_icmpne 29
        22: .line 1037
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        23: goto 27
        24: .line 1038
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 26
        25: .line 1039
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            iconst_1
            iconst_m1
            invokevirtual com.sun.media.sound.SoftVoice.rpnChange:(II)V
        26: .line 1037
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 24
        end local 4 // int i
        28: .line 1040
            goto 36
      StackMap locals:
      StackMap stack:
        29: iload 2 /* controller */
            bipush 121
            if_icmpne 36
        30: .line 1041
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        31: goto 35
        32: .line 1042
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 34
        33: .line 1043
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            iconst_2
            iconst_m1
            invokevirtual com.sun.media.sound.SoftVoice.rpnChange:(II)V
        34: .line 1041
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 32
        end local 4 // int i
        36: .line 1046
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int value
        end local 2 // int controller
        end local 1 // int noteNumber
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   37     0        this  Lcom/sun/media/sound/SoftChannel;
            0   37     1  noteNumber  I
            0   37     2  controller  I
            0   37     3       value  I
           15   20     4           i  I
           23   28     4           i  I
           31   36     4           i  I
    MethodParameters:
            Name  Flags
      noteNumber  
      controller  
      value       

  public int getControlPerNote(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int noteNumber
        start local 2 // int controller
         0: .line 1049
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
            ifnonnull 2
         1: .line 1050
            iconst_m1
            ireturn
         2: .line 1051
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
            iload 1 /* noteNumber */
            aaload
            ifnonnull 4
         3: .line 1052
            iconst_m1
            ireturn
         4: .line 1053
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
            iload 1 /* noteNumber */
            aaload
            iload 2 /* controller */
            baload
            ifne 6
         5: .line 1054
            iconst_m1
            ireturn
         6: .line 1055
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.keybasedcontroller_value:[[D
            iload 1 /* noteNumber */
            aaload
            iload 2 /* controller */
            daload
            ldc 128.0
            dmul
            d2i
            ireturn
        end local 2 // int controller
        end local 1 // int noteNumber
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/sun/media/sound/SoftChannel;
            0    7     1  noteNumber  I
            0    7     2  controller  I
    MethodParameters:
            Name  Flags
      noteNumber  
      controller  

  public void controlChange(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int controller
        start local 2 // int value
         0: .line 1059
            iload 1 /* controller */
            invokestatic com.sun.media.sound.SoftChannel.restrict7Bit:(I)I
            istore 1 /* controller */
         1: .line 1060
            iload 2 /* value */
            invokestatic com.sun.media.sound.SoftChannel.restrict7Bit:(I)I
            istore 2 /* value */
         2: .line 1061
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 4
         3: .line 1062
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 1 /* controller */
            iload 2 /* value */
            invokeinterface com.sun.media.sound.ModelChannelMixer.controlChange:(II)V
         4: .line 1064
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         5: .line 1065
            iload 1 /* controller */
            lookupswitch { // 20
                    5: 6
                    6: 13
                   38: 13
                   64: 39
                   65: 63
                   66: 69
                   96: 13
                   97: 13
                   98: 92
                   99: 95
                  100: 98
                  101: 101
                  120: 104
                  121: 106
                  122: 110
                  123: 114
                  124: 116
                  125: 118
                  126: 120
                  127: 123
              default: 125
          }
         6: .line 1076
      StackMap locals: java.lang.Object
      StackMap stack:
            iload 2 /* value */
            i2d
            ldc 128.0
            ddiv
            ldc 2.0
            dmul
            dconst_1
            dsub
            invokestatic java.lang.Math.asin:(D)D
            dneg
            ldc 3.141592653589793
            ddiv
            ldc 0.5
            dadd
            dstore 4 /* x */
        start local 4 // double x
         7: .line 1077
            ldc 100000.0
            dload 4 /* x */
            invokestatic java.lang.Math.pow:(DD)D
            ldc 100.0
            ddiv
            dstore 4 /* x */
         8: .line 1079
            dload 4 /* x */
            ldc 100.0
            ddiv
            dstore 4 /* x */
         9: .line 1080
            dload 4 /* x */
            ldc 1000.0
            dmul
            dstore 4 /* x */
        10: .line 1081
            dload 4 /* x */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            invokevirtual com.sun.media.sound.SoftSynthesizer.getControlRate:()F
            f2d
            ddiv
            dstore 4 /* x */
        11: .line 1082
            aload 0 /* this */
            dload 4 /* x */
            putfield com.sun.media.sound.SoftChannel.portamento_time:D
        12: .line 1083
            goto 125
        end local 4 // double x
        13: .line 1088
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* val */
        start local 6 // int val
        14: .line 1089
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.nrpn_control:I
            sipush 16383
            if_icmpeq 18
        15: .line 1090
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_nrpn_nrpn_i:Ljava/util/Map;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.nrpn_control:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast int[]
            astore 7 /* val_i */
        start local 7 // int[] val_i
        16: .line 1091
            aload 7 /* val_i */
            ifnull 18
        17: .line 1092
            aload 7 /* val_i */
            iconst_0
            iaload
            istore 6 /* val */
        end local 7 // int[] val_i
        18: .line 1094
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object top top int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.rpn_control:I
            sipush 16383
            if_icmpeq 22
        19: .line 1095
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_rpn_rpn_i:Ljava/util/Map;
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.rpn_control:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast int[]
            astore 7 /* val_i */
        start local 7 // int[] val_i
        20: .line 1096
            aload 7 /* val_i */
            ifnull 22
        21: .line 1097
            aload 7 /* val_i */
            iconst_0
            iaload
            istore 6 /* val */
        end local 7 // int[] val_i
        22: .line 1100
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 6
            if_icmpne 24
        23: .line 1101
            iload 6 /* val */
            bipush 127
            iand
            iload 2 /* value */
            bipush 7
            ishl
            iadd
            istore 6 /* val */
            goto 34
        24: .line 1102
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 38
            if_icmpne 26
        25: .line 1103
            iload 6 /* val */
            sipush 16256
            iand
            iload 2 /* value */
            iadd
            istore 6 /* val */
            goto 34
        26: .line 1104
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 96
            if_icmpeq 27
            iload 1 /* controller */
            bipush 97
            if_icmpne 34
        27: .line 1105
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* step */
        start local 7 // int step
        28: .line 1106
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.rpn_control:I
            iconst_2
            if_icmpeq 29
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.rpn_control:I
            iconst_3
            if_icmpeq 29
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.rpn_control:I
            iconst_4
            if_icmpne 30
        29: .line 1107
      StackMap locals: int
      StackMap stack:
            sipush 128
            istore 7 /* step */
        30: .line 1108
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 96
            if_icmpne 32
        31: .line 1109
            iload 6 /* val */
            iload 7 /* step */
            iadd
            istore 6 /* val */
        32: .line 1110
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 97
            if_icmpne 34
        33: .line 1111
            iload 6 /* val */
            iload 7 /* step */
            isub
            istore 6 /* val */
        end local 7 // int step
        34: .line 1114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.nrpn_control:I
            sipush 16383
            if_icmpeq 36
        35: .line 1115
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.nrpn_control:I
            iload 6 /* val */
            invokevirtual com.sun.media.sound.SoftChannel.nrpnChange:(II)V
        36: .line 1116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.rpn_control:I
            sipush 16383
            if_icmpeq 125
        37: .line 1117
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.rpn_control:I
            iload 6 /* val */
            invokevirtual com.sun.media.sound.SoftChannel.rpnChange:(II)V
        38: .line 1119
            goto 125
        end local 6 // int val
        39: .line 1121
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object
      StackMap stack:
            iload 2 /* value */
            bipush 64
            if_icmplt 40
            iconst_1
            goto 41
      StackMap locals:
      StackMap stack:
        40: iconst_0
      StackMap locals:
      StackMap stack: int
        41: istore 7 /* on */
        start local 7 // boolean on
        42: .line 1122
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.sustain:Z
            iload 7 /* on */
            if_icmpeq 125
        43: .line 1123
            aload 0 /* this */
            iload 7 /* on */
            putfield com.sun.media.sound.SoftChannel.sustain:Z
        44: .line 1124
            iload 7 /* on */
            ifne 56
        45: .line 1125
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        46: goto 54
        47: .line 1126
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object top top top int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 53
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.sustain:Z
            ifeq 53
        48: .line 1127
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 53
        49: .line 1128
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            iconst_0
            putfield com.sun.media.sound.SoftVoice.sustain:Z
        50: .line 1129
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifne 53
        51: .line 1130
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            iconst_1
            putfield com.sun.media.sound.SoftVoice.on:Z
        52: .line 1131
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            iconst_0
            invokevirtual com.sun.media.sound.SoftVoice.noteOff:(I)V
        53: .line 1125
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 8 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 47
        end local 8 // int i
        55: .line 1135
            goto 125
        56: .line 1136
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        57: goto 61
        58: .line 1137
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 60
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 60
        59: .line 1138
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            invokevirtual com.sun.media.sound.SoftVoice.redamp:()V
        60: .line 1136
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 8 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 58
        end local 8 // int i
        62: .line 1141
            goto 125
        end local 7 // boolean on
        63: .line 1144
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iload 2 /* value */
            bipush 64
            if_icmplt 64
            iconst_1
            goto 65
      StackMap locals:
      StackMap stack: com.sun.media.sound.SoftChannel
        64: iconst_0
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object
      StackMap stack: com.sun.media.sound.SoftChannel int
        65: putfield com.sun.media.sound.SoftChannel.portamento:Z
        66: .line 1145
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.portamento_lastnote:[I
            iconst_0
            iconst_m1
            iastore
        67: .line 1150
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.portamento_lastnote_ix:I
        68: .line 1151
            goto 125
        69: .line 1153
      StackMap locals:
      StackMap stack:
            iload 2 /* value */
            bipush 64
            if_icmplt 70
            iconst_1
            goto 71
      StackMap locals:
      StackMap stack:
        70: iconst_0
      StackMap locals:
      StackMap stack: int
        71: istore 7 /* on */
        start local 7 // boolean on
        72: .line 1154
            iload 7 /* on */
            ifeq 80
        73: .line 1155
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        74: goto 79
        75: .line 1156
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object top top top int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 78
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifeq 78
        76: .line 1157
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 78
        77: .line 1158
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            iconst_1
            putfield com.sun.media.sound.SoftVoice.sostenuto:Z
        78: .line 1155
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        79: iload 8 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 75
        end local 8 // int i
        80: .line 1162
      StackMap locals:
      StackMap stack:
            iload 7 /* on */
            ifne 125
        81: .line 1163
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        82: goto 90
        83: .line 1164
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 89
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.sostenuto:Z
            ifeq 89
        84: .line 1165
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 89
        85: .line 1166
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            iconst_0
            putfield com.sun.media.sound.SoftVoice.sostenuto:Z
        86: .line 1167
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifne 89
        87: .line 1168
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            iconst_1
            putfield com.sun.media.sound.SoftVoice.on:Z
        88: .line 1169
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 8 /* i */
            aaload
            iconst_0
            invokevirtual com.sun.media.sound.SoftVoice.noteOff:(I)V
        89: .line 1163
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        90: iload 8 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 83
        end local 8 // int i
        91: .line 1174
            goto 125
        end local 7 // boolean on
        92: .line 1176
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.nrpn_control:I
            sipush 16256
            iand
            iload 2 /* value */
            iadd
            putfield com.sun.media.sound.SoftChannel.nrpn_control:I
        93: .line 1177
            aload 0 /* this */
            sipush 16383
            putfield com.sun.media.sound.SoftChannel.rpn_control:I
        94: .line 1178
            goto 125
        95: .line 1180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.nrpn_control:I
            bipush 127
            iand
            iload 2 /* value */
            bipush 7
            ishl
            iadd
            putfield com.sun.media.sound.SoftChannel.nrpn_control:I
        96: .line 1181
            aload 0 /* this */
            sipush 16383
            putfield com.sun.media.sound.SoftChannel.rpn_control:I
        97: .line 1182
            goto 125
        98: .line 1184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.rpn_control:I
            sipush 16256
            iand
            iload 2 /* value */
            iadd
            putfield com.sun.media.sound.SoftChannel.rpn_control:I
        99: .line 1185
            aload 0 /* this */
            sipush 16383
            putfield com.sun.media.sound.SoftChannel.nrpn_control:I
       100: .line 1186
            goto 125
       101: .line 1188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.rpn_control:I
            bipush 127
            iand
            iload 2 /* value */
            bipush 7
            ishl
            iadd
            putfield com.sun.media.sound.SoftChannel.rpn_control:I
       102: .line 1189
            aload 0 /* this */
            sipush 16383
            putfield com.sun.media.sound.SoftChannel.nrpn_control:I
       103: .line 1190
            goto 125
       104: .line 1192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftChannel.allSoundOff:()V
       105: .line 1193
            goto 125
       106: .line 1195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* value */
            bipush 127
            if_icmpne 107
            iconst_1
            goto 108
      StackMap locals:
      StackMap stack: com.sun.media.sound.SoftChannel
       107: iconst_0
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object
      StackMap stack: com.sun.media.sound.SoftChannel int
       108: invokevirtual com.sun.media.sound.SoftChannel.resetAllControllers:(Z)V
       109: .line 1196
            goto 125
       110: .line 1198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* value */
            bipush 64
            if_icmplt 111
            iconst_1
            goto 112
      StackMap locals:
      StackMap stack: com.sun.media.sound.SoftChannel
       111: iconst_0
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object
      StackMap stack: com.sun.media.sound.SoftChannel int
       112: invokevirtual com.sun.media.sound.SoftChannel.localControl:(Z)Z
            pop
       113: .line 1199
            goto 125
       114: .line 1201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftChannel.allNotesOff:()V
       115: .line 1202
            goto 125
       116: .line 1204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.setOmni:(Z)V
       117: .line 1205
            goto 125
       118: .line 1207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.media.sound.SoftChannel.setOmni:(Z)V
       119: .line 1208
            goto 125
       120: .line 1210
      StackMap locals:
      StackMap stack:
            iload 2 /* value */
            iconst_1
            if_icmpne 125
       121: .line 1211
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.media.sound.SoftChannel.setMono:(Z)V
       122: .line 1212
            goto 125
       123: .line 1214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.setMono:(Z)V
       124: .line 1215
            goto 125
       125: .line 1221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_cc_cc:[[D
            iload 1 /* controller */
            aaload
            iconst_0
            iload 2 /* value */
            i2d
            ldc 0.0078125
            dmul
            dastore
       126: .line 1223
            iload 1 /* controller */
            ifne 130
       127: .line 1224
            aload 0 /* this */
            iload 2 /* value */
            bipush 7
            ishl
            putfield com.sun.media.sound.SoftChannel.bank:I
       128: .line 1225
            aload 3
            monitorexit
       129: return
       130: .line 1228
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 32
            if_icmpne 134
       131: .line 1229
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.bank:I
            sipush 16256
            iand
            iload 2 /* value */
            iadd
            putfield com.sun.media.sound.SoftChannel.bank:I
       132: .line 1230
            aload 3
            monitorexit
       133: return
       134: .line 1233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.controller:[I
            iload 1 /* controller */
            iload 2 /* value */
            iastore
       135: .line 1234
            iload 1 /* controller */
            bipush 32
            if_icmpge 137
       136: .line 1235
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.controller:[I
            iload 1 /* controller */
            bipush 32
            iadd
            iconst_0
            iastore
       137: .line 1237
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
       138: goto 142
       139: .line 1238
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 141
       140: .line 1239
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 4 /* i */
            aaload
            iload 1 /* controller */
            iload 2 /* value */
            invokevirtual com.sun.media.sound.SoftVoice.controlChange:(II)V
       141: .line 1237
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
       142: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 139
        end local 4 // int i
       143: .line 1064
            aload 3
            monitorexit
       144: goto 147
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object
      StackMap stack: java.lang.Throwable
       145: aload 3
            monitorexit
       146: athrow
       147: .line 1242
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int value
        end local 1 // int controller
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0  148     0        this  Lcom/sun/media/sound/SoftChannel;
            0  148     1  controller  I
            0  148     2       value  I
            7   13     4           x  D
           14   39     6         val  I
           16   18     7       val_i  [I
           20   22     7       val_i  [I
           28   34     7        step  I
           42   63     7          on  Z
           72   92     7          on  Z
           46   55     8           i  I
           57   62     8           i  I
           74   80     8           i  I
           82   91     8           i  I
          138  143     4           i  I
      Exception table:
        from    to  target  type
           5   129     145  any
         130   133     145  any
         134   144     145  any
         145   146     145  any
    MethodParameters:
            Name  Flags
      controller  
      value       

  public int getController(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int controller
         0: .line 1245
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 1248
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.controller:[I
            iload 1 /* controller */
            iaload
            bipush 127
            iand
            aload 2
            monitorexit
         2: ireturn
         3: .line 1245
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // int controller
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/media/sound/SoftChannel;
            0    5     1  controller  I
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
            Name  Flags
      controller  

  public void tuningChange(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int program
         0: .line 1253
            aload 0 /* this */
            iconst_0
            iload 1 /* program */
            invokevirtual com.sun.media.sound.SoftChannel.tuningChange:(II)V
         1: .line 1254
            return
        end local 1 // int program
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/media/sound/SoftChannel;
            0    2     1  program  I
    MethodParameters:
         Name  Flags
      program  

  public void tuningChange(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int bank
        start local 2 // int program
         0: .line 1257
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 1258
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            new javax.sound.midi.Patch
            dup
            iload 1 /* bank */
            iload 2 /* program */
            invokespecial javax.sound.midi.Patch.<init>:(II)V
            invokevirtual com.sun.media.sound.SoftSynthesizer.getTuning:(Ljavax/sound/midi/Patch;)Lcom/sun/media/sound/SoftTuning;
            putfield com.sun.media.sound.SoftChannel.tuning:Lcom/sun/media/sound/SoftTuning;
         2: .line 1257
            aload 3
            monitorexit
         3: goto 6
      StackMap locals: com.sun.media.sound.SoftChannel int int java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
         6: .line 1260
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int program
        end local 1 // int bank
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/sun/media/sound/SoftChannel;
            0    7     1     bank  I
            0    7     2  program  I
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
         Name  Flags
      bank     
      program  

  public void programChange(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int program
         0: .line 1263
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.bank:I
            iload 1 /* program */
            invokevirtual com.sun.media.sound.SoftChannel.programChange:(II)V
         1: .line 1264
            return
        end local 1 // int program
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/media/sound/SoftChannel;
            0    2     1  program  I
    MethodParameters:
         Name  Flags
      program  

  public void programChange(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int bank
        start local 2 // int program
         0: .line 1267
            iload 1 /* bank */
            invokestatic com.sun.media.sound.SoftChannel.restrict14Bit:(I)I
            istore 1 /* bank */
         1: .line 1268
            iload 2 /* program */
            invokestatic com.sun.media.sound.SoftChannel.restrict7Bit:(I)I
            istore 2 /* program */
         2: .line 1269
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         3: .line 1270
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.activity:()V
         4: .line 1271
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.bank:I
            iload 1 /* bank */
            if_icmpne 5
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.program:I
            iload 2 /* program */
            if_icmpeq 8
         5: .line 1273
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iload 1 /* bank */
            putfield com.sun.media.sound.SoftChannel.bank:I
         6: .line 1274
            aload 0 /* this */
            iload 2 /* program */
            putfield com.sun.media.sound.SoftChannel.program:I
         7: .line 1275
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.current_instrument:Lcom/sun/media/sound/SoftInstrument;
         8: .line 1269
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 3
            monitorexit
        11: athrow
        12: .line 1278
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int program
        end local 1 // int bank
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/sun/media/sound/SoftChannel;
            0   13     1     bank  I
            0   13     2  program  I
      Exception table:
        from    to  target  type
           3     9      10  any
          10    11      10  any
    MethodParameters:
         Name  Flags
      bank     
      program  

  public int getProgram();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 1281
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1282
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.program:I
            aload 1
            monitorexit
         2: ireturn
         3: .line 1281
      StackMap locals: com.sun.media.sound.SoftChannel java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/media/sound/SoftChannel;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public void setPitchBend(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int bend
         0: .line 1287
            iload 1 /* bend */
            invokestatic com.sun.media.sound.SoftChannel.restrict14Bit:(I)I
            istore 1 /* bend */
         1: .line 1288
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 3
         2: .line 1289
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 1 /* bend */
            invokeinterface com.sun.media.sound.ModelChannelMixer.setPitchBend:(I)V
         3: .line 1290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         4: .line 1291
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.activity:()V
         5: .line 1292
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_pitch:[D
            iconst_0
            iload 1 /* bend */
            i2d
            ldc 6.103515625E-5
            dmul
            dastore
         6: .line 1293
            aload 0 /* this */
            iload 1 /* bend */
            putfield com.sun.media.sound.SoftChannel.pitchbend:I
         7: .line 1294
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 1295
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 3 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 11
        10: .line 1296
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 3 /* i */
            aaload
            iload 1 /* bend */
            invokevirtual com.sun.media.sound.SoftVoice.setPitchBend:(I)V
        11: .line 1294
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 9
        end local 3 // int i
        13: .line 1290
            aload 2
            monitorexit
        14: goto 17
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object
      StackMap stack: java.lang.Throwable
        15: aload 2
            monitorexit
        16: athrow
        17: .line 1298
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int bend
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lcom/sun/media/sound/SoftChannel;
            0   18     1  bend  I
            8   13     3     i  I
      Exception table:
        from    to  target  type
           4    14      15  any
          15    16      15  any
    MethodParameters:
      Name  Flags
      bend  

  public int getPitchBend();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 1301
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1302
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.pitchbend:I
            aload 1
            monitorexit
         2: ireturn
         3: .line 1301
      StackMap locals: com.sun.media.sound.SoftChannel java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/media/sound/SoftChannel;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public void nrpnChange(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int controller
        start local 2 // int value
         0: .line 1316
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            invokevirtual com.sun.media.sound.SoftSynthesizer.getGeneralMidiMode:()I
            ifne 27
         1: .line 1317
            iload 1 /* controller */
            sipush 136
            if_icmpne 3
         2: .line 1318
            aload 0 /* this */
            bipush 76
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
         3: .line 1319
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            sipush 137
            if_icmpne 5
         4: .line 1320
            aload 0 /* this */
            bipush 77
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
         5: .line 1321
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            sipush 138
            if_icmpne 7
         6: .line 1322
            aload 0 /* this */
            bipush 78
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
         7: .line 1323
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            sipush 160
            if_icmpne 9
         8: .line 1324
            aload 0 /* this */
            bipush 74
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
         9: .line 1325
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            sipush 161
            if_icmpne 11
        10: .line 1326
            aload 0 /* this */
            bipush 71
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        11: .line 1327
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            sipush 227
            if_icmpne 13
        12: .line 1328
            aload 0 /* this */
            bipush 73
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        13: .line 1329
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            sipush 228
            if_icmpne 15
        14: .line 1330
            aload 0 /* this */
            bipush 75
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        15: .line 1331
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            sipush 230
            if_icmpne 17
        16: .line 1332
            aload 0 /* this */
            bipush 72
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        17: .line 1334
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 7
            ishr
            bipush 24
            if_icmpne 19
        18: .line 1335
            aload 0 /* this */
            iload 1 /* controller */
            sipush 128
            irem
            bipush 120
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChangePerNote:(III)V
        19: .line 1336
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 7
            ishr
            bipush 26
            if_icmpne 21
        20: .line 1337
            aload 0 /* this */
            iload 1 /* controller */
            sipush 128
            irem
            bipush 7
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChangePerNote:(III)V
        21: .line 1338
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 7
            ishr
            bipush 28
            if_icmpne 23
        22: .line 1339
            aload 0 /* this */
            iload 1 /* controller */
            sipush 128
            irem
            bipush 10
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChangePerNote:(III)V
        23: .line 1340
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 7
            ishr
            bipush 29
            if_icmpne 25
        24: .line 1341
            aload 0 /* this */
            iload 1 /* controller */
            sipush 128
            irem
            bipush 91
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChangePerNote:(III)V
        25: .line 1342
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            bipush 7
            ishr
            bipush 30
            if_icmpne 27
        26: .line 1343
            aload 0 /* this */
            iload 1 /* controller */
            sipush 128
            irem
            bipush 93
            iload 2 /* value */
            bipush 7
            ishr
            invokevirtual com.sun.media.sound.SoftChannel.controlChangePerNote:(III)V
        27: .line 1346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_nrpn_nrpn_i:Ljava/util/Map;
            iload 1 /* controller */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast int[]
            astore 3 /* val_i */
        start local 3 // int[] val_i
        28: .line 1347
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_nrpn_nrpn:Ljava/util/Map;
            iload 1 /* controller */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast double[]
            astore 4 /* val_d */
        start local 4 // double[] val_d
        29: .line 1348
            aload 3 /* val_i */
            ifnonnull 32
        30: .line 1349
            iconst_1
            newarray 10
            astore 3 /* val_i */
        31: .line 1350
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_nrpn_nrpn_i:Ljava/util/Map;
            iload 1 /* controller */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* val_i */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 1352
      StackMap locals: int[] double[]
      StackMap stack:
            aload 4 /* val_d */
            ifnonnull 35
        33: .line 1353
            iconst_1
            newarray 7
            astore 4 /* val_d */
        34: .line 1354
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_nrpn_nrpn:Ljava/util/Map;
            iload 1 /* controller */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* val_d */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 1356
      StackMap locals:
      StackMap stack:
            aload 3 /* val_i */
            iconst_0
            iload 2 /* value */
            iastore
        36: .line 1357
            aload 4 /* val_d */
            iconst_0
            aload 3 /* val_i */
            iconst_0
            iaload
            i2d
            ldc 6.103515625E-5
            dmul
            dastore
        37: .line 1359
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        38: goto 42
        39: .line 1360
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 41
        40: .line 1361
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            iload 1 /* controller */
            aload 3 /* val_i */
            iconst_0
            iaload
            invokevirtual com.sun.media.sound.SoftVoice.nrpnChange:(II)V
        41: .line 1359
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 39
        end local 5 // int i
        43: .line 1363
            return
        end local 4 // double[] val_d
        end local 3 // int[] val_i
        end local 2 // int value
        end local 1 // int controller
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   44     0        this  Lcom/sun/media/sound/SoftChannel;
            0   44     1  controller  I
            0   44     2       value  I
           28   44     3       val_i  [I
           29   44     4       val_d  [D
           38   43     5           i  I
    MethodParameters:
            Name  Flags
      controller  
      value       

  public void rpnChange(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // int controller
        start local 2 // int value
         0: .line 1375
            iload 1 /* controller */
            iconst_3
            if_icmpne 3
         1: .line 1376
            aload 0 /* this */
            iload 2 /* value */
            bipush 7
            ishr
            bipush 127
            iand
            putfield com.sun.media.sound.SoftChannel.tuning_program:I
         2: .line 1377
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.tuning_bank:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.tuning_program:I
            invokevirtual com.sun.media.sound.SoftChannel.tuningChange:(II)V
         3: .line 1379
      StackMap locals:
      StackMap stack:
            iload 1 /* controller */
            iconst_4
            if_icmpne 5
         4: .line 1380
            aload 0 /* this */
            iload 2 /* value */
            bipush 7
            ishr
            bipush 127
            iand
            putfield com.sun.media.sound.SoftChannel.tuning_bank:I
         5: .line 1383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_rpn_rpn_i:Ljava/util/Map;
            iload 1 /* controller */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast int[]
            astore 3 /* val_i */
        start local 3 // int[] val_i
         6: .line 1384
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_rpn_rpn:Ljava/util/Map;
            iload 1 /* controller */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast double[]
            astore 4 /* val_d */
        start local 4 // double[] val_d
         7: .line 1385
            aload 3 /* val_i */
            ifnonnull 10
         8: .line 1386
            iconst_1
            newarray 10
            astore 3 /* val_i */
         9: .line 1387
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_rpn_rpn_i:Ljava/util/Map;
            iload 1 /* controller */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* val_i */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1389
      StackMap locals: int[] double[]
      StackMap stack:
            aload 4 /* val_d */
            ifnonnull 13
        11: .line 1390
            iconst_1
            newarray 7
            astore 4 /* val_d */
        12: .line 1391
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_rpn_rpn:Ljava/util/Map;
            iload 1 /* controller */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* val_d */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 1393
      StackMap locals:
      StackMap stack:
            aload 3 /* val_i */
            iconst_0
            iload 2 /* value */
            iastore
        14: .line 1394
            aload 4 /* val_d */
            iconst_0
            aload 3 /* val_i */
            iconst_0
            iaload
            i2d
            ldc 6.103515625E-5
            dmul
            dastore
        15: .line 1396
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 20
        17: .line 1397
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 19
        18: .line 1398
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 5 /* i */
            aaload
            iload 1 /* controller */
            aload 3 /* val_i */
            iconst_0
            iaload
            invokevirtual com.sun.media.sound.SoftVoice.rpnChange:(II)V
        19: .line 1396
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 17
        end local 5 // int i
        21: .line 1399
            return
        end local 4 // double[] val_d
        end local 3 // int[] val_i
        end local 2 // int value
        end local 1 // int controller
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lcom/sun/media/sound/SoftChannel;
            0   22     1  controller  I
            0   22     2       value  I
            6   22     3       val_i  [I
            7   22     4       val_d  [D
           16   21     5           i  I
    MethodParameters:
            Name  Flags
      controller  
      value       

  public void resetAllControllers();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 1402
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.resetAllControllers:(Z)V
         1: .line 1403
            return
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SoftChannel;

  public void resetAllControllers(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // boolean allControls
         0: .line 1406
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 1407
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mainmixer:Lcom/sun/media/sound/SoftMainMixer;
            invokevirtual com.sun.media.sound.SoftMainMixer.activity:()V
         2: .line 1409
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1410
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.setPolyPressure:(II)V
         5: .line 1409
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            sipush 128
            if_icmplt 4
        end local 3 // int i
         7: .line 1412
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.setChannelPressure:(I)V
         8: .line 1413
            aload 0 /* this */
            sipush 8192
            invokevirtual com.sun.media.sound.SoftChannel.setPitchBend:(I)V
         9: .line 1414
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 14
        11: .line 1415
      StackMap locals:
      StackMap stack:
            getstatic com.sun.media.sound.SoftChannel.dontResetControls:[Z
            iload 3 /* i */
            baload
            ifne 13
        12: .line 1416
            aload 0 /* this */
            iload 3 /* i */
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        13: .line 1414
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            sipush 128
            if_icmplt 11
        end local 3 // int i
        15: .line 1419
            aload 0 /* this */
            bipush 71
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        16: .line 1420
            aload 0 /* this */
            bipush 72
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        17: .line 1421
            aload 0 /* this */
            bipush 73
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        18: .line 1422
            aload 0 /* this */
            bipush 74
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        19: .line 1423
            aload 0 /* this */
            bipush 75
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        20: .line 1424
            aload 0 /* this */
            bipush 76
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        21: .line 1425
            aload 0 /* this */
            bipush 77
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        22: .line 1426
            aload 0 /* this */
            bipush 78
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        23: .line 1428
            aload 0 /* this */
            bipush 8
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        24: .line 1429
            aload 0 /* this */
            bipush 11
            bipush 127
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        25: .line 1430
            aload 0 /* this */
            bipush 98
            bipush 127
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        26: .line 1431
            aload 0 /* this */
            bipush 99
            bipush 127
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        27: .line 1432
            aload 0 /* this */
            bipush 100
            bipush 127
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        28: .line 1433
            aload 0 /* this */
            bipush 101
            bipush 127
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        29: .line 1436
            iload 1 /* allControls */
            ifeq 51
        30: .line 1438
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.keybasedcontroller_active:[[Z
        31: .line 1439
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SoftChannel.keybasedcontroller_value:[[D
        32: .line 1441
            aload 0 /* this */
            bipush 7
            bipush 100
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        33: .line 1442
            aload 0 /* this */
            bipush 10
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        34: .line 1443
            aload 0 /* this */
            bipush 91
            bipush 40
            invokevirtual com.sun.media.sound.SoftChannel.controlChange:(II)V
        35: .line 1445
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_rpn_rpn:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 39
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object top java.util.Iterator
      StackMap stack:
        36: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* controller */
        start local 3 // int controller
        37: .line 1447
            iload 3 /* controller */
            iconst_3
            if_icmpeq 39
            iload 3 /* controller */
            iconst_4
            if_icmpeq 39
        38: .line 1448
            aload 0 /* this */
            iload 3 /* controller */
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.rpnChange:(II)V
        end local 3 // int controller
        39: .line 1445
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        40: .line 1450
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.co_midi_nrpn_nrpn:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 43
      StackMap locals:
      StackMap stack:
        41: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* controller */
        start local 3 // int controller
        42: .line 1451
            aload 0 /* this */
            iload 3 /* controller */
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.nrpnChange:(II)V
        end local 3 // int controller
        43: .line 1450
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        44: .line 1452
            aload 0 /* this */
            iconst_0
            sipush 256
            invokevirtual com.sun.media.sound.SoftChannel.rpnChange:(II)V
        45: .line 1453
            aload 0 /* this */
            iconst_1
            sipush 8192
            invokevirtual com.sun.media.sound.SoftChannel.rpnChange:(II)V
        46: .line 1454
            aload 0 /* this */
            iconst_2
            sipush 8192
            invokevirtual com.sun.media.sound.SoftChannel.rpnChange:(II)V
        47: .line 1455
            aload 0 /* this */
            iconst_5
            bipush 64
            invokevirtual com.sun.media.sound.SoftChannel.rpnChange:(II)V
        48: .line 1457
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.tuning_bank:I
        49: .line 1458
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SoftChannel.tuning_program:I
        50: .line 1459
            aload 0 /* this */
            new com.sun.media.sound.SoftTuning
            dup
            invokespecial com.sun.media.sound.SoftTuning.<init>:()V
            putfield com.sun.media.sound.SoftChannel.tuning:Lcom/sun/media/sound/SoftTuning;
        51: .line 1406
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
        52: goto 55
      StackMap locals:
      StackMap stack: java.lang.Throwable
        53: aload 2
            monitorexit
        54: athrow
        55: .line 1464
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean allControls
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   56     0         this  Lcom/sun/media/sound/SoftChannel;
            0   56     1  allControls  Z
            3    7     3            i  I
           10   15     3            i  I
           37   39     3   controller  I
           42   43     3   controller  I
      Exception table:
        from    to  target  type
           1    52      53  any
          53    54      53  any
    MethodParameters:
             Name  Flags
      allControls  

  public void allNotesOff();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 1467
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 2
         1: .line 1468
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            invokeinterface com.sun.media.sound.ModelChannelMixer.allNotesOff:()V
         2: .line 1469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         3: .line 1470
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 1471
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 2 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifeq 8
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 2 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 8
         6: .line 1472
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 2 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.releaseTriggered:Z
            ifne 8
         7: .line 1473
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 2 /* i */
            aaload
            iconst_0
            invokevirtual com.sun.media.sound.SoftVoice.noteOff:(I)V
         8: .line 1470
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 5
        end local 2 // int i
        10: .line 1469
            aload 1
            monitorexit
        11: goto 14
      StackMap locals: com.sun.media.sound.SoftChannel java.lang.Object
      StackMap stack: java.lang.Throwable
        12: aload 1
            monitorexit
        13: athrow
        14: .line 1476
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/sun/media/sound/SoftChannel;
            4   10     2     i  I
      Exception table:
        from    to  target  type
           3    11      12  any
          12    13      12  any

  public void allSoundOff();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 1479
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 2
         1: .line 1480
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            invokeinterface com.sun.media.sound.ModelChannelMixer.allSoundOff:()V
         2: .line 1481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         3: .line 1482
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 8
         5: .line 1483
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 2 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.on:Z
            ifeq 7
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 2 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 7
         6: .line 1484
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 2 /* i */
            aaload
            invokevirtual com.sun.media.sound.SoftVoice.soundOff:()V
         7: .line 1482
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 5
        end local 2 // int i
         9: .line 1481
            aload 1
            monitorexit
        10: goto 13
      StackMap locals: com.sun.media.sound.SoftChannel java.lang.Object
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 1486
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/sun/media/sound/SoftChannel;
            4    9     2     i  I
      Exception table:
        from    to  target  type
           3    10      11  any
          11    12      11  any

  public boolean localControl(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // boolean on
         0: .line 1489
            iconst_0
            ireturn
        end local 1 // boolean on
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SoftChannel;
            0    1     1    on  Z
    MethodParameters:
      Name  Flags
      on    

  public void setMono(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // boolean on
         0: .line 1493
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 2
         1: .line 1494
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 1 /* on */
            invokeinterface com.sun.media.sound.ModelChannelMixer.setMono:(Z)V
         2: .line 1495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         3: .line 1496
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftChannel.allNotesOff:()V
         4: .line 1497
            aload 0 /* this */
            iload 1 /* on */
            putfield com.sun.media.sound.SoftChannel.mono:Z
         5: .line 1495
            aload 2
            monitorexit
         6: goto 9
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 1499
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean on
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/media/sound/SoftChannel;
            0   10     1    on  Z
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      on    

  public boolean getMono();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 1502
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1503
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mono:Z
            aload 1
            monitorexit
         2: ireturn
         3: .line 1502
      StackMap locals: com.sun.media.sound.SoftChannel java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/media/sound/SoftChannel;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public void setOmni(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // boolean on
         0: .line 1508
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 2
         1: .line 1509
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 1 /* on */
            invokeinterface com.sun.media.sound.ModelChannelMixer.setOmni:(Z)V
         2: .line 1510
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SoftChannel.allNotesOff:()V
         3: .line 1512
            return
        end local 1 // boolean on
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/media/sound/SoftChannel;
            0    4     1    on  Z
    MethodParameters:
      Name  Flags
      on    

  public boolean getOmni();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 1515
            iconst_0
            ireturn
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SoftChannel;

  public void setMute(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // boolean mute
         0: .line 1519
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 2
         1: .line 1520
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 1 /* mute */
            invokeinterface com.sun.media.sound.ModelChannelMixer.setMute:(Z)V
         2: .line 1521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         3: .line 1522
            aload 0 /* this */
            iload 1 /* mute */
            putfield com.sun.media.sound.SoftChannel.mute:Z
         4: .line 1523
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 1524
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 3 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 8
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 3 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 8
         7: .line 1525
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 3 /* i */
            aaload
            iload 1 /* mute */
            invokevirtual com.sun.media.sound.SoftVoice.setMute:(Z)V
         8: .line 1523
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 6
        end local 3 // int i
        10: .line 1521
            aload 2
            monitorexit
        11: goto 14
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object
      StackMap stack: java.lang.Throwable
        12: aload 2
            monitorexit
        13: athrow
        14: .line 1527
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean mute
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/sun/media/sound/SoftChannel;
            0   15     1  mute  Z
            5   10     3     i  I
      Exception table:
        from    to  target  type
           3    11      12  any
          12    13      12  any
    MethodParameters:
      Name  Flags
      mute  

  public boolean getMute();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 1530
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1531
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.mute:Z
            aload 1
            monitorexit
         2: ireturn
         3: .line 1530
      StackMap locals: com.sun.media.sound.SoftChannel java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/media/sound/SoftChannel;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public void setSolo(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // boolean soloState
         0: .line 1536
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            ifnull 2
         1: .line 1537
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.current_mixer:Lcom/sun/media/sound/ModelChannelMixer;
            iload 1 /* soloState */
            invokeinterface com.sun.media.sound.ModelChannelMixer.setSolo:(Z)V
         2: .line 1539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         3: .line 1540
            aload 0 /* this */
            iload 1 /* soloState */
            putfield com.sun.media.sound.SoftChannel.solo:Z
         4: .line 1542
            iconst_0
            istore 3 /* soloinuse */
        start local 3 // boolean soloinuse
         5: .line 1543
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            getfield com.sun.media.sound.SoftSynthesizer.channels:[Lcom/sun/media/sound/SoftChannel;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 11
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object int top int int com.sun.media.sound.SoftChannel[]
      StackMap stack:
         6: aload 7
            iload 5
            aaload
            astore 4 /* c */
        start local 4 // com.sun.media.sound.SoftChannel c
         7: .line 1544
            aload 4 /* c */
            getfield com.sun.media.sound.SoftChannel.solo:Z
            ifeq 10
         8: .line 1545
            iconst_1
            istore 3 /* soloinuse */
         9: .line 1546
            goto 12
        end local 4 // com.sun.media.sound.SoftChannel c
        10: .line 1543
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        11: iload 5
            iload 6
            if_icmplt 6
        12: .line 1550
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object int
      StackMap stack:
            iload 3 /* soloinuse */
            ifne 20
        13: .line 1551
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            getfield com.sun.media.sound.SoftSynthesizer.channels:[Lcom/sun/media/sound/SoftChannel;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 17
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object int top int int com.sun.media.sound.SoftChannel[]
      StackMap stack:
        14: aload 7
            iload 5
            aaload
            astore 4 /* c */
        start local 4 // com.sun.media.sound.SoftChannel c
        15: .line 1552
            aload 4 /* c */
            iconst_0
            invokevirtual com.sun.media.sound.SoftChannel.setSoloMute:(Z)V
        end local 4 // com.sun.media.sound.SoftChannel c
        16: .line 1551
            iinc 5 1
      StackMap locals:
      StackMap stack:
        17: iload 5
            iload 6
            if_icmplt 14
        18: .line 1553
            aload 2
            monitorexit
        19: return
        20: .line 1556
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.synthesizer:Lcom/sun/media/sound/SoftSynthesizer;
            getfield com.sun.media.sound.SoftSynthesizer.channels:[Lcom/sun/media/sound/SoftChannel;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 26
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object int top int int com.sun.media.sound.SoftChannel[]
      StackMap stack:
        21: aload 7
            iload 5
            aaload
            astore 4 /* c */
        start local 4 // com.sun.media.sound.SoftChannel c
        22: .line 1557
            aload 4 /* c */
            aload 4 /* c */
            getfield com.sun.media.sound.SoftChannel.solo:Z
            ifeq 23
            iconst_0
            goto 24
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object int com.sun.media.sound.SoftChannel int int com.sun.media.sound.SoftChannel[]
      StackMap stack: com.sun.media.sound.SoftChannel
        23: iconst_1
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object int com.sun.media.sound.SoftChannel int int com.sun.media.sound.SoftChannel[]
      StackMap stack: com.sun.media.sound.SoftChannel int
        24: invokevirtual com.sun.media.sound.SoftChannel.setSoloMute:(Z)V
        end local 4 // com.sun.media.sound.SoftChannel c
        25: .line 1556
            iinc 5 1
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object int top int int com.sun.media.sound.SoftChannel[]
      StackMap stack:
        26: iload 5
            iload 6
            if_icmplt 21
        end local 3 // boolean soloinuse
        27: .line 1539
            aload 2
            monitorexit
        28: goto 31
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object
      StackMap stack: java.lang.Throwable
        29: aload 2
            monitorexit
        30: athrow
        31: .line 1561
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean soloState
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   32     0       this  Lcom/sun/media/sound/SoftChannel;
            0   32     1  soloState  Z
            5   27     3  soloinuse  Z
            7   10     4          c  Lcom/sun/media/sound/SoftChannel;
           15   16     4          c  Lcom/sun/media/sound/SoftChannel;
           22   25     4          c  Lcom/sun/media/sound/SoftChannel;
      Exception table:
        from    to  target  type
           3    19      29  any
          20    28      29  any
          29    30      29  any
    MethodParameters:
           Name  Flags
      soloState  

  private void setSoloMute(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.media.sound.SoftChannel this
        start local 1 // boolean mute
         0: .line 1564
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 1565
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.solomute:Z
            iload 1 /* mute */
            if_icmpne 4
         2: .line 1566
            aload 2
            monitorexit
         3: return
         4: .line 1567
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iload 1 /* mute */
            putfield com.sun.media.sound.SoftChannel.solomute:Z
         5: .line 1568
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 10
         7: .line 1569
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 3 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.active:Z
            ifeq 9
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 3 /* i */
            aaload
            getfield com.sun.media.sound.SoftVoice.channel:I
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.channel:I
            if_icmpne 9
         8: .line 1570
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.solomute:Z
            invokevirtual com.sun.media.sound.SoftVoice.setSoloMute:(Z)V
         9: .line 1568
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.voices:[Lcom/sun/media/sound/SoftVoice;
            arraylength
            if_icmplt 7
        end local 3 // int i
        11: .line 1564
            aload 2
            monitorexit
        12: goto 15
      StackMap locals: com.sun.media.sound.SoftChannel int java.lang.Object
      StackMap stack: java.lang.Throwable
        13: aload 2
            monitorexit
        14: athrow
        15: .line 1572
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean mute
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lcom/sun/media/sound/SoftChannel;
            0   16     1  mute  Z
            6   11     3     i  I
      Exception table:
        from    to  target  type
           1     3      13  any
           4    12      13  any
          13    14      13  any
    MethodParameters:
      Name  Flags
      mute  

  public boolean getSolo();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.sound.SoftChannel this
         0: .line 1575
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.control_mutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1576
            aload 0 /* this */
            getfield com.sun.media.sound.SoftChannel.solo:Z
            aload 1
            monitorexit
         2: ireturn
         3: .line 1575
      StackMap locals: com.sun.media.sound.SoftChannel java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // com.sun.media.sound.SoftChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/media/sound/SoftChannel;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
}
SourceFile: "SoftChannel.java"
NestMembers:
  com.sun.media.sound.SoftChannel$1  com.sun.media.sound.SoftChannel$2  com.sun.media.sound.SoftChannel$3  com.sun.media.sound.SoftChannel$4  com.sun.media.sound.SoftChannel$5  com.sun.media.sound.SoftChannel$MidiControlObject
InnerClasses:
  com.sun.media.sound.SoftChannel$1
  com.sun.media.sound.SoftChannel$2
  com.sun.media.sound.SoftChannel$3
  com.sun.media.sound.SoftChannel$4
  com.sun.media.sound.SoftChannel$5
  private MidiControlObject = com.sun.media.sound.SoftChannel$MidiControlObject of com.sun.media.sound.SoftChannel