javax.sound.midi

Class Sequence

public class Sequence extends Object

Objects of this type represent sequences of MIDI messages that can be played back by a Sequencer.

Since: 1.3

Field Summary
protected floatdivisionType
The timing division type for this sequence (PPQ or SMPTE*)
static floatPPQ
Tempo-based timing.
protected intresolution
The timing resolution in ticks/beat or ticks/frame, depending on the division type.
static floatSMPTE_24
24 frames/second timing.
static floatSMPTE_25
25 frames/second timing.
static floatSMPTE_30
30 frames/second timing.
static floatSMPTE_30DROP
29.97 frames/second timing.
protected Vector<Track>tracks
The MIDI tracks used by this sequence.
Constructor Summary
Sequence(float divisionType, int resolution)
Create a MIDI sequence object with no initial tracks.
Sequence(float divisionType, int resolution, int numTracks)
Create a MIDI seqence object.
Method Summary
TrackcreateTrack()
Create a new empty MIDI track and add it to this sequence.
booleandeleteTrack(Track track)
Remove the specified MIDI track from this sequence.
floatgetDivisionType()
The division type of this sequence.
longgetMicrosecondLength()
The length of this sequence in microseconds.
Patch[]getPatchList()
Get an array of patches used in this sequence.
intgetResolution()
The timing resolution for this sequence, relative to the division type.
longgetTickLength()
The length of this sequence in MIDI ticks.
Track[]getTracks()
Get an array of MIDI tracks used in this sequence.

Field Detail

divisionType

protected float divisionType
The timing division type for this sequence (PPQ or SMPTE*)

PPQ

public static final float PPQ
Tempo-based timing. Resolution is specified in ticks per beat.

resolution

protected int resolution
The timing resolution in ticks/beat or ticks/frame, depending on the division type.

SMPTE_24

public static final float SMPTE_24
24 frames/second timing. Resolution is specific in ticks per frame.

SMPTE_25

public static final float SMPTE_25
25 frames/second timing. Resolution is specific in ticks per frame.

SMPTE_30

public static final float SMPTE_30
30 frames/second timing. Resolution is specific in ticks per frame.

SMPTE_30DROP

public static final float SMPTE_30DROP
29.97 frames/second timing. Resolution is specific in ticks per frame.

tracks

protected Vector<Track> tracks
The MIDI tracks used by this sequence.

Constructor Detail

Sequence

public Sequence(float divisionType, int resolution)
Create a MIDI sequence object with no initial tracks.

Parameters: divisionType the division type (must be one of PPQ or SMPTE_*) resolution the timing resolution

Throws: InvalidMidiDataException if the division type is invalid

Sequence

public Sequence(float divisionType, int resolution, int numTracks)
Create a MIDI seqence object.

Parameters: divisionType the division type (must be one of PPQ or SMPTE_*) resolution the timing resolution numTracks the number of initial tracks

Throws: InvalidMidiDataException if the division type is invalid

Method Detail

createTrack

public Track createTrack()
Create a new empty MIDI track and add it to this sequence.

Returns: the newly create MIDI track

deleteTrack

public boolean deleteTrack(Track track)
Remove the specified MIDI track from this sequence.

Parameters: track the track to remove

Returns: true if track was removed and false othewise

getDivisionType

public float getDivisionType()
The division type of this sequence.

Returns: division type of this sequence

getMicrosecondLength

public long getMicrosecondLength()
The length of this sequence in microseconds.

Returns: the length of this sequence in microseconds

getPatchList

public Patch[] getPatchList()
Get an array of patches used in this sequence.

Returns: an array of patches used in this sequence

getResolution

public int getResolution()
The timing resolution for this sequence, relative to the division type.

Returns: the timing resolution for this sequence

getTickLength

public long getTickLength()
The length of this sequence in MIDI ticks.

Returns: the length of this sequence in MIDI ticks

getTracks

public Track[] getTracks()
Get an array of MIDI tracks used in this sequence.

Returns: a possibly empty array of tracks