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

static float
PPQ
Tempo-based timing.
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 float
divisionType
The timing division type for this sequence (PPQ or SMPTE*)
protected int
resolution
The timing resolution in ticks/beat or ticks/frame, depending on the division type.
protected Vector
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, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

PPQ

public static final float PPQ
Tempo-based timing. Resolution is specified in ticks per beat.
Field Value:
0.0f

SMPTE_24

public static final float SMPTE_24
24 frames/second timing. Resolution is specific in ticks per frame.
Field Value:
24.0f

SMPTE_25

public static final float SMPTE_25
25 frames/second timing. Resolution is specific in ticks per frame.
Field Value:
25.0f

SMPTE_30

public static final float SMPTE_30
30 frames/second timing. Resolution is specific in ticks per frame.
Field Value:
30.0f

SMPTE_30DROP

public static final float SMPTE_30DROP
29.97 frames/second timing. Resolution is specific in ticks per frame.
Field Value:
29.0f

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 tracks
The MIDI tracks used by this sequence.

Constructor Details

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 Details

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

Sequence.java -- A sequence of MIDI events Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.