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

列挙型 BeMusicDevice

  • すべての実装されたインタフェース:
    Serializable, Comparable<BeMusicDevice>

    public enum BeMusicDevice
    extends Enum<BeMusicDevice>
    入力デバイスを表します。

    Be-Musicでは、1つのレーンは最大で7個のON/OFFを表すスイッチと、 1個の2方向に操作可能な機器(操作内容の特性上「スクラッチ」と呼称します)で構成されます。 そのようなレーンが最大で2つ存在し、プレースタイルによって1つのレーンのみ使用する場合と、2つのレーンを 使用する場合に分かれます。レーンについてはBeMusicLaneを参照してください。

    当列挙型は機器の最小単位である「入力デバイス」1個分を表し、必要な属性・情報を保有しています。 チャンネル、レーン、プログラム上のインデックス値を解決するために当列挙型を使用することとなります。

    関連項目:
    BeMusicLane, BeMusicChannel
    • 列挙型定数の詳細

      • SWITCH11

        public static final BeMusicDevice SWITCH11
        スイッチ1-1
      • SWITCH12

        public static final BeMusicDevice SWITCH12
        スイッチ1-2
      • SWITCH13

        public static final BeMusicDevice SWITCH13
        スイッチ1-3
      • SWITCH14

        public static final BeMusicDevice SWITCH14
        スイッチ1-4
      • SWITCH15

        public static final BeMusicDevice SWITCH15
        スイッチ1-5
      • SWITCH16

        public static final BeMusicDevice SWITCH16
        スイッチ1-6
      • SWITCH17

        public static final BeMusicDevice SWITCH17
        スイッチ1-7
      • SCRATCH1

        public static final BeMusicDevice SCRATCH1
        スクラッチ1
      • SWITCH21

        public static final BeMusicDevice SWITCH21
        スイッチ2-1
      • SWITCH22

        public static final BeMusicDevice SWITCH22
        スイッチ2-2
      • SWITCH23

        public static final BeMusicDevice SWITCH23
        スイッチ2-3
      • SWITCH24

        public static final BeMusicDevice SWITCH24
        スイッチ2-4
      • SWITCH25

        public static final BeMusicDevice SWITCH25
        スイッチ2-5
      • SWITCH26

        public static final BeMusicDevice SWITCH26
        スイッチ2-6
      • SWITCH27

        public static final BeMusicDevice SWITCH27
        スイッチ2-7
      • SCRATCH2

        public static final BeMusicDevice SCRATCH2
        スクラッチ2
    • メソッドの詳細

      • values

        public static BeMusicDevice[] values()
        この列挙型の定数を含む配列を宣言されている順序で返します。 このメソッドは次のようにして定数を反復するために 使用できます:
        for (BeMusicDevice c : BeMusicDevice.values())
            System.out.println(c);
        
        戻り値:
        この列挙型の定数を含む、宣言されている順序での配列
      • valueOf

        public static BeMusicDevice valueOf​(String name)
        指定した名前を持つこの型の列挙型定数を返します。 文字列は、この型の列挙型定数を宣言するのに使用した識別子と正確に 一致している必要があります。(余分な空白文字を含めることは できません。)
        パラメータ:
        name - 返される列挙型定数の名前。
        戻り値:
        指定した名前の列挙型定数
        例外:
        IllegalArgumentException - この列挙型に、指定した名前の定数がない場合
        NullPointerException - 引数がnullの場合
      • getIndex

        public final int getIndex()
        この入力デバイスのインデックスを取得します。

        インデックス値は0から始まる正の整数です。BMS仕様としての意味はありませんが、プログラム的に配列にアクセス するためのインデックス値として使用することを想定しています。

        戻り値:
        ラインのインデックス
      • getLane

        public final BeMusicLane getLane()
        この入力デバイスが存在するレーンを取得します。
        戻り値:
        レーン
      • getVisibleChannel

        public final BmsChannel getVisibleChannel()
        この入力デバイスに対応する可視オブジェチャンネルを取得します。
        戻り値:
        可視オブジェチャンネル
      • getInvisibleChannel

        public final BmsChannel getInvisibleChannel()
        この入力デバイスに対応する不可視オブジェチャンネルを取得します。
        戻り値:
        不可視オブジェチャンネル
      • getMineChannel

        public final BmsChannel getMineChannel()
        この入力デバイスに対応する地雷オブジェチャンネルを取得します。
        戻り値:
        地雷オブジェチャンネル
      • getLongChannel

        public final BmsChannel getLongChannel()
        この入力デバイスに対応するMGQ形式のロングノートチャンネルを取得します。

        MGQ形式のロングノートチャンネルは旧式の定義ですが、この形式を使用したBMSは多数存在するため Be-Musicサブセットでサポートされます。

        戻り値:
        MGQ形式のロングノートチャンネル
      • getSwitchNumber

        public final int getSwitchNumber()
        この入力デバイスのスイッチ番号を取得します。

        スイッチ番号は0~7の範囲の値となり、0はスクラッチを表します。

        戻り値:
        スイッチ番号
        関連項目:
        isSwitch(), isScratch()
      • isSwitch

        public final boolean isSwitch()
        この入力デバイスがスイッチであるかを取得します。
        戻り値:
        この入力デバイスがスイッチであればtrue、それ以外はfalse
      • isScratch

        public final boolean isScratch()
        この入力デバイスがスクラッチであるかを取得します。
        戻り値:
        この入力デバイスがスクラッチであればtrue、それ以外はfalse
      • isPrimary

        public final boolean isPrimary()
        この入力デバイスが主レーンに配置されるかどうかを取得します。
        戻り値:
        入力デバイスが主レーンに配置される場合はtrue、それ以外はfalse
        関連項目:
        BeMusicLane.PRIMARY
      • isSecondary

        public final boolean isSecondary()
        この入力デバイス副レーンに配置されるかどうかを取得します。
        戻り値:
        入力デバイスが副レーンに配置される場合はtrue、それ以外はfalse
        関連項目:
        BeMusicLane.SECONDARY
      • isSwitch

        public static boolean isSwitch​(int switchNumber)
        指定されたスイッチ番号がスイッチを表すかどうかを取得します。

        スイッチ番号として不適切な値(範囲外の値)を指定するとfalseを返します。

        パラメータ:
        switchNumber - スイッチ番号
        戻り値:
        スイッチ番号がスイッチを表す場合true、それ以外はfalse
      • isScratch

        public static boolean isScratch​(int switchNumber)
        指定されたスイッチ番号がスクラッチを表すかどうかを取得します。

        スイッチ番号として不適切な値(範囲外の値)を指定するとfalseを返します。

        パラメータ:
        switchNumber - スイッチ番号
        戻り値:
        スイッチ番号がスクラッチを表す場合true、それ以外はfalse
      • fromIndex

        public static BeMusicDevice fromIndex​(int index)
        入力デバイスのインデックスを用いて対応する入力デバイスを取得します。
        パラメータ:
        index - 入力デバイスのインデックス
        戻り値:
        入力デバイス
        例外:
        IndexOutOfBoundsException - indexがマイナス値またはCOUNT以上
      • fromChannel

        public static BeMusicDevice fromChannel​(int channel)
        チャンネル番号を用いて対応する入力デバイスを取得します。

        対応するチャンネルは「可視オブジェ」「不可視オブジェ」「MGQ形式ロングノート」「地雷オブジェ」です。 それ以外のチャンネルを指定するとnullを返します。また、対応チャンネルの範囲外のチャンネル番号を指定した場合も nullを返します。

        パラメータ:
        channel - チャンネル番号
        戻り値:
        チャンネル番号に対応する入力デバイス、またはnull
      • all

        public static Stream<BeMusicDevice> all()
        全ての入力デバイスを定義順に走査するストリームを返します。
        戻り値:
        入力デバイスを定義順に走査するストリーム
      • orderedBySpLeftList

        public static List<BeMusicDevice> orderedBySpLeftList()
        スクラッチがスイッチの左側にある場合のシングルプレー用入力デバイスリストを取得します。

        返されるリストは先頭にスクラッチ、それに続いてスイッチが7個並んだ状態になっています。 これらの入力デバイスは全て主レーン(BeMusicLane.PRIMARY)に配置されます。 返されるリストは読み取り専用のため変更することはできません。

        戻り値:
        入力デバイスリスト
      • orderedBySpRightList

        public static List<BeMusicDevice> orderedBySpRightList()
        スクラッチがスイッチの右側にある場合のシングルプレー用入力デバイスリストを取得します。

        返されるリストはスイッチが7個、それに続いてスクラッチが配置された状態になっています。 これらの入力デバイスは全て主レーン(BeMusicLane.PRIMARY)に配置されます。 返されるリストは読み取り専用のため変更することはできません。

        戻り値:
        入力デバイスリスト
      • orderedByDpList

        public static List<BeMusicDevice> orderedByDpList()
        ダブルプレー用入力デバイスリストを取得します。

        返されるリストは先頭にスクラッチ、次にスイッチが7個並んだ状態になっています。 それに続いてスイッチが7個、次にスクラッチが配置されています。 最初の8個は主レーン(BeMusicLane.PRIMARY)、残り8個が副レーン(BeMusicLane.SECONDARY) の構成になっています。返されるリストは読み取り専用のため変更することはできません。

        戻り値:
        入力デバイスリスト
      • orderedByDpList

        public static List<BeMusicDevice> orderedByDpList​(BeMusicLane lane)
        ダブルプレー用入力デバイスのうち、指定したレーンのリストを取得します。

        主レーンの並び順はorderedBySpLeftList()と同じになります。 返されるリストは読み取り専用のため変更することはできません。

        パラメータ:
        lane - レーン
        戻り値:
        入力デバイスリスト
        例外:
        NullPointerException - laneがnull
        関連項目:
        orderedByDpList()
      • getBaseIndex

        public static int getBaseIndex​(BeMusicLane lane)
        指定レーンの入力デバイスインデックスのベース値を取得します。
        パラメータ:
        lane - レーン
        戻り値:
        レーンの入力デバイスインデックスのベース値
        例外:
        NullPointerException - laneがnull
        関連項目:
        PRIMARY_BASE, SECONDARY_BASE
      • getDevices

        public static List<BeMusicDevice> getDevices​(BeMusicLane lane)
        指定レーンに配置された全ての入力デバイスのリストを取得します。

        返されるリストは読み取り専用です。リストの内容を変更しようとすると例外がスローされます。

        パラメータ:
        lane - レーン
        戻り値:
        入力デバイスリスト
        例外:
        NullPointerException - laneがnull
      • getSwitches

        public static List<BeMusicDevice> getSwitches​(BeMusicLane lane)
        指定レーンに配置されたスイッチデバイスのリストを取得します。

        返されるリストは読み取り専用です。リストの内容を変更しようとすると例外がスローされます。

        パラメータ:
        lane - レーン
        戻り値:
        スイッチデバイスリスト
        例外:
        NullPointerException - laneがnull
      • getScratch

        public static BeMusicDevice getScratch​(BeMusicLane lane)
        指定レーンに配置されたスクラッチデバイスを取得します。
        パラメータ:
        lane - レーン
        戻り値:
        laneに配置されたスクラッチデバイス
        例外:
        NullPointerException - laneがnull