JavaTM Platform
Standard Ed. 6

javax.sound.midi
クラス Sequence

java.lang.Object
  上位を拡張 javax.sound.midi.Sequence

public class Sequence
extends Object

Sequence は、 Sequencer オブジェクトで再生できる音楽情報 (多くは曲全体または編) を含むデータ構造です。具体的には、Sequence はタイミング情報および 1 つ以上のトラックを含んでいます。各トラックは、一連の MIDI イベント (ノートオン、ノートオフ、プログラム変更、メタイベントなど) から構成されています。シーケンスのタイミング情報は、そのシーケンスのイベントの時刻表示に使用される単位を指定します。

Sequence は、ファイルを入力ストリームに読み込んで MidiSystemgetSequence メソッドの 1 つを呼び出すことによって、MIDI ファイルから作成できます。シーケンスもまた、空き Sequence に新しいトラックを追加し、それらのトラックに MidiEvent オブジェクトを追加することによって、新たに作成できます。

関連項目:
Sequencer.setSequence(java.io.InputStream stream), Sequencer.setSequence(Sequence sequence), Track.add(MidiEvent), MidiFileFormat

フィールドの概要
protected  float divisionType
          シーケンスのタイミング分割形式です。
static float PPQ
          テンポベースのタイミング形式で、これに対する解像度は四分音符当たりのパルス (ティック) で表示されます。
protected  int resolution
          シーケンスのタイミング解像度です。
static float SMPTE_24
          SMPTE ベースのタイミング形式で、1 秒当たり 24 フレームです (解像度は 1 フレーム当たりのティックで表示)。
static float SMPTE_25
          SMPTE ベースのタイミング形式で、1 秒当たり 25 フレームです (解像度は 1 フレーム当たりのティックで表示)。
static float SMPTE_30
          SMPTE ベースのタイミング形式で、1 秒当たり 30 フレームです (解像度は 1 フレーム当たりのティックで表示)。
static float SMPTE_30DROP
          SMPTE ベースのタイミング形式で、1 秒当たり 29.97 フレームです (解像度は 1 フレーム当たりのティックで表示)。
protected  Vector<Track> tracks
          このシーケンスの MIDI トラックです。
 
コンストラクタの概要
Sequence(float divisionType, int resolution)
          新しい MIDI シーケンスを、指定されたタイミング分割形式およびタイミング解像度で構築します。
Sequence(float divisionType, int resolution, int numTracks)
          新しい MIDI シーケンスを、指定されたタイミング分割形式、タイミング解像度、およびトラック数で構築します。
 
メソッドの概要
 Track createTrack()
          空のトラックをこのシーケンスの一部として新しく作成します。
 boolean deleteTrack(Track track)
          シーケンスから、指定されたトラックを削除します。
 float getDivisionType()
          このシーケンスのタイミング分割形式を取得します。
 long getMicrosecondLength()
          マイクロ秒単位のこのシーケンスのデュレーションを取得します。
 Patch[] getPatchList()
          このシーケンスで参照されるパッチのリストを取得します。
 int getResolution()
          このシーケンスのタイミング解像度を取得します。
 long getTickLength()
          MIDI ティック単位のこのシーケンスのデュレーションを取得します。
 Track[] getTracks()
          このシーケンスの全トラックを含む配列を取得します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

PPQ

public static final float PPQ
テンポベースのタイミング形式で、これに対する解像度は四分音符当たりのパルス (ティック) で表示されます。

関連項目:
Sequence(float, int), 定数フィールド値

SMPTE_24

public static final float SMPTE_24
SMPTE ベースのタイミング形式で、1 秒当たり 24 フレームです (解像度は 1 フレーム当たりのティックで表示)。

関連項目:
Sequence(float, int), 定数フィールド値

SMPTE_25

public static final float SMPTE_25
SMPTE ベースのタイミング形式で、1 秒当たり 25 フレームです (解像度は 1 フレーム当たりのティックで表示)。

関連項目:
Sequence(float, int), 定数フィールド値

SMPTE_30DROP

public static final float SMPTE_30DROP
SMPTE ベースのタイミング形式で、1 秒当たり 29.97 フレームです (解像度は 1 フレーム当たりのティックで表示)。

関連項目:
Sequence(float, int), 定数フィールド値

SMPTE_30

public static final float SMPTE_30
SMPTE ベースのタイミング形式で、1 秒当たり 30 フレームです (解像度は 1 フレーム当たりのティックで表示)。

関連項目:
Sequence(float, int), 定数フィールド値

divisionType

protected float divisionType
シーケンスのタイミング分割形式です。

関連項目:
PPQ, SMPTE_24, SMPTE_25, SMPTE_30DROP, SMPTE_30, getDivisionType()

resolution

protected int resolution
シーケンスのタイミング解像度です。

関連項目:
getResolution()

tracks

protected Vector<Track> tracks
このシーケンスの MIDI トラックです。

関連項目:
getTracks()
コンストラクタの詳細

Sequence

public Sequence(float divisionType,
                int resolution)
         throws InvalidMidiDataException
