public class MetaMessage extends MidiMessage
MetaMessage is a
MidiMessage that is not meaningful to synthesizers, but that can be stored in a MIDI file and interpreted by a sequencer program. (See the discussion in the
MidiMessage class description.) The Standard MIDI Files specification defines various types of meta-events, such as sequence number, lyric, cue point, and set tempo. There are also meta-events for such information as lyrics, copyrights, tempo indications, time and key signatures, markers, etc. For more information, see the Standard MIDI Files 1.0 specification, which is part of the Complete MIDI 1.0 Detailed Specification published by the MIDI Manufacturer's Association (
http://www.midi.org).
When data is being transported using MIDI wire protocol, a with the status value ShortMessage0xFF represents a system reset message. In MIDI files, this same status value denotes a MetaMessage. The types of meta-message are distinguished from each other by the first byte that follows the status byte 0xFF. The subsequent bytes are data bytes. As with system exclusive messages, there are an arbitrary number of data bytes, depending on the type of MetaMessage.
MetaEventListener
| Modifier and Type | Field and Description |
|---|---|
static int |
META
Status byte for
MetaMessage (0xFF, or 255), which is used in MIDI files.
|
data, length| Modifier | Constructor and Description |
|---|---|
|
MetaMessage()
Constructs a new
MetaMessage.
|
protected |
MetaMessage(byte[] data)
Constructs a new
MetaMessage.
|
|
MetaMessage(int type, byte[] data, int length)
Constructs a new
MetaMessage and sets the message parameters.
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
Creates a new object of the same class and with the same contents as this object.
|
byte[] |
getData()
Obtains a copy of the data for the meta message.
|
int |
getType()
Obtains the type of the
MetaMessage.
|
void |
setMessage(int type, byte[] data, int length)
Sets the message parameters for a
MetaMessage.
|
getLength, getMessage, getStatus, setMessagepublic static final int META
MetaMessage (0xFF, or 255), which is used in MIDI files. It has the same value as SYSTEM_RESET, which is used in the real-time "MIDI wire" protocol.
MidiMessage.getStatus() ,
Constant Field Values
public MetaMessage()
MetaMessage. The contents of the message are not set here; use
setMessage to set them subsequently.
public MetaMessage(int type,
byte[] data,
int length)
throws InvalidMidiDataException
MetaMessage and sets the message parameters. The contents of the message can be changed by using the
setMessage method.
type - meta-message type (must be less than 128)
data - the data bytes in the MIDI message
length - an amount of bytes in the
data byte array; it should be non-negative and less than or equal to
data.length
InvalidMidiDataException - if the parameter values do not specify a valid MIDI meta message
setMessage(int, byte[], int),
getType(),
getData()
protected MetaMessage(byte[] data)
MetaMessage.
data - an array of bytes containing the complete message. The message data may be changed using the
setMessage method.
setMessage(int, byte[], int)
public void setMessage(int type,
byte[] data,
int length)
throws InvalidMidiDataException
MetaMessage. Since only one status byte value,
0xFF, is allowed for meta-messages, it does not need to be specified here. Calls to
getStatus return
0xFF for all meta-messages.
The type argument should be a valid value for the byte that follows the status byte in the MetaMessage. The data argument should contain all the subsequent bytes of the MetaMessage. In other words, the byte that specifies the type of MetaMessage is not considered a data byte.
type - meta-message type (must be less than 128)
data - the data bytes in the MIDI message
length - the number of bytes in the
data byte array
InvalidMidiDataException - if the parameter values do not specify a valid MIDI meta message
public int getType()
MetaMessage.
MetaMessage type
public byte[] getData()
MidiMessage.getLength()
public Objectclone()
clone in class
MidiMessage
Cloneable