モジュール java.desktop
パッケージ javax.sound.midi

インタフェースSequencer

すべてのスーパー・インタフェース:
AutoCloseable, MidiDevice

public interface Sequencer extends MidiDevice
MIDI sequenceを再生するハードウェアまたはソフトウェア・デバイスは、sequencerとして知られています。 MIDIシーケンスには、標準MIDIファイルから読み込まれたデータなどの、タイムスタンプの付いたMIDIデータのリストが含まれます。 ほとんどのシーケンサは、シーケンスを作成し編集する機能も提供します。

Sequencerインタフェースには、次のような基本的なMIDIシーケンサ操作のメソッドが含まれます。

  • MIDIデータ・ファイルからのシーケンスの取得
  • 再生の開始と停止
  • シーケンス上の任意の位置への移動
  • 再生のテンポ(スピード)の変更
  • 内部クロックまたは受信したMIDIメッセージへの再生の同期化
  • ほかのデバイスのタイミングの制御
さらに、直接に、またはSequencerがアクセスできるオブジェクトを通じて間接的に、次の操作もサポートされます。
  • 個々のMIDIイベントまたはトラック全体の追加または削除によるデータの編集
  • シーケンスの個々のトラックのミュート化またはソロ化
  • シーケンスの再生中に発生したメタイベントまたは制御変更イベントに関するオブジェクトの、リスナーへの通知

