Module java.desktop

Class ShortMessage

All Implemented Interfaces:

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 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 MidiMessage class description.

See Also:
SysexMessage, MetaMessage
  • Field Summary

    Modifier and Type Field Description
    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).
    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 message (0xF8, or 248).
    static int TUNE_REQUEST
    Status byte for Tune Request message (0xF6, or 246).

    Fields declared in class javax.sound.midi.MidiMessage

    data, length
  • Constructor Summary

    Modifier Constructor Description
    Constructs a new ShortMessage.
    protected ShortMessage​(byte[] data)
    Constructs a new ShortMessage.
      ShortMessage​(int status)
    Constructs a new ShortMessage which represents a MIDI message that takes no data bytes.
      ShortMessage​(int status, int data1, int data2)
    Constructs a new ShortMessage which represents a MIDI message that takes up to two data bytes.
      ShortMessage​(int command, int channel, int data1, int data2)
    Constructs a new ShortMessage which represents a channel MIDI message that takes up to two data bytes.
  • Method Summary

    Modifier and Type Method Description
    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 up to two data bytes.

    Methods declared in class javax.sound.midi.MidiMessage

    getLength, getMessage, getStatus, setMessage

    Methods declared in class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait