com.jblend.media.karaoke
クラス ReferenceEvent

java.lang.Object
  |
  +--com.jblend.media.karaoke.ReferenceEvent

public class ReferenceEvent
extends java.lang.Object

採点の基準となる旋律情報を構成する各イベントの情報を保持するクラスです。

データの例


上記の楽譜に対応する採点基準情報を以下に示します。

  [0] [1] [2] [3] [4] [5] [6]
積算時間 0 100 400 500 1000 1500 1750
音階 0x0001 0x0001 0x0001 0x0004 0x0000 0x0090 0x0090
ピッチベンド     0 -5 +5 +5 0 +5 0

ReferenceEventクラスのインスタンスは、ReferenceScoreReferenceScore.getReferenceEvents(int, int) メソッドが呼び出されると、 ReferenceScore が関連する KaraokeData から採点基準情報を取得して生成されます。 ReferenceEventクラスのインスタンスが生成された後にKaraokeData オブジェクトのデータを変更しても、 ReferenceEventクラスのメソッドによって取得する値は変わりません。

導入されたバージョン:
JSCL 1.3.2

メソッドの概要
 int[] getGamut(int offset, int length)
          音階を取得します。
 int getLength()
          採点基準情報に含まれるデータの総数を取得します。
 int[] getPitchBend(int offset, int length)
          ピッチベンドを取得します。
 int[] getTotalTime(int offset, int length)
          積算時間を取得します。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getTotalTime

public int[] getTotalTime(int offset,
                          int length)
積算時間を取得します。

曲の先頭からの経過時間を返します。 ReferenceEventに含まれる採点基準情報の、引数offset(先頭は0)から引数length分の情報を取得します。

パラメータ:
offset - 取得を開始する採点基準情報の配列のオフセット
length - 取得する採点基準情報の数
戻り値:
積算時間(単位はミリ秒)
例外:
java.lang.IllegalArgumentException - 引数が不正な場合に発生する
ArrayIndexOutOfBoundsException - 引数offsetが配列の有効範囲外を指定した場合に発生する

getGamut

public int[] getGamut(int offset,
                      int length)
音階を取得します。

各音階に対応したビットマップ値を返します。 ビットの値が 1 の場合、発音状態にあるものとします。 音階とビットの対応を以下に示します。
158 70
予約 予約 予約 予約  B   A#  A   G#  G   F#  F   E   D#  D   C#  C 

ReferenceEventに含まれる採点基準情報の、引数offset(先頭は0)から引数length分の情報を取得します。

パラメータ:
offset - 取得を開始する採点基準情報の配列のオフセット
length - 取得する採点基準情報の数
戻り値:
音階
例外:
java.lang.IllegalArgumentException - パラメータが不正な値の場合に発生する
ArrayIndexOutOfBoundsException - パラメータの値が配列の有効範囲外を指定した場合に発生する

getPitchBend

public int[] getPitchBend(int offset,
                          int length)
ピッチベンドを取得します。 ReferenceEventに含まれる採点基準情報の、引数offset(先頭は0)から引数length分の情報を取得します。
パラメータ:
offset - 取得を開始する採点基準情報の配列のオフセット
length - 取得する採点基準情報の数
戻り値:
ピッチベンド。範囲は-2400 〜 2400(単位はcent)。
例外:
java.lang.IllegalArgumentException - パラメータが不正な値の場合に指定する
ArrayIndexOutOfBoundsException - パラメータの値が配列の有効範囲外を指定した場合に指定する

getLength

public int getLength()
採点基準情報に含まれるデータの総数を取得します。

ReferenceEvent オブジェクトは、積算時間の昇順で管理されるため、 SMAFデータより取得したデータが同じ積算時間である場合、1つにまとめられます。 このため、このメソッドの戻り値は、 ReferenceScoregetReferenceEvents(int, int) メソッドの引数size に指定された値より小さい値になる場合があります。

戻り値:
データの総数。インデックスオフセットの最大値。