関連項目:
Sequencer.SyncModeaddMetaEventListener(javax.sound.midi.MetaEventListener)ControllerEventListenerReceiverTransmitterMidiDevice
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    インタフェース
    説明
    static class 
    SyncModeオブジェクトは、MIDIシーケンサで扱われている時間をマスターまたはスレーブ・デバイスと同期化する方法の1つを表します。

    インタフェース javax.sound.midi.MidiDeviceで宣言されたネストされたクラス/インタフェース

    MidiDevice.Info
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static int
    ループは特定回数くり返し実行されたあとで終了するのではなく無制限に継続することを示す値。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int[]
    addControllerEventListener​(ControllerEventListener listener, int[] controllers)
    要求された種類の制御変更イベントをシーケンサが処理するときに通知を受け取るためのコントローラ・イベント・リスナーを登録します。
    boolean
    メタイベントがシーケンスで発生してシーケンサによって処理されるときに通知を受け取るためメタイベント・リスナーを登録します。
    int
    再生の反復数を取得します。
    long
    ループの終点を取得します(MIDIティック単位)。
    long
    ループの始点を取得します(MIDIティック単位)。
    このシーケンサの現在のマスター同期モードを取得します。
    このシーケンサがサポートするマスター同期モードのセットを取得します。
    long
    マイクロ秒で表した現在のシーケンスの長さを取得します。シーケンスが設定されていない場合は、0が返されます。
    long
    シーケンス上の現在の位置をマイクロ秒単位で取得します。
    シーケンサが現在操作しているシーケンスを取得します。
    このシーケンサの現在のスレーブ同期モードを取得します。
    シーケンサがサポートするスレーブ同期モードのセットを取得します。
    float
    シーケンサの現在のテンポ係数を返します。
    float
    1分当たりのビートで表示される現在のテンポを取得します。
    float
    四分音符当たりのマイクロ秒で表示される現在のテンポを取得します。
    long
    MIDIティックで表した現在のシーケンスの長さを取得します。シーケンスが設定されていない場合は、0が返されます。
    long
    シーケンスの現在の位置をMIDIティック単位で取得します。
    boolean
    getTrackMute​(int track)
    トラックの現在のミュート状態を取得します。
    boolean
    getTrackSolo​(int track)
    トラックの現在のソロ状態を取得します。
    boolean
    シーケンサが現在録音中かどうかを示します。
    boolean
    シーケンサが現在実行中かどうかを示します。
    void
    recordDisable​(Track track)
    指定されたトラックへの録音を不可にします。
    void
    recordEnable​(Track track, int channel)
    指定されたトラックに、特定のチャネルで受信するイベントを録音する準備をします。
    int[]
    removeControllerEventListener​(ControllerEventListener listener, int[] controllers)
    1つ以上の種類のコントローラ・イベントについて、コントローラ・イベント・リスナーの処理対象を削除します。
    void
    実際にリスナーが登録された場合、このシーケンサの登録済みリスナーのリストから指定されたメタイベント・リスナーを削除します。
    void
    setLoopCount​(int count)
    ループを再生する反復回数を設定します。
    void
    setLoopEndPoint​(long tick)
    ループで最後に再生されるMIDIティックを設定します。
    void
    setLoopStartPoint​(long tick)
    ループで再生する最初のMIDIティックを設定します。
    void
    このシーケンサが使用するタイミング情報のソースを設定します。
    void
    setMicrosecondPosition​(long microseconds)
    シーケンス上の現在の位置をマイクロ秒単位で設定します。
    void
    シーケンサが操作する現在のシーケンスを設定します。
    void
    setSequence​(Sequence sequence)
    シーケンサが操作する現在のシーケンスを設定します。
    void
    シーケンサのスレーブ同期モードを設定します。
    void
    setTempoFactor​(float factor)
    指定された係数によりシーケンサの実際の再生テンポをスケーリングします。
    void
    setTempoInBPM​(float bpm)
    テンポを1分当たりのビートで設定します。
    void
    setTempoInMPQ​(float mpq)
    テンポを四分音符当たりのマイクロ秒で設定します。
    void
    setTickPosition​(long tick)
    現在のシーケンサの位置をMIDIティックで設定します。
    void
    setTrackMute​(int track, boolean mute)
    トラックのミュート状態を設定します。
    void
    setTrackSolo​(int track, boolean solo)
    トラックのソロ状態を設定します。
    void
    現在ロードされているシーケンスのMIDIデータの再生を開始します。
    void
    MIDIデータの録音および再生を開始します。
    void
    アクティブの場合録音を停止し、現在ロードされているシーケンスがあれば、その再生を停止します。
    void
    アクティブの場合録音を停止します。

    インタフェース javax.sound.midi.MidiDeviceで宣言されたメソッド

    close, getDeviceInfo, getMaxReceivers, getMaxTransmitters, getReceiver, getReceivers, getTransmitter, getTransmitters, isOpen, open
  • フィールド詳細

    • LOOP_CONTINUOUSLY

      static final int LOOP_CONTINUOUSLY
      ループは特定回数くり返し実行されたあとで終了するのではなく無制限に継続することを示す値。
      導入されたバージョン:
      1.5
      関連項目:
      setLoopCount(int)定数フィールド値
  • メソッドの詳細

    • setSequence

      void setSequence(Sequence sequence) throws InvalidMidiDataException
      シーケンサが操作する現在のシーケンスを設定します。

      このメソッドは、Sequencerが閉じている場合でも呼び出すことができます。

      パラメータ:
      sequence - ロードするシーケンス
      例外:
      InvalidMidiDataException - シーケンスが無効なMIDIデータを含んでいるか、シーケンスがサポートされていない場合
    • setSequence

      void setSequence(InputStream stream) throws IOException, InvalidMidiDataException
      シーケンサが操作する現在のシーケンスを設定します。 ストリームはMIDIファイル・データを示す必要があります。

      このメソッドは、Sequencerが閉じている場合でも呼び出すことができます。

      パラメータ:
      stream - MIDIファイル・データを含むストリーム
      例外:
      IOException - ストリームの読込み中に入出力例外が発生した場合
      InvalidMidiDataException - ストリームで無効なデータが発生したか、またはストリームがサポートされていない場合
    • getSequence

      Sequence getSequence()
      シーケンサが現在操作しているシーケンスを取得します。

      このメソッドは、Sequencerが閉じている場合でも呼び出すことができます。

      戻り値:
      現在のシーケンス、またはシーケンスが現在設定されていない場合はnull
    • start

      void start()
      現在ロードされているシーケンスのMIDIデータの再生を開始します。 再生は現在の位置から始まります。 再生位置がループの終点に達したときにループ・カウントが1以上の場合には、ループの始点から再生が再開され、これがsetLoopCountで設定された反復数だけ繰り返されます。 その反復の後、またはループ・カウントが0のとき、再生はシーケンスの終わりまで続行されます。

      この実装により、適切なコントローラ、ピッチ・ベンド、およびプログラム変更イベントが送信されます。この結果、ループの始点に移動したときにシンセサイザの状態の一貫性が保証されます。

      例外:
      IllegalStateException - Sequencerが閉じている場合
      関連項目:
      setLoopStartPoint(long), setLoopEndPoint(long), setLoopCount(int), stop()
    • stop

      void stop()
      アクティブの場合録音を停止し、現在ロードされているシーケンスがあれば、その再生を停止します。
      例外:
      IllegalStateException - Sequencerが閉じている場合
      関連項目:
      start(), isRunning()
    • isRunning

      boolean isRunning()
      シーケンサが現在実行中かどうかを示します。 デフォルトは「false」です。 start()またはstartRecording()のいずれかが呼び出されると、シーケンサは実行を開始します。isRunningは、シーケンスの再生が完了するか、stop()が呼び出されるまで、trueを返します。
      戻り値:
      シーケンサが実行中の場合はtrue、そうでない場合はfalse
    • startRecording

      void startRecording()
      MIDIデータの録音および再生を開始します。 データは、トラックが使用可能になっているチャネルの、使用可能な全トラックに録音されます。 録音はシーケンサの現在の位置から開始されます。 すでにトラックにあるイベントは録音セッション中に上書きされます。 現在ロードされているシーケンスからのイベントがあれば、そのイベントは録音中に受信するメッセージと一緒にシーケンサのトランスミッタに配信されます。

      トラックはデフォルトでは録音可能になっていません。 MIDIデータを録音するためには、少なくとも1つのトラックが具体的に録音可能になっている必要があります。

      例外:
      IllegalStateException - Sequencerが閉じている場合
      関連項目:
      recordEnable(javax.sound.midi.Track, int), recordDisable(javax.sound.midi.Track)
    • stopRecording

      void stopRecording()
      アクティブの場合録音を停止します。 現在のシーケンスの再生は継続します。
      例外:
      IllegalStateException - Sequencerが閉じている場合
      関連項目:
      startRecording(), isRecording()
    • isRecording

      boolean isRecording()
      シーケンサが現在録音中かどうかを示します。 デフォルトは「false」です。 startRecording()が呼び出されると、シーケンサはレコーディングを開始し、stop()またはstopRecording()が呼び出されるまでtrueを返します。
      戻り値:
      シーケンサが録音中の場合はtrue、そうでない場合はfalse
    • recordEnable

      void recordEnable(Track track, int channel)
      指定されたトラックに、特定のチャネルで受信するイベントを録音する準備をします。 トラックを使用可能にしておくと、録音がアクティブになったときにイベントを受信します。
      パラメータ:
      track - イベントが録音されるトラック
      channel - イベントが受信されるチャネル。 チャネル値に -1が指定されている場合、トラックは全チャネルからのデータを受信する。
      例外:
      IllegalArgumentException - トラックが現在のシーケンスの一部でない場合、スローされる
    • recordDisable

      void recordDisable(Track track)
      指定されたトラックへの録音を不可にします。 それ以降のイベントはこのトラックには録音されません。
      パラメータ:
      track - 録音を不可にするトラック、または全トラックを録音不可にする場合はnull
    • getTempoInBPM

      float getTempoInBPM()
      1分当たりのビートで表示される現在のテンポを取得します。 再生の実際のテンポは、戻り値およびテンポ係数で決まります。
      戻り値:
      1分当たりのビートで表示される現在のテンポ
      関連項目:
      getTempoFactor(), setTempoInBPM(float), getTempoInMPQ()
    • setTempoInBPM

      void setTempoInBPM(float bpm)
      テンポを1分当たりのビートで設定します。 再生の実際のテンポは、指定された値およびテンポ係数で決まります。
      パラメータ:
      bpm - 1分当たりのビートで表される目的の新たなテンポ
      関連項目:
      getTempoFactor(), setTempoInMPQ(float), getTempoInBPM()
    • getTempoInMPQ

      float getTempoInMPQ()
      四分音符当たりのマイクロ秒で表示される現在のテンポを取得します。 再生の実際のテンポは、戻り値およびテンポ係数で決まります。
      戻り値:
      四分音符当たりのマイクロ秒で表示される現在のテンポ
      関連項目:
      getTempoFactor(), setTempoInMPQ(float), getTempoInBPM()
    • setTempoInMPQ

      void setTempoInMPQ(float mpq)
      テンポを四分音符当たりのマイクロ秒で設定します。 再生の実際のテンポは、指定された値およびテンポ係数で決まります。
      パラメータ:
      mpq - 四分音符当たりのマイクロ秒で表される目的の新たなテンポ
      関連項目:
      getTempoFactor(), setTempoInBPM(float), getTempoInMPQ()
    • setTempoFactor

      void setTempoFactor(float factor)
      指定された係数によりシーケンサの実際の再生テンポをスケーリングします。 デフォルトは1.0です。 1.0の値は自然率(シーケンスで指定されたテンポ)を表し、2.0は2倍の速さを意味します。テンポ係数はgetTempoInMPQ()getTempoInBPM()によって返される値に影響しません。 これらの値はスケーリング前のテンポを示します。

      外部同期が使用されている場合はテンポ係数は調整できません。 その場合、setTempoFactorはテンポ係数を常に1.0に設定します。

      パラメータ:
      factor - 要求されたテンポ・スカラー
      関連項目:
      getTempoFactor()
    • getTempoFactor

      float getTempoFactor()
      シーケンサの現在のテンポ係数を返します。 デフォルトは1.0です。
      戻り値:
      テンポ係数
      関連項目:
      setTempoFactor(float)
    • getTickLength

      long getTickLength()
      MIDIティックで表した現在のシーケンスの長さを取得します。シーケンスが設定されていない場合は、0が返されます。
      戻り値:
      ティック表示によるこのシーケンスの長さ
    • getTickPosition

      long getTickPosition()
      シーケンスの現在の位置をMIDIティック単位で取得します。 (ティックの持続時間は、テンポとSequenceに保存されているタイミング解像度の両方によって決まります。)
      戻り値:
      現在のティック
      関連項目:
      setTickPosition(long)
    • setTickPosition

      void setTickPosition(long tick)
      現在のシーケンサの位置をMIDIティックで設定します。
      パラメータ:
      tick - 目的のティック位置
      関連項目:
      getTickPosition()
    • getMicrosecondLength

      long getMicrosecondLength()
      マイクロ秒で表した現在のシーケンスの長さを取得します。シーケンスが設定されていない場合は、0が返されます。
      戻り値:
      マイクロ秒単位でのシーケンスの長さ
    • getMicrosecondPosition

      long getMicrosecondPosition()
      シーケンス上の現在の位置をマイクロ秒単位で取得します。
      定義:
      getMicrosecondPosition、インタフェース: MidiDevice
      戻り値:
      マイクロ秒単位での現在の位置
      関連項目:
      setMicrosecondPosition(long)
    • setMicrosecondPosition

      void setMicrosecondPosition(long microseconds)
      シーケンス上の現在の位置をマイクロ秒単位で設定します。
      パラメータ:
      microseconds - マイクロ秒単位での目的の位置
      関連項目:
      getMicrosecondPosition()
    • setMasterSyncMode

      void setMasterSyncMode(Sequencer.SyncMode sync)
      このシーケンサが使用するタイミング情報のソースを設定します。 シーケンサはマスターと同期します。マスターはsyncの値に応じて内部クロック、MIDIクロック、またはMIDIタイム・コードになります。 sync引数は、getMasterSyncModes()によって返されるように、サポートされているモードの1つでなければなりません。
      パラメータ:
      sync - 目的のマスター同期モード
      関連項目:
      Sequencer.SyncMode.INTERNAL_CLOCK, Sequencer.SyncMode.MIDI_SYNC, Sequencer.SyncMode.MIDI_TIME_CODE, getMasterSyncMode()
    • getMasterSyncMode

      Sequencer.SyncMode getMasterSyncMode()
      このシーケンサの現在のマスター同期モードを取得します。
      戻り値:
      現在のマスター同期モード
      関連項目:
      setMasterSyncMode(SyncMode), getMasterSyncModes()
    • getMasterSyncModes

      Sequencer.SyncMode[] getMasterSyncModes()
      このシーケンサがサポートするマスター同期モードのセットを取得します。
      戻り値:
      使用可能なマスター同期モード
      関連項目:
      Sequencer.SyncMode.INTERNAL_CLOCK, Sequencer.SyncMode.MIDI_SYNC, Sequencer.SyncMode.MIDI_TIME_CODE, getMasterSyncMode(), setMasterSyncMode(SyncMode)
    • setSlaveSyncMode

      void setSlaveSyncMode(Sequencer.SyncMode sync)
      シーケンサのスレーブ同期モードを設定します。 これはシーケンサからレシーバに送信されるタイミング情報の種類を示します。 sync引数は、getSlaveSyncModes()によって返されるように、サポートされているモードの1つでなければなりません。
      パラメータ:
      sync - 目的のスレーブ同期モード
      関連項目:
      Sequencer.SyncMode.MIDI_SYNC, Sequencer.SyncMode.MIDI_TIME_CODE, Sequencer.SyncMode.NO_SYNC, getSlaveSyncModes()
    • getSlaveSyncMode

      Sequencer.SyncMode getSlaveSyncMode()
      このシーケンサの現在のスレーブ同期モードを取得します。
      戻り値:
      現在のスレーブ同期モード
      関連項目:
      setSlaveSyncMode(SyncMode), getSlaveSyncModes()
    • getSlaveSyncModes

      Sequencer.SyncMode[] getSlaveSyncModes()
      シーケンサがサポートするスレーブ同期モードのセットを取得します。
      戻り値:
      使用可能なスレーブ同期モード
      関連項目:
      Sequencer.SyncMode.MIDI_SYNC, Sequencer.SyncMode.MIDI_TIME_CODE, Sequencer.SyncMode.NO_SYNC
    • setTrackMute

      void setTrackMute(int track, boolean mute)
      トラックのミュート状態を設定します。 このメソッドはいくつかの理由で失敗することがあります。 たとえば、指定されたトラック番号が現在のシーケンスに対して有効でない、あるいはシーケンサがこの機能をサポートしていない、などです。 この操作が成功したかどうかを検証する必要があるアプリケーションは、getTrackMute(int)を呼び出してこの呼び出しに従う必要があります。
      パラメータ:
      track - トラック番号。 現在のシーケンスのトラックは、0からシーケンスのトラック数から1を引いた値の範囲で番号付けされる。
      mute - トラックの新しいミュート状態。trueはトラックがミュートであることを意味し、falseはトラックがミュートでないことを意味する。
      関連項目:
      getSequence()
    • getTrackMute

      boolean getTrackMute(int track)
      トラックの現在のミュート状態を取得します。 ミュートになっていない全トラックのデフォルト・ミュート状態はfalseです。 指定されたトラックがミュートになっていない場合にはいつでも、このメソッドはfalseを返します。 これは、シーケンサがトラックのミュート化をサポートしていない場合や、指定されたトラック・インデックスが有効でない場合にも当てはまります。
      パラメータ:
      track - トラック番号。 現在のシーケンスのトラックは、0からシーケンスのトラック数から1を引いた値の範囲で番号付けされる。
      戻り値:
      ミュートの場合はtrue、そうでない場合はfalse
    • setTrackSolo

      void setTrackSolo(int track, boolean solo)
      トラックのソロ状態を設定します。 solotrueの場合は、このトラックおよびソロになっているほかのトラックの音だけが聞こえます。 solofalseの場合は、ソロになっているほかのトラックの音だけが聞こえますが、ソロになっているトラックがないときはミュートになっていないトラックの音がすべて聞こえます。

      このメソッドはいくつかの理由で失敗することがあります。 たとえば、指定されたトラック番号が現在のシーケンスに対して有効でない、あるいはシーケンサがこの機能をサポートしていない、などです。 この操作が成功したかどうかを検証する必要があるアプリケーションは、getTrackSolo(int)を呼び出してこの呼び出しに従う必要があります。

      パラメータ:
      track - トラック番号。 現在のシーケンスのトラックは、0からシーケンスのトラック数から1を引いた値の範囲で番号付けされる。
      solo - トラックの新しいソロ状態。trueはトラックがソロであることを意味し、falseはトラックがソロでないことを意味する。
      関連項目:
      getSequence()
    • getTrackSolo

      boolean getTrackSolo(int track)
      トラックの現在のソロ状態を取得します。 ソロになっていない全トラックのデフォルト・ミュート状態はfalseです。 指定されたトラックがソロになっていない場合にはいつでも、このメソッドはfalseを返します。 これは、シーケンサがトラックのソロ化をサポートしていない場合や、指定されたトラック・インデックスが有効でない場合にも当てはまります。
      パラメータ:
      track - トラック番号。 現在のシーケンスのトラックは、0からシーケンスのトラック数から1を引いた値の範囲で番号付けされる。
      戻り値:
      ソロの場合はtrue、そうでない場合はfalse
    • addMetaEventListener

      boolean addMetaEventListener(MetaEventListener listener)
      メタイベントがシーケンスで発生してシーケンサによって処理されるときに通知を受け取るためメタイベント・リスナーを登録します。 このメソッドは、このクラスのシーケンサがメタイベント通知をサポートしていない場合などに失敗する可能性があります。
      パラメータ:
      listener - 追加するリスナー
      戻り値:
      リスナーの追加が完了した場合はtrue、そうでない場合はfalse
      関連項目:
      removeMetaEventListener(javax.sound.midi.MetaEventListener)MetaEventListenerMetaMessage
    • removeMetaEventListener

      void removeMetaEventListener(MetaEventListener listener)
      実際にリスナーが登録された場合、このシーケンサの登録済みリスナーのリストから指定されたメタイベント・リスナーを削除します。
      パラメータ:
      listener - 削除するメタイベント・リスナー
      関連項目:
      addMetaEventListener(javax.sound.midi.MetaEventListener)
    • addControllerEventListener

      int[] addControllerEventListener(ControllerEventListener listener, int[] controllers)
      要求された種類の制御変更イベントをシーケンサが処理するときに通知を受け取るためのコントローラ・イベント・リスナーを登録します。 種類はMIDIコントローラ番号の配列を含むcontrollers引数によって指定されます。 (各番号は0から127まで。 さまざまな種類のコントローラに対応する番号については、MIDI 1.0仕様を参照。)

      戻された配列には、リスナーが今後イベントを受信するMIDIコントローラの番号を含んでいます。 シーケンサによってはコントローラ・イベント通知をサポートしていない場合があり、その場合、配列の長さは0です。 ほかのシーケンサはいくつかのコントローラの通知をサポートしますが、全コントローラについてではありません。 このメソッドは繰返し呼び出されることがあります。 各回とも、返された配列は、その特定の呼出しで要求されたコントローラだけでなく、リスナーが通知を受ける全コントローラを示します。

      パラメータ:
      listener - 登録済みリスナーのリストに追加するコントローラ・イベント・リスナー
      controllers - 変更通知が要求されるMIDIコントローラ番号
      戻り値:
      指定されたリスナーに今後変更が報告される全MIDIコントローラの番号
      関連項目:
      removeControllerEventListener(javax.sound.midi.ControllerEventListener, int[])ControllerEventListener
    • removeControllerEventListener

      int[] removeControllerEventListener(ControllerEventListener listener, int[] controllers)
      1つ以上の種類のコントローラ・イベントについて、コントローラ・イベント・リスナーの処理対象を削除します。 controllers引数は、リスナーが今後変更通知を受けとらないコントローラに対応するMIDI番号の配列です。 登録済みリスナーのリストからこのリスナーを完全に削除するには、controllersnullを渡します。 戻された配列には、リスナーが今後イベントを受信するMIDIコントローラの番号を含んでいます。 リスナーがどのコントローラの変更通知も受信しない場合、配列の長さは0です。
      パラメータ:
      listener - 古いリスナー
      controllers - 変更通知を取り消すMIDIコントローラ番号、または全コントローラに対して取り消す場合はnull
      戻り値:
      指定されたリスナーに今後変更が報告される全MIDIコントローラの番号
      関連項目:
      addControllerEventListener(javax.sound.midi.ControllerEventListener, int[])
    • setLoopStartPoint

      void setLoopStartPoint(long tick)
      ループで再生する最初のMIDIティックを設定します。 ループ・カウンタが1以上の場合、ループの終点に達した時点で再生はこの始点に移動します。

      始点の値0は、ロードされているシーケンスの先頭を意味します。 始点の値は終点の値以下でなければならず、ロードされているシーケンスのサイズ内に入っていなければいけません。

      シーケンサのループ始点のデフォルトは、シーケンスの先頭です。

      パラメータ:
      tick - ループの始点(MIDIティック単位、ゼロから始まる)
      例外:
      IllegalArgumentException - 要求されたループ始点を設定できない場合。通常は、始点がシーケンスのデュレーション外にあるか、始点が終点より後にあることが原因
      導入されたバージョン:
      1.5
      関連項目:
      setLoopEndPoint(long), setLoopCount(int), getLoopStartPoint(), start()
    • getLoopStartPoint

      long getLoopStartPoint()
      ループの始点を取得します(MIDIティック単位)。
      戻り値:
      ループの始点(MIDIティック単位、ゼロから始まる)
      導入されたバージョン:
      1.5
      関連項目:
      setLoopStartPoint(long)
    • setLoopEndPoint

      void setLoopEndPoint(long tick)
      ループで最後に再生されるMIDIティックを設定します。 ループ・カウントが0の場合はループの終点に達しても再生が続行されます。

      終点の値 -1は、ロードされているシーケンスの最後のティックを意味します。 それ以外の場合、終点の値は始点の値以上でなければならず、ロードされているシーケンスのサイズ内に入っていなければいけません。

      シーケンサのループ終点のデフォルトは -1で、シーケンスの最後という意味です。

      パラメータ:
      tick - ループの終点(MIDIティック単位、ゼロから始まる)、または最後のティックを示す -1
      例外:
      IllegalArgumentException - 要求されたループ終点を設定できない場合。通常は、終点がシーケンスのデュレーション外にあるか、終点が始点より前にあることが原因
      導入されたバージョン:
      1.5
      関連項目:
      setLoopStartPoint(long), setLoopCount(int), getLoopEndPoint(), start()
    • getLoopEndPoint

      long getLoopEndPoint()
      ループの終点を取得します(MIDIティック単位)。
      戻り値:
      ループの終点(MIDIティック単位、ゼロから始まる)、またはシーケンスの最後を示す -1
      導入されたバージョン:
      1.5
      関連項目:
      setLoopEndPoint(long)
    • setLoopCount

      void setLoopCount(int count)
      ループを再生する反復回数を設定します。 再生がループの終点に達すると、count回までループの始点に戻ります。その後は、シーケンスの最後まで再生が続行されます。

      このメソッドを呼び出したときの現在位置がループの終点より大きい場合、ループは実行されず、シーケンスの最後まで再生が続行されます。ただし、この呼出しに続いてループの終点を変更した場合は、ループが実行されます。

      countの値を0に設定するとループが無効になります。つまり、ループの終点に達しても再生が続行され、ループの始点には戻りません。 これがシーケンサのデフォルトです。

      ループ中に再生を停止すると、現在のループ状態は解除されます。そのあとに開始要求を行うとき、中断されたループ操作の影響は受けません。

      パラメータ:
      count - 再生がループ終了位置からループ開始位置にループバックする回数、またはLOOP_CONTINUOUSLYがループが中断されるまで継続する必要があることを示す
      例外:
      IllegalArgumentException - countの値が負であり、かつLOOP_CONTINUOUSLYに等しくない場合
      導入されたバージョン:
      1.5
      関連項目:
      setLoopStartPoint(long), setLoopEndPoint(long), getLoopCount(), start()
    • getLoopCount

      int getLoopCount()
      再生の反復数を取得します。
      戻り値:
      ループの回数。その後は、シーケンスの最後まで再生される
      導入されたバージョン:
      1.5
      関連項目:
      setLoopCount(int), start()