パッケージ com.lmt.lib.bms

クラス BmsElement

  • すべての実装されたインタフェース:
    BmsAt, BmsChx, Comparable<BmsAddress>
    直系の既知のサブクラス:
    BmsNote

    public abstract class BmsElement
    extends BmsAddress
    タイムラインを構成する要素を表す抽象クラスです。

    当クラスは以下に記載した種類の要素の共通的な機能を提供します。

    小節線
    小節の先頭に必ず存在するラインです。この要素自体はタイムラインに重要な変化をもたらすものではありませんが、 タイムラインの要素を列挙した際にタイムライン上に存在する要素として通知されます。アプリケーションはこの情報を用いて 要素の分類を行ったり、エンドユーザーへの小節線のプレゼンテーションを行ったりすることができます。

    小節データ
    小節に対して付加された情報です。小節データは必ず小節の先頭(小節の刻み位置が最小の位置)に配置されます。 値型(BmsChannel.isArrayType()がfalseを返す全てのチャンネルのデータ型)のデータは全て小節データとして扱われます。

    ノート
    任意の楽曲位置に配置される情報です。配列型(BmsChannel.isArrayType()がtrueを返す全てのチャンネルのデータ型)の データが対象となります。

    • コンストラクタの詳細

      • BmsElement

        protected BmsElement()
        新しいタイムライン要素オブジェクトを構築します。
      • BmsElement

        protected BmsElement​(BmsAddress adr)
        指定されたアドレスと同じ新しいタイムライン要素オブジェクトを構築します。
        パラメータ:
        adr - アドレス
        例外:
        NullPointerException - adrがnull
      • BmsElement

        protected BmsElement​(BmsAt at,
                             BmsChx chx)
        指定された楽曲位置、CHXの新しいタイムライン要素オブジェクトを構築します。
        パラメータ:
        at - 楽曲位置
        chx - CHX
        例外:
        NullPointerException - atまたはchxがnull
      • BmsElement

        protected BmsElement​(int measure,
                             double tick,
                             int channel,
                             int index)
        指定された楽曲位置、CHXの新しいアドレスオブジェクトを構築します。
        パラメータ:
        measure - 小節番号
        tick - 小節の刻み位置
        channel - チャンネル番号
        index - チャンネルインデックス
    • メソッドの詳細

      • getValueAsLong

        public long getValueAsLong()
        タイムライン要素の値をlong型に変換した値を取得します。
        戻り値:
        タイムライン要素の値をlong型に変換した値
        例外:
        ClassCastException - long型への変換が非対応のタイムライン要素で当メソッドを実行した
      • getValueAsDouble

        public double getValueAsDouble()
        タイムライン要素の値をdouble型に変換した値を取得します。
        戻り値:
        タイムライン要素の値をdouble型に変換した値
        例外:
        ClassCastException - double型への変換が非対応のタイムライン要素で当メソッドを実行した
      • getValueAsString

        public String getValueAsString()
        タイムライン要素の値をString型に変換した値を取得します。
        戻り値:
        タイムライン要素の値をString型に変換した値
        例外:
        ClassCastException - String型への変換が非対応のタイムライン要素で当メソッドを実行した
      • getValueAsArray

        public BmsArray getValueAsArray()
        タイムライン要素の値をBMS配列型に変換した値を取得します。
        戻り値:
        タイムライン要素の値をBMS配列型に変換した値
        例外:
        ClassCastException - BMS配列型への変換が非対応のタイムライン要素で当メソッドを実行した
      • getValueAsObject

        public Object getValueAsObject()
        タイムライン要素の値をObject型に変換した値を取得します。
        戻り値:
        タイムライン要素の値をObject型に変換した値
        例外:
        ClassCastException - Object型への変換が非対応のタイムライン要素で当メソッドを実行した
      • isMeasureLineElement

        public boolean isMeasureLineElement()
        タイムライン要素が小節線であるかどうかを判定します。

        当メソッドがtrueを返す時、チャンネル番号はBmsSpec.CHANNEL_MEASUREを示します。

        戻り値:
        タイムライン要素が小節線の場合true
      • isMeasureValueElement

        public boolean isMeasureValueElement()
        タイムライン要素が小節データであるかどうかを判定します。
        戻り値:
        タイムライン要素が小節データの場合true
      • isNoteElement

        public boolean isNoteElement()
        タイムライン要素がノートであるかどうかを判定します。
        戻り値:
        タイムライン要素がノートの場合true