javax.sound.midi
Class Sequence

java.lang.Object
  extended by javax.sound.midi.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  float divisionType
          The timing division type for this sequence (PPQ or SMPTE*)
static float PPQ
          Tempo-based timing.
protected  int resolution
          The timing resolution in ticks/beat or ticks/frame, depending on the division type.
static float SMPTE_24
          24 frames/second timing.
static float SMPTE_25
          25 frames/second timing.
static float SMPTE_30
          30 frames/second timing.
static float SMPTE_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
 Track createTrack()
          Create a new empty MIDI track and add it to this sequence.
 boolean deleteTrack(Track track)
          Remove the specified MIDI track from this sequence.
 float getDivisionType()
          The division type of this sequence.
 long getMicrosecondLength()
          The length of this sequence in microseconds.
 Patch[] getPatchList()
          Get an array of patches used in this sequence.
 int getResolution()
          The timing resolution for this sequence, relative to the division type.
 long getTickLength()
          The length of this sequence in MIDI ticks.
 Track[] getTracks()
          Get an array of MIDI tracks used in this sequence.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

divisionType

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


resolution

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


tracks

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


PPQ

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

See Also:
Constant Field Values

SMPTE_24

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

See Also:
Constant Field Values

SMPTE_25

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

See Also:
Constant Field Values

SMPTE_30

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

See Also:
Constant Field Values

SMPTE_30DROP

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

See Also:
Constant Field Values
Constructor Detail

Sequence

public Sequence(float divisionType,
                int resolution)
         throws InvalidMidiDataException
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)
         throws InvalidMidiDataException
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

getDivisionType

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

Returns:
division type of this sequence

getResolution

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

Returns:
the timing resolution for this sequence

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

getTracks

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

Returns:
a possibly empty array of tracks

getMicrosecondLength

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

Returns:
the length of this sequence in microseconds

getTickLength

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

Returns:
the length of this sequence in MIDI ticks

getPatchList

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

Returns:
an array of patches used in this sequence