- All Implemented Interfaces:
- Cloneable
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
 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.
- See Also:
- MetaEventListener
- 
Field SummaryFields Modifier and Type Field Description static intMETAStatus byte forMetaMessage(0xFF, or 255), which is used in MIDI files.
- 
Constructor SummaryConstructors Modifier Constructor Description MetaMessage()Constructs a newMetaMessage.protectedMetaMessage(byte[] data)Constructs a newMetaMessage.MetaMessage(int type, byte[] data, int length)Constructs a newMetaMessageand sets the message parameters.
- 
Method SummaryModifier and Type Method Description Objectclone()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.intgetType()Obtains the type of theMetaMessage.voidsetMessage(int type, byte[] data, int length)Sets the message parameters for aMetaMessage.
- 
Field Details- 
METApublic static final int METAStatus byte forMetaMessage(0xFF, or 255), which is used in MIDI files. It has the same value asShortMessage.SYSTEM_RESET, which is used in the real-time "MIDI wire" protocol.- See Also:
- MidiMessage.getStatus(), Constant Field Values
 
 
- 
- 
Constructor Details- 
MetaMessagepublic MetaMessage()Constructs a newMetaMessage. The contents of the message are not set here; usesetMessageto set them subsequently.
- 
MetaMessageConstructs a newMetaMessageand sets the message parameters. The contents of the message can be changed by using thesetMessagemethod.- Parameters:
- type- meta-message type (must be less than 128)
- data- the data bytes in the MIDI message
- length- an amount of bytes in the- databyte array; it should be non-negative and less than or equal to- data.length
- Throws:
- InvalidMidiDataException- if the parameter values do not specify a valid MIDI meta message
- Since:
- 1.7
- See Also:
- setMessage(int, byte[], int),- getType(),- getData()
 
- 
MetaMessageprotected MetaMessage(byte[] data)Constructs a newMetaMessage.- Parameters:
- data- an array of bytes containing the complete message. The message data may be changed using the- setMessagemethod.
- See Also:
- setMessage(int, byte[], int)
 
 
- 
- 
Method Details- 
setMessageSets the message parameters for aMetaMessage. Since only one status byte value,0xFF, is allowed for meta-messages, it does not need to be specified here. Calls togetStatusreturn0xFFfor all meta-messages.The typeargument should be a valid value for the byte that follows the status byte in theMetaMessage. Thedataargument should contain all the subsequent bytes of theMetaMessage. In other words, the byte that specifies the type ofMetaMessageis not considered a data byte.- Parameters:
- type- meta-message type (must be less than 128)
- data- the data bytes in the MIDI message
- length- the number of bytes in the- databyte array
- Throws:
- InvalidMidiDataException- if the parameter values do not specify a valid MIDI meta message
 
- 
getTypepublic int getType()Obtains the type of theMetaMessage.- Returns:
- an integer representing the MetaMessagetype
 
- 
getDatapublic 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.- Returns:
- array containing the meta message data
- See Also:
- MidiMessage.getLength()
 
- 
cloneCreates a new object of the same class and with the same contents as this object.- Specified by:
- clonein class- MidiMessage
- Returns:
- a clone of this instance
- See Also:
- Cloneable
 
 
-