--- /dev/null
+http://www.ibiblio.org/emusic-l/info-docs-FAQs/MIDI-doc/
+
+NOTE NUMBERS
+
+Octave|| C | C# | D | D# | E | F | F# | G | G# | A | A# | B
+------------------------------------------------------------------------------
+ 0 || 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
+ 1 || 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23
+ 2 || 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35
+ 3 || 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47
+ 4 || 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59
+ 5 || 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71
+ 6 || 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83
+ 7 || 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95
+ 8 || 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107
+ 9 || 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119
+ 10 || 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 |
+
+INSTRUMENTS (MIDISOFT)
+
+0 Acoustic Grand Piano
+1 Bright Acoustic Piano
+2 Electric Grand Piano
+3 Honky-Tonk Piano
+4 Rhodes Piano
+5 Chorused Piano
+6 Harpischord
+7 Clavinet
+8 Celesta
+9 Glockenspiel
+10 Music Box
+11 Vibraphone
+12 Marimba
+13 Xylophone
+14 Tubular Bells
+15 Dulcimer
+16 Hammond Organ
+17 Percussive Organ
+18 Rock Organ
+19 Church Organ
+20 Reed Organ
+21 Accordion
+22 Harmonica
+23 Tango Accordion
+24 Acoustic Nylon Guitar
+25 Acoustic Steel Guitar
+26 Electric Jazz Guitar
+27 Electric Clean Guitar
+28 Electric Muted Guitar
+29 Overdriven Guitar
+30 Distortion Guitar
+31 Guitar Harmonics
+32 Acoustic Bass
+33 Electric Bass Fingered
+34 Electric Bass Picked
+35 Fretless Bass
+36 Slap Bass 1
+37 Slap Bass 2
+38 Synth Bass 1
+39 Synth Bass 2
+40 Violin
+41 Viola
+42 Cello
+43 Contrabass
+44 Tremolo Strings
+45 Pizzicato Strings
+46 Orchestral Harp
+47 Timpani
+48 String Ensemble 1
+49 String Ensemble 2
+50 Synth Strings 1
+51 Synth Strings 2
+52 Choir Aahs
+53 Voice Oohs
+54 Synth Voice
+55 Orchestral Hit
+56 Trumpet
+57 Trombone
+58 Tuba
+59 Muted Trumpet
+60 French Horn
+61 Brass Section
+62 Synth Brass 1
+63 Synth Brass 2
+64 Soprano Sax
+65 Alto Sax
+66 Tenor Sax
+67 Baritone Sax
+68 Oboe
+69 English Horn
+70 Bassoon
+71 Clarinet
+72 Piccolo
+73 Flute
+74 Recorder
+75 Pan Flute
+76 Bottle Blow
+77 Shakuhachi
+78 Whistle
+79 Ocarina
+80 Synth Lead 1 Square Wave Lead
+81 Synth Lead 2 Sawtooth Wave Lead
+82 Synth Lead 3 Caliope Lead
+83 Synth Lead 4 Chiff Lead
+84 Synth Lead 5 Charang
+85 Synth Lead 6 Solo Synth Voice
+86 Synth Lead 7 Bright Saw Wave
+87 Synth Lead 8 Brass and Lead
+88 Synth Pad 1 Fantasia Pad
+89 Synth Pad 2 Warm Pad
+90 Synth Pad 3 Poly Synth Pad
+91 Synth Pad 4 Space Voice Pad
+92 Synth Pad 5 Bowed Glass Pad
+93 Synth Pad 6 Metal Pad
+94 Synth Pad 7 Halo Pad
+95 Synth Pad 8 Sweep Pad
+96 Synth SFX 1 Ice Rain
+97 Synth SFX 2 Sound Track
+98 Synth SFX 3 Crystal
+99 Synth SFX 4 Atmosphere
+100 Synth SFX 5 Brightness
+101 Synth SFX 6 Goblin
+102 Synth SFX 7 Echo Drops
+103 Synth SFX 8 Star Theme
+104 Sitar
+105 Banjo
+106 Shamisen
+107 Koto
+108 Kalimba
+109 Bagpipe
+110 Fiddle
+111 Shanai
+112 Tinkle Bells
+113 Agogo
+114 Steel Drums
+115 Woodblock
+116 Taiko Drum
+117 Melodic Tom
+118 Synth Drum
+119 Reverse Cymbal
+120 Guitar Fret Noise
+121 Breath Noise
+122 Seashore
+123 Bird Tweet
+124 Telephone Ring
+125 Helicopter
+126 Applause
+127 Gunshot
+
+D35 Acoustic Bass Drum
+D36 Bass Drum 1
+D37 Side Stick
+D38 Acoustic Snare
+D39 Hand Clap
+D40 Electric Snare
+D41 Low Floor Tom
+D42 Closed High-Hat
+D43 High Floor Tom
+D44 Pedal High Hat
+D45 Low Tom
+D46 Open High Hat
+D47 Low-Mid Tom
+D48 High-Mid Tom
+D49 Crash Cymbal 1
+D50 High Tom
+D51 Ride Cymbal 1
+D52 Chinese Cymbal
+D53 Ride Bell
+D54 Tambourine
+D55 Splash Cymbal
+D56 Cowbell
+D57 Crash Cymbal 2
+D58 Vibraslap
+D59 Ride Cymbal 2
+D60 High Bongo
+D61 Low Bongo
+D62 Mute High Conga
+D63 Open High Conga
+D64 Low Conga
+D65 High Timbale
+D66 Low Timbale
+D67 High Agogo
+D68 Low Agogo
+D69 Cabasa
+D70 Maracas
+D71 Short Whistle
+D72 Long Whistle
+D73 Short Guiro
+D74 Long Guiro
+D75 Claves
+D76 High Wood Block
+D77 Low Wood Block
+D78 Mute Cuica
+D79 Open Cuica
+D80 Mute Triangle
+D81 Open Triangle
+
+INSTRUMENTS (GENERAL MIDI)
+
+1. Acoustic Grand Piano 65. Soprano Sax
+2. Bright Acoustic Piano 66. Alto Sax
+3. Electric Grand Piano 67. Tenor Sax
+4. Honky-tonk Piano 68. Baritone Sax
+5. Electric Piano 1 69. Oboe
+6. Electric Piano 2 70. English Horn
+7. Harpsichord 71. Bassoon
+8. Clavi 72. Clarinet
+9. Celesta 73. Piccolo
+10. Glockenspiel 74. Flute
+11. Music Box 75. Recorder
+12. Vibraphone 76. Pan Flute
+13. Marimba 77. Blown Bottle
+14. Xylophone 78. Shakuhachi
+15. Tubular Bells 79. Whistle
+16. Dulcimer 80. Ocarina
+17. Drawbar Organ 81. Lead 1 (square)
+18. Percussive Organ 82. Lead 2 (sawtooth)
+19. Rock Organ 83. Lead 3 (calliope)
+20. Church Organ 84. Lead 4 (chiff)
+21. Reed Organ 85. Lead 5 (charang)
+22. Accordion 86. Lead 6 (voice)
+23. Harmonica 87. Lead 7 (fifths)
+24. Tango Accordion 88. Lead 8 (bass + lead)
+25. Acoustic Guitar (nylon) 89. Pad 1 (new age)
+26. Acoustic Guitar (steel) 90. Pad 2 (warm)
+27. Electric Guitar (jazz) 91. Pad 3 (polysynth)
+28. Electric Guitar (clean) 92. Pad 4 (choir)
+29. Electric Guitar (muted) 93. Pad 5 (bowed)
+30. Overdriven Guitar 94. Pad 6 (metallic)
+31. Distortion Guitar 95. Pad 7 (halo)
+32. Guitar harmonics 96. Pad 8 (sweep)
+33. Acoustic Bass 97. FX 1 (rain)
+34. Electric Bass (finger) 98. FX 2 (soundtrack)
+35. Electric Bass (pick) 99. FX 3 (crystal)
+36. Fretless Bass 100. FX 4 (atmosphere)
+37. Slap Bass 1 101. FX 5 (brightness)
+38. Slap Bass 2 102. FX 6 (goblins)
+39. Synth Bass 1 103. FX 7 (echoes)
+40. Synth Bass 2 104. FX 8 (sci-fi)
+41. Violin 105. Sitar
+42. Viola 106. Banjo
+43. Cello 107. Shamisen
+44. Contrabass 108. Koto
+45. Tremolo Strings 109. Kalimba
+46. Pizzicato Strings 110. Bag pipe
+47. Orchestral Harp 111. Fiddle
+48. Timpani 112. Shanai
+49. String Ensemble 1 113. Tinkle Bell
+50. String Ensemble 2 114. Agogo
+51. SynthStrings 1 115. Steel Drums
+52. SynthStrings 2 116. Woodblock
+53. Choir Aahs 117. Taiko Drum
+54. Voice Oohs 118. Melodic Tom
+55. Synth Voice 119. Synth Drum
+56. Orchestra Hit 120. Reverse Cymbal
+57. Trumpet 121. Guitar Fret Noise
+58. Trombone 122. Breath Noise
+59. Tuba 123. Seashore
+60. Muted Trumpet 124. Bird Tweet
+61. French Horn 125. Telephone Ring
+62. Brass Section 126. Helicopter
+63. SynthBrass 1 127. Applause
+64. SynthBrass 2 128. Gunshot
+
+35 Acoustic Bass Drum 59 Ride Cymbal 2
+36 Bass Drum 1 60 Hi Bongo
+37 Side Stick 61 Low Bongo
+38 Acoustic Snare 62 Mute Hi Conga
+39 Hand Clap 63 Open Hi Conga
+40 Electric Snare 64 Low Conga
+41 Low Floor Tom 65 High Timbale
+42 Closed Hi Hat 66 Low Timbale
+43 High Floor Tom 67 High Agogo
+44 Pedal Hi-Hat 68 Low Agogo
+45 Low Tom 69 Cabasa
+46 Open Hi-Hat 70 Maracas
+47 Low-Mid Tom 71 Short Whistle
+48 Hi Mid Tom 72 Long Whistle
+49 Crash Cymbal 1 73 Short Guiro
+50 High Tom 74 Long Guiro
+51 Ride Cymbal 1 75 Claves
+52 Chinese Cymbal 76 Hi Wood Block
+53 Ride Bell 77 Low Wood Block
+54 Tambourine 78 Mute Cuica
+55 Splash Cymbal 79 Open Cuica
+56 Cowbell 80 Mute Triangle
+57 Crash Cymbal 2 81 Open Triangle
+58 Vibraslap
+
+ public static final String[] instruments = {
+ "Acoustic Grand Piano",
+ "Bright Acoustic Piano",
+ "Electric Grand Piano",
+ "Honky-Tonk Piano",
+ "Rhodes Piano",
+ "Chorused Piano",
+ "Harpischord",
+ "Clavinet",
+ "Celesta",
+ "Glockenspiel",
+ "Music Box",
+ "Vibraphone",
+ "Marimba",
+ "Xylophone",
+ "Tubular Bells",
+ "Dulcimer",
+ "Hammond Organ",
+ "Percussive Organ",
+ "Rock Organ",
+ "Church Organ",
+ "Reed Organ",
+ "Accordion",
+ "Harmonica",
+ "Tango Accordion",
+ "Acoustic Nylon Guitar",
+ "Acoustic Steel Guitar",
+ "Electric Jazz Guitar",
+ "Electric Clean Guitar",
+ "Electric Muted Guitar",
+ "Overdriven Guitar",
+ "Distortion Guitar",
+ "Guitar Harmonics",
+ "Acoustic Bass",
+ "Electric Bass Fingered",
+ "Electric Bass Picked",
+ "Fretless Bass",
+ "Slap Bass 1",
+ "Slap Bass 2",
+ "Synth Bass 1",
+ "Synth Bass 2",
+ "Violin",
+ "Viola",
+ "Cello",
+ "Contrabass",
+ "Tremolo Strings",
+ "Pizzicato Strings",
+ "Orchestral Harp",
+ "Timpani",
+ "String Ensemble 1",
+ "String Ensemble 2",
+ "Synth Strings 1",
+ "Synth Strings 2",
+ "Choir Aahs",
+ "Voice Oohs",
+ "Synth Voice",
+ "Orchestral Hit",
+ "Trumpet",
+ "Trombone",
+ "Tuba",
+ "Muted Trumpet",
+ "French Horn",
+ "Brass Section",
+ "Synth Brass 1",
+ "Synth Brass 2",
+ "Soprano Sax",
+ "Alto Sax",
+ "Tenor Sax",
+ "Baritone Sax",
+ "Oboe",
+ "English Horn",
+ "Bassoon",
+ "Clarinet",
+ "Piccolo",
+ "Flute",
+ "Recorder",
+ "Pan Flute",
+ "Bottle Blow",
+ "Shakuhachi",
+ "Whistle",
+ "Ocarina",
+ "Synth Lead 1 Square Wave Lead",
+ "Synth Lead 2 Sawtooth Wave Lead",
+ "Synth Lead 3 Caliope Lead",
+ "Synth Lead 4 Chiff Lead",
+ "Synth Lead 5 Charang",
+ "Synth Lead 6 Solo Synth Voice",
+ "Synth Lead 7 Bright Saw Wave",
+ "Synth Lead 8 Brass and Lead",
+ "Synth Pad 1 Fantasia Pad",
+ "Synth Pad 2 Warm Pad",
+ "Synth Pad 3 Poly Synth Pad",
+ "Synth Pad 4 Space Voice Pad",
+ "Synth Pad 5 Bowed Glass Pad",
+ "Synth Pad 6 Metal Pad",
+ "Synth Pad 7 Halo Pad",
+ "Synth Pad 8 Sweep Pad",
+ "Synth SFX 1 Ice Rain",
+ "Synth SFX 2 Sound Track",
+ "Synth SFX 3 Crystal",
+ "Synth SFX 4 Atmosphere",
+ "Synth SFX 5 Brightness",
+ "Synth SFX 6 Goblin",
+ "Synth SFX 7 Echo Drops",
+ "Synth SFX 8 Star Theme",
+ "Sitar",
+ "Banjo",
+ "Shamisen",
+ "Koto",
+ "Kalimba",
+ "Bagpipe",
+ "Fiddle",
+ "Shanai",
+ "Tinkle Bells",
+ "Agogo",
+ "Steel Drums",
+ "Woodblock",
+ "Taiko Drum",
+ "Melodic Tom",
+ "Synth Drum",
+ "Reverse Cymbal",
+ "Guitar Fret Noise",
+ "Breath Noise",
+ "Seashore",
+ "Bird Tweet",
+ "Telephone Ring",
+ "Helicopter",
+ "Applause",
+ "Gunshot"
+ };
--- /dev/null
+Synthesizer
+
+Instrument[] getAvailableInstruments()
+Obtains a list of instruments that come with the synthesizer.
+MidiChannel[] getChannels()
+Obtains the set of MIDI channels controlled by this synthesizer.
+Soundbank getDefaultSoundbank()
+Obtains the default soundbank for the synthesizer, if one exists.
+long getLatency()
+Obtains the processing latency incurred by this synthesizer, expressed in microseconds.
+Instrument[] getLoadedInstruments()
+Obtains a list of the instruments that are currently loaded onto this Synthesizer.
+int getMaxPolyphony()
+Obtains the maximum number of notes that this synthesizer can sound simultaneously.
+VoiceStatus[] getVoiceStatus()
+Obtains the current status of the voices produced by this synthesizer.
+boolean isSoundbankSupported(Soundbank soundbank)
+Informs the caller whether this synthesizer is capable of loading instruments from the specified soundbank.
+boolean loadAllInstruments(Soundbank soundbank)
+Loads onto the Synthesizer all instruments contained in the specified Soundbank.
+boolean loadInstrument(Instrument instrument)
+Makes a particular instrument available for synthesis.
+boolean loadInstruments(Soundbank soundbank, Patch[] patchList)
+Loads the instruments referenced by the specified patches, from the specified Soundbank.
+boolean remapInstrument(Instrument from, Instrument to)
+Remaps an instrument.
+void unloadAllInstruments(Soundbank soundbank)
+Unloads all instruments contained in the specified Soundbank.
+void unloadInstrument(Instrument instrument)
+Unloads a particular instrument.
+void unloadInstruments(Soundbank soundbank, Patch[] patchList)
+Unloads the instruments referenced by the specified patches, from the MIDI sound bank specified.
+
+\f
+Sequencer
+
+int[] addControllerEventListener(ControllerEventListener listener, int[] controllers)
+Registers a controller event listener to receive notification whenever the sequencer processes a control-change event of the requested type or types.
+boolean addMetaEventListener(MetaEventListener listener)
+Registers a meta-event listener to receive notification whenever a meta-event is encountered in the sequence and processed by the sequencer.
+Sequencer.SyncMode getMasterSyncMode()
+Obtains the current master synchronization mode for this sequencer.
+Sequencer.SyncMode[] getMasterSyncModes()
+Obtains the set of master synchronization modes supported by this sequencer.
+long getMicrosecondLength()
+Obtains the length of the current sequence, expressed in microseconds.
+long getMicrosecondPosition()
+Obtains the current position in the sequence, expressed in microseconds.
+Sequence getSequence()
+Obtains the sequence on which the Sequencer is currently operating.
+Sequencer.SyncMode getSlaveSyncMode()
+Obtains the current slave synchronization mode for this sequencer.
+Sequencer.SyncMode[] getSlaveSyncModes()
+Obtains the set of slave synchronization modes supported by the sequencer.
+float getTempoFactor()
+Returns the current tempo factor for the sequencer.
+float getTempoInBPM()
+Obtains the current tempo, expressed in beats per minute.
+float getTempoInMPQ()
+Obtains the current tempo, expressed in microseconds per quarter note.
+long getTickLength()
+Obtains the length of the current sequence, expressed in MIDI ticks.
+long getTickPosition()
+Obtains the current position in the sequence, expressed in MIDI ticks.
+boolean getTrackMute(int track)
+Obtains the current mute state for a track.
+boolean getTrackSolo(int track)
+Obtains the current solo state for a track.
+boolean isRecording()
+Indicates whether the Sequencer is currently recording.
+boolean isRunning()
+Indicates whether the Sequencer is currently running.
+void recordDisable(Track track)
+Disables recording to the specified track.
+void recordEnable(Track track, int channel)
+Prepares the specified track for recording events received on a particular channel.
+int[] removeControllerEventListener(ControllerEventListener listener, int[] controllers)
+Removes a controller event listener's interest in one or more types of controller event.
+void removeMetaEventListener(MetaEventListener listener)
+Removes the specified meta-event listener from this sequencer's list of registered listeners, if in fact the listener is registered.
+void setMasterSyncMode(Sequencer.SyncMode sync)
+Sets the source of timing information used by this sequencer.
+void setMicrosecondPosition(long microseconds)
+Sets the current position in the sequence, expressed in microseconds
+void setSequence(InputStream stream)
+Sets the current sequence on which the sequencer operates.
+void setSequence(Sequence sequence)
+Sets the current sequence on which the sequencer operates.
+void setSlaveSyncMode(Sequencer.SyncMode sync)
+Sets the slave synchronization mode for the sequencer.
+void setTempoFactor(float factor)
+Scales the sequencer's actual playback tempo by the factor provided.
+void setTempoInBPM(float bpm)
+Sets the tempo in beats per minute.
+void setTempoInMPQ(float mpq)
+Sets the tempo in microseconds per quarter note.
+void setTickPosition(long tick)
+Sets the current sequencer position in MIDI ticks
+void setTrackMute(int track, boolean mute)
+Sets the mute state for a track.
+void setTrackSolo(int track, boolean solo)
+Sets the solo state for a track.
+void start()
+Starts playback of the MIDI data in the currently loaded sequence.
+void startRecording()
+Starts recording and playback of MIDI data.
+void stop()
+Stops recording, if active, and playback of the currently loaded sequence, if any.
+void stopRecording()
+Stops recording, if active.
+
+\f
+MidiChannel
+
+void allNotesOff()
+Turns off all notes that are currently sounding on this channel.
+void allSoundOff()
+Immediately turns off all sounding notes on this channel, ignoring the state of the Hold Pedal and the internal decay rate of the current Instrument.
+void controlChange(int controller, int value)
+Reacts to a change in the specified controller's value.
+int getChannelPressure()
+Obtains the channel's keyboard pressure.
+int getController(int controller)
+Obtains the current value of the specified controller.
+boolean getMono()
+Obtains the current mono/poly mode.
+boolean getMute()
+Obtains the current mute state for this channel.
+boolean getOmni()
+Obtains the current omni mode status.
+int getPitchBend()
+Obtains the upward of downward pitch offset for this channel.
+int getPolyPressure(int noteNumber)
+Obtains the pressure with which the specified key is being depressed.
+int getProgram()
+Obtains the current program number for this channel.
+boolean getSolo()
+Obtains the current solo state for this channel.
+boolean localControl(boolean on)
+Turns local control on or off.
+void noteOff(int noteNumber)
+Turns the specified note off.
+void noteOff(int noteNumber, int velocity)
+Turns the specified note off.
+void noteOn(int noteNumber, int velocity)
+Starts the specified note sounding.
+void programChange(int program)
+Changes a program (patch).
+void programChange(int bank, int program)
+Changes the program using bank and program (patch) numbers.
+void resetAllControllers()
+Resets all the implemented controllers to their default values.
+void setChannelPressure(int pressure)
+Reacts to a change in the keyboard pressure.
+void setMono(boolean on)
+Turns mono mode on or off.
+void setMute(boolean mute)
+Sets the mute state for this channel.
+void setOmni(boolean on)
+Turns omni mode on or off.
+void setPitchBend(int bend)
+Changes the pitch offset for all notes on this channel.
+void setPolyPressure(int noteNumber, int pressure)
+Reacts to a change in the specified note's key pressure.
+void setSolo(boolean soloState)
+Sets the solo state for this channel.
+
+\f
+Sequence
+
+Track createTrack()
+Creates a new, initially empty track as part of this sequence.
+boolean deleteTrack(Track track)
+Removes the specified track from the sequence.
+float getDivisionType()
+Obtains the timing division type for this sequence.
+long getMicrosecondLength()
+Obtains the duration of this sequence, expressed in microseconds.
+Patch[] getPatchList()
+Obtains a list of patches referenced in this sequence.
+int getResolution()
+Obtains the timing resolution for this sequence.
+long getTickLength()
+Obtains the duration of this sequence, expressed in MIDI ticks.
+Track[] getTracks()
+Obtains an array containing all the tracks in this sequence.
+
+\f
+Track
+
+boolean add(MidiEvent event)
+Adds a new event to the track.
+MidiEvent get(int index)
+Obtains the event at the specified index.
+boolean remove(MidiEvent event)
+Removes the specified event from the track.
+int size()
+Obtains the number of events in this track.
+long ticks()
+Obtains the length of the track, expressed in MIDI ticks.
+
+\f
+MidiEvent
+
+MidiMessage getMessage()
+Obtains the MIDI message contained in the event.
+long getTick()
+Obtains the time-stamp for the event, in MIDI ticks
+void setTick(long tick)
+Sets the time-stamp for the event, in MIDI ticks
+
+\f
+MidiMessage
+
+abstract Object clone()
+Creates a new object of the same class and with the same contents as this object.
+int getLength()
+Obtains the total length of the MIDI message in bytes.
+byte[] getMessage()
+Obtains the MIDI message data.
+int getStatus()
+Obtains the status byte for the MIDI message.
+protected void setMessage(byte[] data, int length)
+Sets the data for the MIDI message.
+
+\f
+ShortMessage
+
+Object clone()
+Creates a new object of the same class and with the same contents as this object.
+int getChannel()
+Obtains the MIDI channel associated with this event.
+int getCommand()
+Obtains the MIDI command associated with this event.
+int getData1()
+Obtains the first data byte in the message.
+int getData2()
+Obtains the second data byte in the message.
+protected int getDataLength(int status)
+Retrieves the number of data bytes associated with a particular status byte value.
+void setMessage(int status)
+Sets the parameters for a MIDI message that takes no data bytes.
+void setMessage(int status, int data1, int data2)
+Sets the parameters for a MIDI message that takes one or two data bytes.
+void setMessage(int command, int channel, int data1, int data2)
+Sets the short message parameters for a channel message which takes one or two data bytes.