クラス BeMusicPoint
- Object
-
- BeMusicPoint
-
- すべての実装されたインタフェース:
BmsAt
public class BeMusicPoint extends Object implements BmsAt
BMS譜面全体のうち、同一楽曲位置上における各種情報を表します。BMS譜面は、譜面全体が楽曲位置情報のリストで表されます。同一楽曲位置には複数の情報が含まれることが ほとんどであり、当クラスではそれらの情報を統合的に管理します。アプリケーションは必要に応じ、当クラスを通じて 各種情報にアクセスし、アプリケーションの機能を実現します。
各種情報の構成は以下のようになっています。
- 小節番号、小節の刻み位置からなる楽曲位置
- 楽曲位置に対応した譜面上の時間
- 楽曲位置が含まれる小節の小節長
- 楽曲位置における現在のスクロール速度
- 楽曲位置における現在のBPM
- 楽曲位置に到達した時に譜面を停止する時間
- ノートの情報(可視・不可視・地雷)
- 楽曲位置に到達した時に再生されるべきBGM
- 視覚効果を構成する情報(BGA・レイヤー・ミス時BGA)
- 楽曲位置に到達した時に表示されるべきテキスト
- その他、ノートの数に関する情報、および各種情報の有無を表すフラグ
- 導入されたバージョン:
- 0.0.1
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static BeMusicPointEMPTY譜面が空だった場合の唯一の楽曲位置情報。
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 BeMusicPoint()楽曲位置情報オブジェクトを構築します。
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 IntStreambgms()BGMのノートを走査します。voidenumBgms(IntConsumer action)全てのBGMのノートを列挙します。voidenumInvisibles(IntConsumer action)全ての不可視オブジェのノートを列挙します。voidenumSounds(boolean visible, boolean invisible, boolean bgm, IntConsumer action)サウンドに関連するノートを列挙します。voidenumSounds(IntConsumer action)サウンドに関連するノートを全て列挙します。voidenumVisibles(IntConsumer action)全ての可視オブジェのノートを列挙します。intgetBgaValue()この楽曲位置で表示するBGAの値(トラックID)を取得します。intgetBgmCount()この楽曲位置でのBGM数を取得します。intgetBgmValue(int index)この楽曲位置でのBGMの値を取得します。doublegetCurrentBpm()この楽曲位置での現在のBPMを取得します。doublegetCurrentScroll()この楽曲位置での現在のスクロール速度を取得します。doublegetCurrentSpeed()この楽曲位置での現在の譜面速度を取得します。intgetInvisibleValue(BeMusicDevice device)不可視オブジェの値を取得します。intgetLayerValue()この楽曲位置で表示するBGAレイヤーの値(トラックID)を取得します。intgetLongNoteCount()この楽曲位置においてロングノートが開始される数を取得します。intgetLongNoteCount(BeMusicLane lane)この楽曲位置において指定したレーンでロングノートが開始される数を取得します。intgetMeasure()小節番号を取得します。doublegetMeasureLength()この楽曲位置が存在する小節の小節長を取得します。intgetMineCount()この楽曲位置における地雷オブジェの数を取得します。intgetMineCount(BeMusicLane lane)この楽曲位置において指定レーンの地雷オブジェの数を取得します。intgetMissValue()楽曲のプレーミス時にこの楽曲位置で表示する画像の値(トラックID)を取得します。intgetNoteCount()この楽曲位置におけるノート数を取得します。intgetNoteCount(BeMusicLane lane)この楽曲位置において指定したレーンのノート数を取得します。doublegetStop()この楽曲位置到達時に譜面のスクロールを一時停止する時間を取得します。StringgetText()この楽曲位置で表示するテキストを取得します。doublegetTick()小節の刻み位置を取得します。doublegetTime()楽曲位置の時間を取得します。BeMusicNoteTypegetVisibleNoteType(BeMusicDevice device)指定入力デバイスに対応する可視オブジェのノート種別を取得します。intgetVisibleValue(BeMusicDevice device)指定入力デバイスの値を取得します。intgetVisualEffectCount()この楽曲位置において視覚効果を持つノートの数を取得します。intgetVisualEffectCount(BeMusicLane lane)この楽曲位置において指定レーンで視覚効果を持つノートの数を取得します。booleanhasBga()この楽曲位置でBGAの表示指定が存在するかを判定します。booleanhasBgm()この楽曲位置で1つでもBGM再生の指定が存在するかを判定します。booleanhasBpm()この楽曲位置でBPMを変更する指定が存在するかを判定します。booleanhasChangeSpeed()この楽曲位置での速度変更の有無を取得します。booleanhasGimmick()この楽曲位置でのギミック要素の有無を取得します。booleanhasHolding()この楽曲位置での長押し継続ノートの有無を取得します。booleanhasHolding(BeMusicLane lane)この楽曲位置において指定レーンでの長押し継続ノートの有無を取得します。booleanhasLayer()この楽曲位置でBGAレイヤーの表示指定が存在するかを判定します。booleanhasLongNoteHead()この楽曲位置での長押し開始ノートの有無を取得します。booleanhasLongNoteHead(BeMusicLane lane)この楽曲位置において指定レーンでの長押し開始ノートの有無を取得します。booleanhasLongNoteTail()この楽曲位置において長押し終了ノートの有無を取得します。booleanhasLongNoteTail(BeMusicLane lane)この楽曲位置において指定レーンでの長押し終了ノートの有無を取得します。booleanhasLongNoteType()この楽曲位置において長押し関連ノートの有無を取得します。booleanhasLongNoteType(BeMusicLane lane)この楽曲位置において指定レーンでの長押関連ノートの有無を取得します。booleanhasMeasureLength()この楽曲位置の小節で明示的な小節長の指定が存在するかを判定します。booleanhasMeasureLine()この楽曲位置が小節線を含んでいるかを判定します。booleanhasMine()この楽曲位置に地雷オブジェが存在するかを判定します。booleanhasMiss()この楽曲位置でミス時に表示するBGAの指定が存在するかを判定します。booleanhasMovementNote()この楽曲位置の何らかの操作を伴うノートの有無を取得します。booleanhasMovementNote(BeMusicLane lane)この楽曲位置において指定レーンで何らかの操作を伴うノートの有無を取得します。booleanhasPlayableNote()この楽曲位置の操作可能ノートの有無を取得します。booleanhasPlayableNote(BeMusicLane lane)この楽曲位置において指定レーンでの操作可能ノートの有無を取得します。booleanhasScroll()この楽曲位置でスクロール速度を変更する指定が存在するかを判定します。booleanhasStop()この楽曲位置で譜面停止の視覚効果を行う指定が存在するかを判定します。booleanhasText()この楽曲位置で表示するテキストが存在するかを判定します。booleanhasVisualEffect()この楽曲位置の視覚効果を持つノートの有無を取得します。booleanhasVisualEffect(BeMusicLane lane)この楽曲位置において指定レーンで視覚効果を持つノートの有無を取得します。IntStreaminvisibles()不可視オブジェのノートを走査します。protected voidonCreate()楽曲位置情報が構築された時に実行されます。IntStreamsounds()全てのサウンドに関連するノートを走査します。IntStreamsounds(boolean visible, boolean invisible, boolean bgm)サウンドに関連するノートを走査します。IntStreamvisibles()可視オブジェのノートを走査します。-
クラスから継承されたメソッド Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
インタフェースから継承されたメソッド BmsAt
onMeasureLine
-
-
-
-
フィールドの詳細
-
EMPTY
public static final BeMusicPoint EMPTY
譜面が空だった場合の唯一の楽曲位置情報。この楽曲位置情報は小節番号、刻み位置が0でその他の情報が 全て未設定の状態を表します。
-
-
コンストラクタの詳細
-
BeMusicPoint
public BeMusicPoint()
楽曲位置情報オブジェクトを構築します。当クラスはアプリケーションからnew演算子で直接インスタンスを生成することを想定していません。 楽曲位置情報の構築については
BeMusicChartBuilderを参照してください。- 関連項目:
BeMusicChartBuilder
-
-
メソッドの詳細
-
getMeasure
public int getMeasure()
小節番号を取得します。- 定義:
getMeasureインタフェース内BmsAt- 戻り値:
- 小節番号
-
getTime
public double getTime()
楽曲位置の時間を取得します。楽曲位置の時間は、小節0・刻み位置0からこの楽曲位置に到達するまでの時間を秒単位で表します。
- 戻り値:
- 楽曲位置の時間
-
getVisibleNoteType
public BeMusicNoteType getVisibleNoteType(BeMusicDevice device)
指定入力デバイスに対応する可視オブジェのノート種別を取得します。ノート種別については
BeMusicNoteTypeを参照してください。- パラメータ:
device- 入力デバイス- 戻り値:
- ノート種別
- 例外:
NullPointerException- deviceがnull- 関連項目:
BeMusicDevice,BeMusicNoteType
-
getVisibleValue
public int getVisibleValue(BeMusicDevice device)
指定入力デバイスの値を取得します。この値が示す意味はノート種別ごとに異なります。詳細は以下を参照してください。
ノート種別 値の意味 BeMusicNoteType.NONE原則として0を返します。このノート種別では値を参照するべきではありません。 BeMusicNoteType.BEAT音声データのトラックID、音声の再開フラグ、ノートごとのロングノートモードが格納されています。 音声データはトラックIDをキーにして BeMusicMeta.WAVにアクセスすることで参照できます。 各情報へのアクセス方法についてはBeMusicSoundを参照してください。BeMusicNoteType.LONG_ON同上 BeMusicNoteType.LONG_OFF同上、または BeMusicMeta.LNOBJに記述された値が格納されています。BeMusicNoteType.CHARGE_OFF同上 BeMusicNoteType.LONG原則として0を返します。このノート種別では値を参照するべきではありません。 BeMusicNoteType.MINE入力デバイス操作時に、値が示す大きさのダメージを受けます。 - パラメータ:
device- 入力デバイス- 戻り値:
- ノートの値
- 例外:
NullPointerException- deviceがnull- 関連項目:
BeMusicDevice,BeMusicNoteType,BeMusicSound,BeMusicMeta.WAV,BeMusicMeta.LNOBJ,BeMusicChannel.VISIBLE_1P_01,BeMusicChannel.MINE_1P_01
-
getNoteCount
public int getNoteCount()
この楽曲位置におけるノート数を取得します。ノート数は、この楽曲位置に到達した時に操作するべき入力デバイスの数を表します。 どのノート種別でノート数をカウントするべきかは
BeMusicNoteTypeを参照してください。- 戻り値:
- ノート数
-
getNoteCount
public int getNoteCount(BeMusicLane lane)
この楽曲位置において指定したレーンのノート数を取得します。ノート数は、この楽曲位置に到達した時に操作するべき入力デバイスの数を表します。 どのノート種別でノート数をカウントするべきかは
BeMusicNoteTypeを参照してください。- パラメータ:
lane- レーン- 戻り値:
- ノート数
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
-
getLongNoteCount
public int getLongNoteCount()
この楽曲位置においてロングノートが開始される数を取得します。厳密には
BeMusicNoteType.LONG_ONの数を表します。- 戻り値:
- ロングノート数
-
getLongNoteCount
public int getLongNoteCount(BeMusicLane lane)
この楽曲位置において指定したレーンでロングノートが開始される数を取得します。厳密には
BeMusicNoteType.LONG_ONの数を表します。- パラメータ:
lane- レーン- 戻り値:
- ロングノート数
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
-
getMineCount
public int getMineCount()
この楽曲位置における地雷オブジェの数を取得します。- 戻り値:
- 地雷オブジェの数
-
getMineCount
public int getMineCount(BeMusicLane lane)
この楽曲位置において指定レーンの地雷オブジェの数を取得します。- パラメータ:
lane- レーン- 戻り値:
- 地雷オブジェの数
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
-
getVisualEffectCount
public int getVisualEffectCount()
この楽曲位置において視覚効果を持つノートの数を取得します。- 戻り値:
- 視覚効果を持つノートの数
- 導入されたバージョン:
- 0.5.0
-
getVisualEffectCount
public int getVisualEffectCount(BeMusicLane lane)
この楽曲位置において指定レーンで視覚効果を持つノートの数を取得します。- パラメータ:
lane- レーン- 戻り値:
- 視覚効果を持つノートの数
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
-
getInvisibleValue
public int getInvisibleValue(BeMusicDevice device)
不可視オブジェの値を取得します。この値が0以外となる場合、値からトラックIDを取り出してメタ情報のインデックス値と見なし、入力デバイス操作時に
BeMusicMeta.WAVに記述された音声が再生されるべきです。但し同一楽曲位置上に可視オブジェが存在する場合には 可視オブジェ側の音声再生を優先的に行うべきです。- パラメータ:
device- 入力デバイス- 戻り値:
- 不可視オブジェの値
- 例外:
NullPointerException- deviceがnull- 関連項目:
BeMusicDevice,BeMusicSound.getTrackId(int)
-
hasPlayableNote
public boolean hasPlayableNote()
この楽曲位置の操作可能ノートの有無を取得します。「操作可能ノート」とは、視覚表示されるノートで
BeMusicNoteType.NONE以外のものを指します。 この楽曲位置のいずれかの入力デバイスに1つでも操作可能ノートがあれば「あり」と見なされます。- 戻り値:
- この楽曲位置に操作可能ノートが1つでもある場合にtrue
-
hasPlayableNote
public boolean hasPlayableNote(BeMusicLane lane)
この楽曲位置において指定レーンでの操作可能ノートの有無を取得します。「操作可能ノート」とは、視覚表示されるノートで
BeMusicNoteType.NONE以外のものを指します。 この楽曲位置のいずれかの入力デバイスに1つでも操作可能ノートがあれば「あり」と見なされます。- パラメータ:
lane- レーン- 戻り値:
- 操作可能ノートが1つでもある場合true
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
-
hasMovementNote
public boolean hasMovementNote()
この楽曲位置の何らかの操作を伴うノートの有無を取得します。「何らかの操作を伴う」とは、
BeMusicNoteType.hasMovement()がtrueを返すことを表します。 この楽曲位置のいずれかの入力デバイスに1つでも何らかの操作を伴うノートがあれば「あり」と見なされます。- 戻り値:
- この楽曲位置何らかの操作を伴うノートが1つでもある場合にtrue
- 導入されたバージョン:
- 0.5.0
- 関連項目:
BeMusicNoteType.hasMovement()
-
hasMovementNote
public boolean hasMovementNote(BeMusicLane lane)
この楽曲位置において指定レーンで何らかの操作を伴うノートの有無を取得します。「何らかの操作を伴う」とは、
BeMusicNoteType.hasMovement()がtrueを返すことを表します。 この楽曲位置のいずれかの入力デバイスに1つでも何らかの操作を伴うノートがあれば「あり」と見なされます。- パラメータ:
lane- レーン- 戻り値:
- 何らかの操作を伴うノートが1つでもある場合true
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
- 関連項目:
BeMusicNoteType.hasMovement()
-
hasHolding
public boolean hasHolding()
この楽曲位置での長押し継続ノートの有無を取得します。具体的には、
BeMusicNoteType.isHolding()がtrueを返すノートが1個以上存在する場合にtrueを返します。- 戻り値:
- この楽曲位置に長押し継続ノートが1つでもある場合にtrue
- 導入されたバージョン:
- 0.6.0
- 関連項目:
BeMusicNoteType.isHolding()
-
hasHolding
public boolean hasHolding(BeMusicLane lane)
この楽曲位置において指定レーンでの長押し継続ノートの有無を取得します。具体的には、
BeMusicNoteType.isHolding()がtrueを返すノートが1個以上存在する場合にtrueを返します。- パラメータ:
lane- レーン- 戻り値:
- 長押し継続ノートが1つでもある場合true
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
- 関連項目:
BeMusicNoteType.isHolding()
-
hasLongNoteHead
public boolean hasLongNoteHead()
この楽曲位置での長押し開始ノートの有無を取得します。具体的には、
BeMusicNoteType.isLongNoteHead()がtrueを返すノートが1個以上存在する場合にtrueを返します。- 戻り値:
- この楽曲位置に長押し開始ノートが1つでもある場合にtrue
- 導入されたバージョン:
- 0.6.0
- 関連項目:
BeMusicNoteType.isLongNoteHead()
-
hasLongNoteHead
public boolean hasLongNoteHead(BeMusicLane lane)
この楽曲位置において指定レーンでの長押し開始ノートの有無を取得します。具体的には、
BeMusicNoteType.isLongNoteHead()がtrueを返すノートが1個以上存在する場合にtrueを返します。- パラメータ:
lane- レーン- 戻り値:
- 長押し開始ノートが1つでもある場合true
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
- 関連項目:
BeMusicNoteType.isLongNoteHead()
-
hasLongNoteTail
public boolean hasLongNoteTail()
この楽曲位置において長押し終了ノートの有無を取得します。具体的には、
BeMusicNoteType.isLongNoteTail()がtrueを返すノートが1個以上存在する場合にtrueを返します。- 戻り値:
- この楽曲位置に長押し終了ノートが1つでもある場合にtrue
- 導入されたバージョン:
- 0.6.0
- 関連項目:
BeMusicNoteType.isLongNoteTail()
-
hasLongNoteTail
public boolean hasLongNoteTail(BeMusicLane lane)
この楽曲位置において指定レーンでの長押し終了ノートの有無を取得します。具体的には、
BeMusicNoteType.isLongNoteTail()がtrueを返すノートが1個以上存在する場合にtrueを返します。- パラメータ:
lane- レーン- 戻り値:
- 長押し終了ノートが1つでもある場合true
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
- 関連項目:
BeMusicNoteType.isLongNoteTail()
-
hasLongNoteType
public boolean hasLongNoteType()
この楽曲位置において長押し関連ノートの有無を取得します。具体的には、
BeMusicNoteType.isLongNoteType()がtrueを返すノートが1個以上存在する場合にtrueを返します。- 戻り値:
- この楽曲位置に長押し関連ノートが1つでもある場合にtrue
- 導入されたバージョン:
- 0.6.0
- 関連項目:
BeMusicNoteType.isLongNoteType()
-
hasLongNoteType
public boolean hasLongNoteType(BeMusicLane lane)
この楽曲位置において指定レーンでの長押関連ノートの有無を取得します。具体的には、
BeMusicNoteType.isLongNoteType()がtrueを返すノートが1個以上存在する場合にtrueを返します。- パラメータ:
lane- レーン- 戻り値:
- 長押し関連ノートが1つでもある場合true
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
- 関連項目:
BeMusicNoteType.isLongNoteType()
-
hasVisualEffect
public boolean hasVisualEffect()
この楽曲位置の視覚効果を持つノートの有無を取得します。「視覚効果を持つ」とは、
BeMusicNoteType.hasVisualEffect()がtrueを返すことを表します。 この楽曲位置のいずれかの入力デバイスに1つでも視覚効果を持つノートがあれば「あり」と見なされます。- 戻り値:
- この楽曲位置に視覚効果を持つノートが1つでもある場合にtrue
- 導入されたバージョン:
- 0.5.0
- 関連項目:
BeMusicNoteType.hasVisualEffect()
-
hasVisualEffect
public boolean hasVisualEffect(BeMusicLane lane)
この楽曲位置において指定レーンで視覚効果を持つノートの有無を取得します。「視覚効果を持つ」とは、
BeMusicNoteType.hasVisualEffect()がtrueを返すことを表します。 この楽曲位置のいずれかの入力デバイスに1つでも視覚効果を持つノートがあれば「あり」と見なされます。- パラメータ:
lane- レーン- 戻り値:
- 視覚効果を持つノートが1つでもある場合true
- 例外:
NullPointerException- laneがnull- 導入されたバージョン:
- 0.9.0
- 関連項目:
BeMusicNoteType.hasVisualEffect()
-
hasChangeSpeed
public boolean hasChangeSpeed()
この楽曲位置での速度変更の有無を取得します。具体的には、
hasBpm(),hasScroll()のいずれかがtrueを返す場合にtrueを返します。- 戻り値:
- この楽曲位置に速度変更がある場合にtrue
- 導入されたバージョン:
- 0.6.0
- 関連項目:
hasBpm(),hasScroll()
-
hasGimmick
public boolean hasGimmick()
この楽曲位置でのギミック要素の有無を取得します。「ギミック要素」とは、BPM変更、スクロール速度変更、譜面停止、地雷を指します。 これらの要素がいずれか1つ以上存在する場合にtrueを返します。
- 戻り値:
- この楽曲位置にギミック要素がある場合にtrue
- 導入されたバージョン:
- 0.6.0
- 関連項目:
hasChangeSpeed(),hasBpm(),hasScroll(),hasStop(),hasMine()
-
getMeasureLength
public double getMeasureLength()
この楽曲位置が存在する小節の小節長を取得します。小節に対して小節長の指定がない場合、この値は1を示し4/4拍子となります。 小節長の値は4/4拍子を1とした長さの比率になります。
BMSにて小節長が明示的に指定されたかどうかを参照したい場合は
hasMeasureLength()を使用してください。- 戻り値:
- 小節長
-
getCurrentScroll
public double getCurrentScroll()
この楽曲位置での現在のスクロール速度を取得します。スクロール速度変化のない譜面では、この値は常に1.0になります。楽曲位置にてスクロール速度の変更が行われた場合、 当メソッドは変更後のスクロール速度を返します。
- 戻り値:
- 現在のスクロール速度
- 導入されたバージョン:
- 0.6.0
- 関連項目:
BeMusicMeta.SCROLL,BeMusicChannel.SCROLL
-
getCurrentBpm
public double getCurrentBpm()
この楽曲位置での現在のBPMを取得します。BPM変化のない譜面では、この値は常に初期BPMと同じ値になります。楽曲位置にてBPM変更が行われた場合、 当メソッドは変更後のBPMを返します。
- 戻り値:
- 現在のBPM
- 関連項目:
BeMusicMeta.INITIAL_BPM,BeMusicMeta.BPM,BeMusicChannel.BPM,BeMusicChannel.BPM_LEGACY
-
getCurrentSpeed
public double getCurrentSpeed()
この楽曲位置での現在の譜面速度を取得します。返される値は、現在のBPMに現在のスクロール速度を積算した値となります。
- 戻り値:
- 現在の譜面速度
- 導入されたバージョン:
- 0.6.0
- 関連項目:
getCurrentBpm(),getCurrentScroll()
-
getStop
public double getStop()
この楽曲位置到達時に譜面のスクロールを一時停止する時間を取得します。譜面停止はBe Musicの仕様上、同一楽曲位置でBPM変更が行われた場合には変更後のBPMに基づいて 停止時間の計算が行われます。譜面停止は
BeMusicMeta.STOPにて刻み数で指定されますが、 当メソッドでは刻み数とBPMから停止時間を計算し、その計算結果を返します。- 戻り値:
- 譜面停止時間
- 関連項目:
BeMusicMeta.STOP,BeMusicChannel.STOP
-
getBgmCount
public int getBgmCount()
この楽曲位置でのBGM数を取得します。- 戻り値:
- BGM数
-
getBgmValue
public int getBgmValue(int index)
この楽曲位置でのBGMの値を取得します。BGMは楽曲位置が示す時間に到達した時に再生されるべき音声の値が格納されています。 この値からトラックIDを取り出してメタ情報のインデックス値と見なし、
BeMusicMeta.WAVの該当する音声参照し再生されるべきです。- パラメータ:
index- インデックス(0~getBgmCount()-1)- 戻り値:
- BGMの値
- 例外:
IllegalStateException- この楽曲位置にBGMが存在しないIndexOutOfBoundsException- indexがマイナス値または指定可能範囲超過- 関連項目:
BeMusicMeta.WAV,BeMusicChannel.BGM,BeMusicSound.getTrackId(int)
-
getBgaValue
public int getBgaValue()
この楽曲位置で表示するBGAの値(トラックID)を取得します。この値が0以外の場合、値をメタ情報のインデックス値と見なし、
BeMusicMeta.BMPの該当する 画像が表示されるべきです。- 戻り値:
- BGAの値
- 関連項目:
BeMusicMeta.BMP,BeMusicChannel.BGA
-
getLayerValue
public int getLayerValue()
この楽曲位置で表示するBGAレイヤーの値(トラックID)を取得します。この値が0以外の場合、値をメタ情報のインデックス値と見なし、
BeMusicMeta.BMPの該当する 画像がBeMusicChannel.BGAの上に重ねて表示されるべきです。- 戻り値:
- BGAレイヤーの値
- 関連項目:
BeMusicMeta.BMP,BeMusicChannel.BGA_LAYER
-
getMissValue
public int getMissValue()
楽曲のプレーミス時にこの楽曲位置で表示する画像の値(トラックID)を取得します。この値が0以外の場合、値をメタ情報のインデックス値と見なし、
BeMusicMeta.BMPの該当する 画像が表示されるべきです。(当該楽曲位置でプレーミスが発生している場合)- 戻り値:
- プレーミス時に表示する画像の値
- 関連項目:
BeMusicMeta.BMP,BeMusicChannel.BGA_MISS
-
getText
public String getText()
この楽曲位置で表示するテキストを取得します。当該楽曲位置で表示するべきテキストが存在しない場合は長さ0の空文字列を返します。 当メソッドではnullを返しませんのでその点には注意してください。
- 戻り値:
- 表示するテキスト
- 関連項目:
BeMusicMeta.TEXT,BeMusicChannel.TEXT
-
hasMeasureLine
public boolean hasMeasureLine()
この楽曲位置が小節線を含んでいるかを判定します。当メソッドがtrueを返す時は、小節の刻み位置が0であることを示します。
- 戻り値:
- 楽曲位置に小節線を含んでいる場合true
- 関連項目:
BmsSpec.CHANNEL_MEASURE
-
hasMeasureLength
public boolean hasMeasureLength()
この楽曲位置の小節で明示的な小節長の指定が存在するかを判定します。明示的な指定がない場合の小節長は1(4/4拍子)ですが、明示的に小節長1を指定した場合でも当メソッドはtrueを返します。
- 戻り値:
- 明示的な小節長の指定がある場合true
- 関連項目:
BeMusicChannel.LENGTH
-
hasScroll
public boolean hasScroll()
この楽曲位置でスクロール速度を変更する指定が存在するかを判定します。- 戻り値:
- スクロール速度変更の指定がある場合true
- 導入されたバージョン:
- 0.6.0
- 関連項目:
BeMusicMeta.SCROLL,BeMusicChannel.SCROLL
-
hasBpm
public boolean hasBpm()
この楽曲位置でBPMを変更する指定が存在するかを判定します。- 戻り値:
- BPM変更の指定がある場合true
- 関連項目:
BeMusicMeta.BPM,BeMusicChannel.BPM,BeMusicChannel.BPM_LEGACY
-
hasStop
public boolean hasStop()
この楽曲位置で譜面停止の視覚効果を行う指定が存在するかを判定します。- 戻り値:
- 譜面停止の指定がある場合true
- 関連項目:
BeMusicMeta.STOP,BeMusicChannel.STOP
-
hasMine
public boolean hasMine()
この楽曲位置に地雷オブジェが存在するかを判定します。- 戻り値:
- 地雷オブジェが存在する場合true
- 導入されたバージョン:
- 0.6.0
- 関連項目:
getMineCount()
-
hasBgm
public boolean hasBgm()
この楽曲位置で1つでもBGM再生の指定が存在するかを判定します。- 戻り値:
- BGM再生の指定が存在する場合true
- 関連項目:
BeMusicMeta.WAV,BeMusicChannel.BGM
-
hasBga
public boolean hasBga()
この楽曲位置でBGAの表示指定が存在するかを判定します。- 戻り値:
- BGAの表示指定が存在する場合true
- 関連項目:
BeMusicMeta.BMP,BeMusicChannel.BGA
-
hasLayer
public boolean hasLayer()
この楽曲位置でBGAレイヤーの表示指定が存在するかを判定します。- 戻り値:
- BGAレイヤーの表示指定が存在する場合true
- 関連項目:
BeMusicMeta.BMP,BeMusicChannel.BGA_LAYER
-
hasMiss
public boolean hasMiss()
この楽曲位置でミス時に表示するBGAの指定が存在するかを判定します。- 戻り値:
- ミス時に表示するBGAの指定が存在する場合true
- 関連項目:
BeMusicMeta.BMP,BeMusicChannel.BGA_MISS
-
hasText
public boolean hasText()
この楽曲位置で表示するテキストが存在するかを判定します。- 戻り値:
- 表示するテキストが存在する場合true
- 導入されたバージョン:
- 0.9.0
- 関連項目:
BeMusicMeta.TEXT,BeMusicChannel.TEXT
-
enumVisibles
public void enumVisibles(IntConsumer action)
全ての可視オブジェのノートを列挙します。当メソッドは
enumSounds(boolean, boolean, boolean, IntConsumer)を以下のパラメータで呼び出します。enumSounds(true, false, false, action);
- パラメータ:
action- ノート1個に対して何らかの処理を行う関数- 例外:
NullPointerException- actionがnull- 導入されたバージョン:
- 0.8.0
-
enumInvisibles
public void enumInvisibles(IntConsumer action)
全ての不可視オブジェのノートを列挙します。当メソッドは
enumSounds(boolean, boolean, boolean, IntConsumer)を以下のパラメータで呼び出します。enumSounds(false, true, false, action);
- パラメータ:
action- ノート1個に対して何らかの処理を行う関数- 例外:
NullPointerException- actionがnull- 導入されたバージョン:
- 0.8.0
-
enumBgms
public void enumBgms(IntConsumer action)
全てのBGMのノートを列挙します。当メソッドは
enumSounds(boolean, boolean, boolean, IntConsumer)を以下のパラメータで呼び出します。enumSounds(false, false, true, action);
- パラメータ:
action- ノート1個に対して何らかの処理を行う関数- 例外:
NullPointerException- actionがnull- 導入されたバージョン:
- 0.8.0
-
enumSounds
public void enumSounds(IntConsumer action)
サウンドに関連するノートを全て列挙します。当メソッドは
enumSounds(boolean, boolean, boolean, IntConsumer)を以下のパラメータで呼び出します。enumSounds(true, true, true, action);
- パラメータ:
action- ノート1個に対して何らかの処理を行う関数- 例外:
NullPointerException- actionがnull- 導入されたバージョン:
- 0.8.0
-
enumSounds
public void enumSounds(boolean visible, boolean invisible, boolean bgm, IntConsumer action)サウンドに関連するノートを列挙します。楽曲位置情報が持つ可視オブジェ・不可視オブジェ・BGMから列挙する種類のノートを選択し、 指定した関数へノートを通知します。関数へ通知される値はノートの生値であり、この値には複数の情報が含まれます。 そのままの状態では音声データを検索するインデックス値としては使用できないことに注意してください。
列挙されたノートの生値に含まれる情報を取り出すには
BeMusicSoundを使用します。 例えば音声データを検索するインデックス値を取り出したい時はBeMusicSound.getTrackId(int)を呼び出します。列挙順は常に可視オブジェ、不可視オブジェ、BGMの順になり、引数で選択された種類のノートが列挙されます。 ただし、選択した種類のノートが楽曲位置情報に存在しない場合は関数へは通知されません。
- パラメータ:
visible- 可視オブジェを列挙するかどうかinvisible- 不可視オブジェを列挙するかどうかbgm- BGMを列挙するかどうかaction- ノート1個に対して何らかの処理を行う関数- 例外:
NullPointerException- actionがnull- 導入されたバージョン:
- 0.8.0
- 関連項目:
BeMusicSound
-
visibles
public IntStream visibles()
可視オブジェのノートを走査します。当メソッドは
sounds(boolean, boolean, boolean)を以下のパラメータで呼び出します。sounds(true, false, false);
- 戻り値:
- 可視オブジェのノートを走査するストリーム
- 導入されたバージョン:
- 0.8.0
-
invisibles
public IntStream invisibles()
不可視オブジェのノートを走査します。当メソッドは
sounds(boolean, boolean, boolean)を以下のパラメータで呼び出します。sounds(false, true, false);
- 戻り値:
- 不可視オブジェのノートを走査するストリーム
- 導入されたバージョン:
- 0.8.0
-
bgms
public IntStream bgms()
BGMのノートを走査します。当メソッドは
sounds(boolean, boolean, boolean)を以下のパラメータで呼び出します。sounds(false, false, true);
- 戻り値:
- BGMのノートを走査するストリーム
- 導入されたバージョン:
- 0.8.0
-
sounds
public IntStream sounds()
全てのサウンドに関連するノートを走査します。当メソッドは
sounds(boolean, boolean, boolean)を以下のパラメータで呼び出します。sounds(true, true, true);
- 戻り値:
- 全てのサウンドに関連するノートを走査するストリーム
- 導入されたバージョン:
- 0.8.0
-
sounds
public IntStream sounds(boolean visible, boolean invisible, boolean bgm)
サウンドに関連するノートを走査します。楽曲位置情報が持つ可視オブジェ・不可視オブジェ・BGMから、走査する種類のノートを選択し走査します。 通知される値はノートの生値であり、この値には複数の情報が含まれます。 そのままの状態では音声データを検索するインデックス値としては使用できないことに注意してください。
走査されたノートの生値に含まれる情報を取り出すには
BeMusicSoundを使用します。 例えば音声データを検索するインデックス値を取り出したい時はBeMusicSound.getTrackId(int)を呼び出します。走査順は常に可視オブジェ、不可視オブジェ、BGMの順になり、引数で選択された種類のノートが走査されます。 ただし、選択した種類のノートが楽曲位置情報に存在しない場合は走査されません。
- パラメータ:
visible- 可視オブジェを列挙するかどうかinvisible- 不可視オブジェを列挙するかどうかbgm- BGMを列挙するかどうか- 戻り値:
- 選択された種類のノートを走査するストリーム
- 導入されたバージョン:
- 0.8.0
-
onCreate
protected void onCreate()
楽曲位置情報が構築された時に実行されます。当メソッドが実行されるのはオブジェクトのベースクラスである
BeMusicPointの構築処理が完了した後です。 従って、クラスのGetterを使用することで構築済みの情報にアクセス可能な状態となっています。当メソッドの意図は、ベースクラスを拡張したクラスにおいて自身が必要とする情報を構築する機会を提供する ことにあります。メソッドは全ての情報が設定された後で実行され、当メソッドの実行が完了する時には全ての情報構築が 完了していることが推奨されています。
-
-