javax.sound.midi

Class MidiFileFormat

public class MidiFileFormat extends Object

Describe a MIDI file, including specifics about its type, length and timing.

Since: 1.3

Field Summary
protected intbyteLength
The size of the MIDI file in bytes.
protected floatdivisionType
The division type of the MIDI file.
protected longmicrosecondLength
The length of the MIDI file in microseconds.
protected intresolution
The timing resolution of the MIDI file.
protected inttype
The MIDI file type.
static intUNKNOWN_LENGTH
A special value indicating an unknown quantity.
Constructor Summary
MidiFileFormat(int type, float divisionType, int resolution, int bytes, long microseconds)
Create a MidiFileFormat object from the given parameters.
Method Summary
intgetByteLength()
Get the file length in bytes.
floatgetDivisionType()
Get the file division type.
longgetMicrosecondLength()
Get the file length in microseconds.
intgetResolution()
Get the file timing resolution.
intgetType()
Get the MIDI file type (0, 1, or 2).

Field Detail

byteLength

protected int byteLength
The size of the MIDI file in bytes.

divisionType

protected float divisionType
The division type of the MIDI file.

microsecondLength

protected long microsecondLength
The length of the MIDI file in microseconds.

resolution

protected int resolution
The timing resolution of the MIDI file.

type

protected int type
The MIDI file type. This is either 0, 1 or 2. Type 0 files contain a single track and represents a single song performance. Type 1 may contain multiple tracks for a single song performance. Type 2 may contain multiple tracks, each representing a separate song performance. See http://en.wikipedia.org/wiki/MIDI#MIDI_file_formats for more information.

UNKNOWN_LENGTH

public static final int UNKNOWN_LENGTH
A special value indicating an unknown quantity.

Constructor Detail

MidiFileFormat

public MidiFileFormat(int type, float divisionType, int resolution, int bytes, long microseconds)
Create a MidiFileFormat object from the given parameters.

Parameters: type the MIDI file type (0, 1, or 2) divisionType the MIDI file division type resolution the MIDI file timing resolution bytes the MIDI file size in bytes microseconds the MIDI file length in microseconds

Method Detail

getByteLength

public int getByteLength()
Get the file length in bytes.

Returns: the file length in bytes or UNKNOWN_LENGTH

getDivisionType

public float getDivisionType()
Get the file division type.

Returns: the file divison type

getMicrosecondLength

public long getMicrosecondLength()
Get the file length in microseconds.

Returns: the file length in microseconds or UNKNOWN_LENGTH

getResolution

public int getResolution()
Get the file timing resolution. If the division type is PPQ, then this is value represents ticks per beat, otherwise it's ticks per frame (SMPTE).

Returns: the timing resolution in ticks per beat or ticks per frame

getType

public int getType()
Get the MIDI file type (0, 1, or 2).

Returns: the MIDI file type (0, 1, or 2)