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

クラス BmsNote

  • すべての実装されたインタフェース:
    BmsAt

    public class BmsNote
    extends Object
    implements BmsAt
    BMSコンテンツの時間軸に配置されたノートの情報を表します。

    情報には、時間軸上の位置・チャンネル・ノートが示す値が存在します。当クラスの情報は参照専用であり、 BMSコンテンツの外部から情報の変更が加えられることを想定していません。

    関連項目:
    [BmsAt] 当クラスが実装する、時間軸を参照するインターフェイス
    • ネストされたクラスの概要

      ネストされたクラス 
      修飾子とタイプ クラス 説明
      static interface  BmsNote.Creator
      ノートオブジェクトを生成するI/Fを提供します。
      static interface  BmsNote.Tester
      ノートオブジェクトを検査するI/Fを提供します。
    • コンストラクタの概要

      コンストラクタ 
      コンストラクタ 説明
      BmsNote()
      ノートオブジェクトを新しく構築します。
    • メソッドの概要

      すべてのメソッド インスタンス・メソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      int getChannel()
      チャンネル番号を取得します。
      int getIndex()
      チャンネルインデックスを取得します。
      int getMeasure()
      小節番号を取得します。
      double getTick()
      小節の刻み位置を取得します。
      int getValue()
      ノートに割り当てられた値を取得します。
      protected void onCreate()
      BMSコンテンツにノートが登録される時、またはノートの移動・コピーなどが発生した時に呼び出されます。
      protected BmsNote onNewInstance()
      このオブジェクトと同等の新しいノートオブジェクトのインスタンスを生成します。
      String toString()
      チャンネル番号、インデックス、小節番号、刻み位置、値が分かる形式の文字列を返します。
      • クラスから継承されたメソッド Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • フィールドの詳細

      • DEFAULT_CREATOR

        public static final BmsNote.Creator DEFAULT_CREATOR
        デフォルトのノートオブジェクト生成器。
      • TEST_OK

        public static final BmsNote.Tester TEST_OK
        常に検査合格とするテスター。
      • TEST_FAIL

        public static final BmsNote.Tester TEST_FAIL
        常に検査不合格とするテスター。
    • コンストラクタの詳細

      • BmsNote

        public BmsNote()
        ノートオブジェクトを新しく構築します。

        標準のノートオブジェクトでは、ノートの値・チャンネル番号・チャンネルインデックス・小節番号・小節内の刻み位置を 保有します。これらの情報はBmsContentからのみ設定されることを想定しており、BMSライブラリの外部から値を 更新するためのインターフェイスは用意されていません。ただし、クラスを拡張してノートオブジェクトに付加的な情報 を挿入することは可能です。

        ノートオブジェクトを構築しただけではonCreate()は呼び出されません。

    • メソッドの詳細

      • toString

        public String toString()
        チャンネル番号、インデックス、小節番号、刻み位置、値が分かる形式の文字列を返します。
        オーバーライド:
        toString クラス内 Object
        戻り値:
        チャンネル番号、インデックス、小節番号、刻み位置、値が分かる形式の文字列
      • getChannel

        public final int getChannel()
        チャンネル番号を取得します。
        戻り値:
        チャンネル番号
      • getIndex

        public final int getIndex()
        チャンネルインデックスを取得します。
        戻り値:
        チャンネルインデックス
      • getMeasure

        public final int getMeasure()
        インタフェースからコピーされた説明: BmsAt
        小節番号を取得します。

        このメソッドで取得できる小節番号は、BMS仕様が定める範囲の小節番号であることを保証します。 その範囲はBmsSpec.MEASURE_MINBmsSpec.MEASURE_MAXとして定義されています。

        定義:
        getMeasure インタフェース内 BmsAt
        戻り値:
        小節番号
        関連項目:
        BmsAt.getMeasure()
      • getTick

        public final double getTick()
        インタフェースからコピーされた説明: BmsAt
        小節の刻み位置を取得します。

        このメソッドで取得できる刻み位置は、BMSライブラリで取り扱い可能な範囲の刻み位置であることを保証します。 その範囲はBmsSpec.TICK_MINBmsSpec.TICK_MAXとして定義されています。

        小節単位での刻み位置の最大値は、小節長の定義内容によって大幅に増減します。通常4/4拍子では刻み数は 192となり、取り扱い可能範囲を大幅に下回る値になります。

        定義:
        getTick インタフェース内 BmsAt
        戻り値:
        小節の刻み位置
        関連項目:
        BmsAt.getTick()
      • getValue

        public final int getValue()
        ノートに割り当てられた値を取得します。

        ノートの値とは、配列型(BmsArray)チャンネルデータの1つの配列要素を表します。つまり、 16進配列では0~255、36進配列では0~1295の範囲の値を示します。

        戻り値:
        ノートの値
      • onNewInstance

        protected BmsNote onNewInstance()
        このオブジェクトと同等の新しいノートオブジェクトのインスタンスを生成します。

        当メソッドはノートの移動・コピーが発生した時に内部処理が呼び出します。当クラスを継承したノートオブジェクトは 当メソッドをオーバーライドし、継承先クラスのインスタンスを生成するように実装するべきです。デフォルトの実装では BmsNoteのインスタンスが返されるようになっています。継承先クラスが当メソッドを実装しない場合、 ノートの移動・コピー時に継承先クラスが持つ付加情報が失われることになります。

        戻り値:
        新しいインスタンスのノートオブジェクト
      • onCreate

        protected void onCreate()
        BMSコンテンツにノートが登録される時、またはノートの移動・コピーなどが発生した時に呼び出されます。

        当メソッドは、BmsNoteのデフォルト実装では何も行われません。

        当メソッドは、ノートオブジェクト登録時に拡張データを含んだカスタムノートオブジェクト(BmsNoteを継承したクラス) を生成する目的で使用することを想定しています。ノートオブジェクト生成時、拡張データ生成のために一度だけ呼び出したい 処理がある場合に当メソッドをオーバーライドし、処理を記述してください。