This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.sound.midi
class ShortMessage

java.lang.Object extended by javax.sound.midi.MidiMessage extended by javax.sound.midi.ShortMessage
All Implemented Interfaces:
Cloneable

Most common way to construct:

ShortMessage message = new ShortMessage();

Based on 220 examples


public class ShortMessage
extends MidiMessage

A ShortMessage contains a MIDI message that has at most two data bytes following its status byte. The types of MIDI message that satisfy this criterion are channel voice, channel mode, system common, and system real-time--in other words, everything except system exclusive and meta-events. The ShortMessage class provides methods for getting and setting the contents of the MIDI message.

A number of ShortMessage methods have integer parameters by which you specify a MIDI status or data byte. If you know the numeric value, you can express it directly. For system common and system real-time messages, you can often use the corresponding fields of ShortMessage, such as {@link #SYSTEM_RESET SYSTEM_RESET}. For channel messages, the upper four bits of the status byte are specified by a command value and the lower four bits are specified by a MIDI channel number. To convert incoming MIDI data bytes that are in the form of Java's signed bytes, you can use the conversion code given in the {@link MidiMessage} class description.


Field Summary
static int ACTIVE_SENSING
          Status byte for Active Sensing message (0xFE, or 254).
static int CHANNEL_PRESSURE
          Command value for Channel Pressure (Aftertouch) message (0xD0, or 208)
static int CONTINUE
          Status byte for Continue message (0xFB, or 251).
static int CONTROL_CHANGE
          Command value for Control Change message (0xB0, or 176)
static int END_OF_EXCLUSIVE
          Status byte for End of System Exclusive message (0xF7, or 247).
static int MIDI_TIME_CODE
          Status byte for MIDI Time Code Quarter Frame message (0xF1, or 241).
static int NOTE_OFF
          Command value for Note Off message (0x80, or 128)
static int NOTE_ON
          Command value for Note On message (0x90, or 144)
static int PITCH_BEND
          Command value for Pitch Bend message (0xE0, or 224)
static int POLY_PRESSURE
          Command value for Polyphonic Key Pressure (Aftertouch) message (0xA0, or 160)
static int PROGRAM_CHANGE
          Command value for Program Change message (0xC0, or 192)
static int SONG_POSITION_POINTER
          Status byte for Song Position Pointer message (0xF2, or 242).
static int SONG_SELECT
          Status byte for MIDI Song Select message (0xF3, or 243).
static int START
          Status byte for Start message (0xFA, or 250).
static int STOP
          Status byte for Stop message (0xFC, or 252).
static int SYSTEM_RESET
          Status byte for System Reset message (0xFF, or 255).
static int TIMING_CLOCK
          Status byte for Timing Clock messagem (0xF8, or 248).
static int TUNE_REQUEST
          Status byte for Tune Request message (0xF6, or 246).
 
Fields inherited from class javax.sound.midi.MidiMessage
data, length
 
Constructor Summary
 

          Constructs a new ShortMessage.
protected
ShortMessage(byte[] data)

          Constructs a new ShortMessage.
 
Method Summary
 Object

          Creates a new object of the same class and with the same contents as this object.
 int

          Obtains the MIDI channel associated with this event.
 int

          Obtains the MIDI command associated with this event.
 int

          Obtains the first data byte in the message.
 int

          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 up to two data bytes.
 
Methods inherited from class javax.sound.midi.MidiMessage
clone, getLength, getMessage, getStatus, setMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ACTIVE_SENSING

public static final int ACTIVE_SENSING
Status byte for Active Sensing message (0xFE, or 254).

CHANNEL_PRESSURE

public static final int CHANNEL_PRESSURE
Command value for Channel Pressure (Aftertouch) message (0xD0, or 208)

CONTINUE

public static final int CONTINUE
Status byte for Continue message (0xFB, or 251).

CONTROL_CHANGE

public static final int CONTROL_CHANGE
Command value for Control Change message (0xB0, or 176)

END_OF_EXCLUSIVE

public static final int END_OF_EXCLUSIVE
Status byte for End of System Exclusive message (0xF7, or 247).

MIDI_TIME_CODE

public static final int MIDI_TIME_CODE
Status byte for MIDI Time Code Quarter Frame message (0xF1, or 241).

NOTE_OFF

public static final int NOTE_OFF
Command value for Note Off message (0x80, or 128)

NOTE_ON

public static final int NOTE_ON
Command value for Note On message (0x90, or 144)

PITCH_BEND

public static final int PITCH_BEND
Command value for Pitch Bend message (0xE0, or 224)

POLY_PRESSURE

public static final int POLY_PRESSURE
Command value for Polyphonic Key Pressure (Aftertouch) message (0xA0, or 160)

PROGRAM_CHANGE

public static final int PROGRAM_CHANGE
Command value for Program Change message (0xC0, or 192)

SONG_POSITION_POINTER

public static final int SONG_POSITION_POINTER
Status byte for Song Position Pointer message (0xF2, or 242).

SONG_SELECT

public static final int SONG_SELECT
Status byte for MIDI Song Select message (0xF3, or 243).

START

public static final int START
Status byte for Start message (0xFA, or 250).

STOP

public static final int STOP
Status byte for Stop message (0xFC, or 252).

SYSTEM_RESET

public static final int SYSTEM_RESET
Status byte for System Reset message (0xFF, or 255).

TIMING_CLOCK

public static final int TIMING_CLOCK
Status byte for Timing Clock messagem (0xF8, or 248).

TUNE_REQUEST

public static final int TUNE_REQUEST
Status byte for Tune Request message (0xF6, or 246).
Constructor Detail

ShortMessage

public ShortMessage()
Constructs a new ShortMessage. The contents of the new message are guaranteed to specify a valid MIDI message. Subsequently, you may set the contents of the message using one of the setMessage methods.


ShortMessage

protected ShortMessage(byte[] data)
Constructs a new ShortMessage.

Parameters:
data - an array of bytes containing the complete message. The message data may be changed using the setMessage method.
Method Detail

clone

public Object clone()
Creates a new object of the same class and with the same contents as this object.

Overrides:
clone in class MidiMessage
Returns:
a clone of this instance.

getChannel

public int getChannel()
Obtains the MIDI channel associated with this event. This method assumes that the event is a MIDI channel message; if not, the return value will not be meaningful.

Returns:
MIDI channel associated with the message.

getCommand

public int getCommand()
Obtains the MIDI command associated with this event. This method assumes that the event is a MIDI channel message; if not, the return value will not be meaningful.


getData1

public int getData1()
Obtains the first data byte in the message.

Returns:
the value of the data1 field

getData2

public int getData2()
Obtains the second data byte in the message.

Returns:
the value of the data2 field

getDataLength

protected final int getDataLength(int status)
                           throws InvalidMidiDataException
Retrieves the number of data bytes associated with a particular status byte value.

Parameters:
status - status byte value, which must represent a short MIDI message
Returns:
data length in bytes (0, 1, or 2)
Throws:
InvalidMidiDataException

setMessage

public void setMessage(int status)
                throws InvalidMidiDataException
Sets the parameters for a MIDI message that takes no data bytes.

Parameters:
status - the MIDI status byte
Throws:
InvalidMidiDataException

setMessage

public void setMessage(int status,
                       int data1,
                       int data2)
                throws InvalidMidiDataException
Sets the parameters for a MIDI message that takes one or two data bytes. If the message takes only one data byte, the second data byte is ignored; if the message does not take any data bytes, both data bytes are ignored.

Parameters:
status - the MIDI status byte
data1 - the first data byte
data2 - the second data byte
Throws:
InvalidMidiDataException

setMessage

public void setMessage(int command,
                       int channel,
                       int data1,
                       int data2)
                throws InvalidMidiDataException
Sets the short message parameters for a channel message which takes up to two data bytes. If the message only takes one data byte, the second data byte is ignored; if the message does not take any data bytes, both data bytes are ignored.

Parameters:
command - the MIDI command represented by this message
channel - the channel associated with the message
data1 - the first data byte
data2 - the second data byte
Throws:
InvalidMidiDataException


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.