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
ShortMessage with the status value 0xFF 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 |
|---|---|
| private int | dataLength
The length of the actual message in the data array. |
| private static final long | |
| public static final int | META
Status byte for |
| Access | Constructor and Description |
|---|---|
| public | |
| public | MetaMessage(int
meta-message type (must be less than 128) type, byte[] the data bytes in the MIDI message data, int an amount of bytes in the length)data byte array; it
should be non-negative and less than or equal to
data.lengthConstructs a new |
| protected | MetaMessage(byte[]
an array of bytes containing the complete message. The
message data may be changed using the data)setMessage method.Constructs a new |
| Modifier and Type | Method and Description |
|---|---|
| public Object | Returns: a clone of this instanceImplements abstract javax. Creates a new object of the same class and with the same contents as this object. |
| public byte[] | Returns: array containing the meta message dataObtains a copy of the data for the meta message. |
| public int | |
| private int | |
| public void | setMessage(int
meta-message type (must be less than 128) type, byte[] the data bytes in the MIDI message data, int the number of bytes in the length)data byte arraySets the message parameters for a |
| private void |
| dataLength | back to summary |
|---|---|
| private int dataLength The length of the actual message in the data array. This is used to determine how many bytes of the data array is the message, and how many are the status byte, the type byte, and the variable-length-int describing the length of the message. | |
| mask | back to summary |
|---|---|
| private static final long mask | |
| META | back to summary |
|---|---|
| public static final int META Status byte for
| |
| MetaMessage | back to summary |
|---|---|
| public MetaMessage() Constructs a new | |
| MetaMessage | back to summary |
|---|---|
| public MetaMessage(int type, byte[] data, int length) throws InvalidMidiDataException Constructs a new
| |
| MetaMessage | back to summary |
|---|---|
| protected MetaMessage(byte[] data) Constructs a new
| |
| clone | back to summary |
|---|---|
| public Object clone() Implements abstract javax. Creates a new object of the same class and with the same contents as this object. | |
| getData | back to summary |
|---|---|
| public byte[] getData() Obtains a copy of the data for the meta message. The returned array of bytes does not include the status byte or the message length data. The length of the data for the meta message is the length of the array. Note that the length of the entire message includes the status byte and the meta message type byte, and therefore may be longer than the returned array.
| |
| getType | back to summary |
|---|---|
| public int getType() Obtains the type of the
| |
| getVarIntLength | back to summary |
|---|---|
| private int getVarIntLength(long value) | |
| setMessage | back to summary |
|---|---|
| public void setMessage(int type, byte[] data, int length) throws InvalidMidiDataException Sets the message parameters for a
The
| |
| writeVarInt | back to summary |
|---|---|
| private void writeVarInt(byte[] data, int off, long value) | |