新しい MIDI シーケンスを、指定されたタイミング分割形式およびタイミング解像度で構築します。分割形式は認識された MIDI タイミング形式の 1 つであることが必要です。テンポベースのタイミングの場合、divisionType は PPQ (四分音符あたりのパルス) で、解像度はビートあたりのティックで指定されます。SMTPE タイミングの場合、divisionType が 1 秒あたりのフレーム数を指定し、解像度はフレームあたりのティックで指定されます。シーケンスには初期トラックを含みません。トラックの追加または削除は、createTrack() および deleteTrack(javax.sound.midi.Track) を使用して行うことができます。

パラメータ:
divisionType - タイミング分割形式 (PPQ、または SMPTE 形式の 1 つ)
resolution - タイミング解像度
例外:
InvalidMidiDataException - divisionType が有効でない場合
関連項目:
PPQ, SMPTE_24, SMPTE_25, SMPTE_30DROP, SMPTE_30, getDivisionType(), getResolution(), getTracks()

Sequence

public Sequence(float divisionType,
                int resolution,
                int numTracks)
         throws InvalidMidiDataException
新しい MIDI シーケンスを、指定されたタイミング分割形式、タイミング解像度、およびトラック数で構築します。分割形式は認識された MIDI タイミング形式の 1 つであることが必要です。テンポベースのタイミングの場合、divisionType は PPQ (四分音符あたりのパルス) で、解像度はビートあたりのティックで指定されます。SMTPE タイミングの場合、divisionType が 1 秒あたりのフレーム数を指定し、解像度はフレームあたりのティックで指定されます。シーケンスは numTracks で指定されたトラック数で初期化されます。これらのトラックは最初は空です (すなわち、「トラックの終わり」というメタイベントしか含まれていない)。トラックは getTracks() メソッドを使用して検出し、編集できます。トラックの追加および既存トラックの削除は、createTrack() および deleteTrack(javax.sound.midi.Track) を使用して行うことができます。

パラメータ:
divisionType - タイミング分割形式 (PPQ、または SMPTE 形式の 1 つ)
resolution - タイミング解像度
numTracks - シーケンスのトラックの初期番号
例外:
InvalidMidiDataException - divisionType が有効でない場合
関連項目:
PPQ, SMPTE_24, SMPTE_25, SMPTE_30DROP, SMPTE_30, getDivisionType(), getResolution()
メソッドの詳細

getDivisionType

public float getDivisionType()
このシーケンスのタイミング分割形式を取得します。

戻り値:
分割形式 (PPQ、または SMPTE 形式の 1 つ)
関連項目:
PPQ, SMPTE_24, SMPTE_25, SMPTE_30DROP, SMPTE_30, Sequence(float, int), MidiFileFormat.getDivisionType()

getResolution

public int getResolution()
このシーケンスのタイミング解像度を取得します。シーケンスの分割形式が PPQ の場合、解像度は 1 ビートあたりのティックで指定されます。SMTPE タイミングの場合、解像度は 1 フレームあたりのティックで指定されます。

戻り値:
1 ビート当たり (PPQ) または 1 フレーム当たり (SMPTE) のティック数
関連項目:
getDivisionType(), Sequence(float, int), MidiFileFormat.getResolution()

createTrack

public Track createTrack()
空のトラックをこのシーケンスの一部として新しく作成します。このトラックには、最初、「トラックの終わり」というメタイベントが含まれています。新たに作成されたトラックが返されます。シーケンスの全トラックは getTracks() を使用して検出できます。トラックは deleteTrack(javax.sound.midi.Track) を使用して削除できます。

戻り値:
新しく作成されたトラック

deleteTrack

public boolean deleteTrack(Track track)
シーケンスから、指定されたトラックを削除します。

パラメータ:
track - 削除するトラック
戻り値:
トラックがそのトラックに存在し、かつ削除された場合は true、 そうでない場合は false
関連項目:
createTrack(), getTracks()

getTracks

public Track[] getTracks()
このシーケンスの全トラックを含む配列を取得します。シーケンスがトラックを含んでいない場合、長さ 0 の配列が返されます。

戻り値:
トラックの配列
関連項目:
createTrack(), deleteTrack(javax.sound.midi.Track)

getMicrosecondLength

public long getMicrosecondLength()
マイクロ秒単位のこのシーケンスのデュレーションを取得します。

戻り値:
マイクロ秒単位のこのシーケンスのデュレーション

getTickLength

public long getTickLength()
MIDI ティック単位のこのシーケンスのデュレーションを取得します。

戻り値:
ティック単位のこのシーケンスの長さ
関連項目:
getMicrosecondLength()

getPatchList

public Patch[] getPatchList()
このシーケンスで参照されるパッチのリストを取得します。このパッチリストを使用して、必要な Instrument オブジェクトを Synthesizer にロードできます。

戻り値:
このシーケンスで使用される Patch オブジェクトの配列
関連項目:
Synthesizer.loadInstruments(Soundbank, Patch[])

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。