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

クラス BeMusicContent


  • public class BeMusicContent
    extends BmsContent
    BeMusicライブラリにおいて、1個のBMS定義を表すメインクラスです。

    当クラスは、押下によりON/OFFの切り替えが可能な7個のスイッチと、スクラッチにより2方向の検出が可能な入力機器を1セットまたは2セット使用する ゲームルール(BeMusic)に基づいた楽曲のBMS定義を表します。BMSライブラリで定義したBMSコンテンツを拡張することでそれらの定義をサポートします。 具体的には、以下のような拡張が行われています。

    • BeMusicで定義されるメタ情報へアクセスするsetter/getter
    • ノート数の統計情報収集とその情報の照会
    • ノートの定義状況からプレイスタイル等の詳細情報の照会

    当クラスは、BMSの実際の利用シーンからデファクトスタンダードであると判断した定義の実装を行っています。しかし、編集系の機能は当クラスでは 拡張していません。編集を行う際は、BMSライブラリが提供する低レベルAPIを経由して行ってください。

    当クラスにアプリケーション固有の情報を持たせたい場合は、BMS仕様に任意型メタ情報、およびユーザーチャンネルを定義し、それらに対して アプリケーションが希望する情報を挿入してください。BMS仕様の定義はBeMusic.initialize(int, com.lmt.lib.bms.BmsMeta[], com.lmt.lib.bms.BmsChannel[])で行います。

    • メソッドの詳細

      • setGenre

        public final void setGenre​(String genre)
        #GENREを設定する。
        パラメータ:
        genre - #GENREの値
        関連項目:
        BeMusicMeta.GENRE
      • getGenre

        public final String getGenre()
        #GENREを取得する。
        戻り値:
        #GENREの値
        関連項目:
        BeMusicMeta.GENRE
      • setTitle

        public final void setTitle​(String title)
        #TITLEを設定する。
        パラメータ:
        title - #TITLEの値
        関連項目:
        BeMusicMeta.TITLE
      • getTitle

        public final String getTitle()
        #TITLEを取得する。
        戻り値:
        #TITLEの値
        関連項目:
        BeMusicMeta.TITLE
      • setSubTitle

        public final void setSubTitle​(String subTitle)
        #SUBTITLEを設定する。
        パラメータ:
        subTitle - #SUBTITLEの値
        関連項目:
        BeMusicMeta.SUBTITLE
      • getSubTitle

        public final String getSubTitle()
        #SUBTITLEを取得する。
        戻り値:
        #SUBTITLEの値
        関連項目:
        BeMusicMeta.SUBTITLE
      • setArtist

        public final void setArtist​(String artist)
        #ARTISTを設定する。
        パラメータ:
        artist - #ARTISTの値
        関連項目:
        BeMusicMeta.ARTIST
      • getArtist

        public final String getArtist()
        #ARTISTを取得する。
        戻り値:
        #ARTISTの値
        関連項目:
        BeMusicMeta.ARTIST
      • setSubArtist

        public final void setSubArtist​(int index,
                                       String subArtist)
        #SUBARTISTを設定する。
        パラメータ:
        index - インデックス
        subArtist - #SUBARTISTの値
        関連項目:
        BeMusicMeta.SUBARTIST
      • getSubArtists

        public final List<String> getSubArtists()
        #SUBARTISTのリストを取得する。
        戻り値:
        #SUBARTISTのリスト
        関連項目:
        BeMusicMeta.SUBARTIST
      • getSubArtist

        public final String getSubArtist​(int index)
        #SUBARTISTを取得する。
        パラメータ:
        index - インデックス
        戻り値:
        #SUBARTISTの値
        関連項目:
        BeMusicMeta.SUBARTIST
      • setTotal

        public final void setTotal​(Long total)
        #TOTALを設定する。
        パラメータ:
        total - #TOTALの値
        関連項目:
        BeMusicMeta.TOTAL
      • getTotal

        public final long getTotal()
        #TOTALを取得する。
        戻り値:
        #TOTALの値
        関連項目:
        BeMusicMeta.TOTAL
      • setStageFile

        public final void setStageFile​(String stageFile)
        #STAGEFILEを設定する。
        パラメータ:
        stageFile - #STAGEFILEの値
        関連項目:
        BeMusicMeta.STAGEFILE
      • getStageFile

        public final String getStageFile()
        #STAGEFILEを取得する。
        戻り値:
        #STAGEFILEの値
        関連項目:
        BeMusicMeta.STAGEFILE
      • setBanner

        public final void setBanner​(String banner)
        #BANNERを設定する。
        パラメータ:
        banner - #BANNERの値
        関連項目:
        BeMusicMeta.BANNER
      • getBanner

        public final String getBanner()
        #BANNERを取得する。
        戻り値:
        #BANNERの値
        関連項目:
        BeMusicMeta.BANNER
      • setBackBmp

        public final void setBackBmp​(String backBmp)
        #BACKBMPを設定する。
        パラメータ:
        backBmp - #BACKBMPの値
        関連項目:
        BeMusicMeta.BACKBMP
      • getBackBmp

        public final String getBackBmp()
        #BACKBMPを取得する。
        戻り値:
        #BACKBMPの値
        関連項目:
        BeMusicMeta.BACKBMP
      • setPlayLevel

        public final void setPlayLevel​(Double playLevel)
        #PLAYLEVELを設定する。
        パラメータ:
        playLevel - #PLAYLEVELの値
        関連項目:
        BeMusicMeta.PLAYLEVEL
      • getPlayLevel

        public final double getPlayLevel()
        #PLAYLEVELを取得する。
        戻り値:
        #PLAYLEVELの値
        関連項目:
        BeMusicMeta.PLAYLEVEL
      • setLnObj

        public final void setLnObj​(int index,
                                   Long lnObj)
        #LNOBJを設定する。
        パラメータ:
        index - インデックス
        lnObj - #LNOBJの値
        例外:
        IndexOutOfBoundsException - indexが0~BmsSpec.MULTIPLE_META_INDEX_MAXの範囲外
        関連項目:
        BeMusicMeta.LNOBJ
      • getLnObjs

        public final List<Long> getLnObjs()
        #LNOBJのリストを取得する。
        戻り値:
        #LNOBJのリスト
        関連項目:
        BeMusicMeta.LNOBJ
      • getLnObj

        public final long getLnObj​(int index)
        #LNOBJを取得する。
        パラメータ:
        index - インデックス
        戻り値:
        #LNOBJの値
        例外:
        IndexOutOfBoundsException - indexが0~BmsSpec.MULTIPLE_META_INDEX_MAXの範囲外
        関連項目:
        BeMusicMeta.LNOBJ
      • setUrl

        public final void setUrl​(String url)
        %URLを設定する。
        パラメータ:
        url - %URLの値
        関連項目:
        BeMusicMeta.URL
      • getUrl

        public final String getUrl()
        %URLを取得する。
        戻り値:
        %URLの値
        関連項目:
        BeMusicMeta.URL
      • setEmail

        public final void setEmail​(String email)
        %EMAILを設定する。
        パラメータ:
        email - %EMAILの値
        関連項目:
        BeMusicMeta.EMAIL
      • getEmail

        public final String getEmail()
        %EMAILを取得する。
        戻り値:
        %EMAILの値
        関連項目:
        BeMusicMeta.EMAIL
      • setBpm

        public final void setBpm​(int index,
                                 Double bpm)
        #BPMxxを設定する。
        パラメータ:
        index - インデックス
        bpm - #BPMxxの値
        例外:
        IndexOutOfBoundsException - indexが0~BmsSpec.INDEXED_META_INDEX_MAXの範囲外
        関連項目:
        BeMusicMeta.BPM
      • getBpm

        public final double getBpm​(int index)
        #BPMxxを取得する。
        パラメータ:
        index - インデックス
        戻り値:
        #BPMxxの値
        例外:
        IndexOutOfBoundsException - indexが0~BmsSpec.INDEXED_META_INDEX_MAXの範囲外
        関連項目:
        BeMusicMeta.BPM
      • getBpms

        public final Map<Integer,​Double> getBpms()
        #BPMxxのリストを取得する。
        戻り値:
        #BPMxxのリスト
        関連項目:
        BeMusicMeta.BPM
      • setStop

        public final void setStop​(int index,
                                  Long stop)
        #STOPxxを設定する。
        パラメータ:
        index - インデックス
        stop - #STOPの値
        例外:
        IndexOutOfBoundsException - indexが0~BmsSpec.INDEXED_META_INDEX_MAXの範囲外
        関連項目:
        BeMusicMeta.STOP
      • getStop

        public final long getStop​(int index)
        #STOPxxを取得する。
        パラメータ:
        index - インデックス
        戻り値:
        #STOPの値
        例外:
        IndexOutOfBoundsException - indexが0~BmsSpec.INDEXED_META_INDEX_MAXの範囲外
        関連項目:
        BeMusicMeta.STOP
      • getStops

        public final Map<Integer,​Long> getStops()
        #STOPxxのリストを取得する。
        戻り値:
        #STOPxxのリスト
        関連項目:
        BeMusicMeta.STOP
      • setWav

        public final void setWav​(int index,
                                 String wav)
        #WAVxxを設定する。
        パラメータ:
        index - インデックス
        wav - #WAVの値
        例外:
        IndexOutOfBoundsException - indexが0~BmsSpec.INDEXED_META_INDEX_MAXの範囲外
        関連項目:
        BeMusicMeta.WAV
      • getWav

        public final String getWav​(int index)
        #WAVxxを取得する。
        パラメータ:
        index - インデックス
        戻り値:
        #WAVの値
        例外:
        IndexOutOfBoundsException - indexが0~BmsSpec.INDEXED_META_INDEX_MAXの範囲外
        関連項目:
        BeMusicMeta.WAV
      • getWavs

        public final Map<Integer,​String> getWavs()
        #WAVxxのリストを取得する。
        戻り値:
        #WAVxxのリスト
        関連項目:
        BeMusicMeta.WAV
      • setBmp

        public final void setBmp​(int index,
                                 String bmp)
        #BMPxxを設定する。
        パラメータ:
        index - インデックス
        bmp - #BMPxxの値
        例外:
        IndexOutOfBoundsException - indexが0~BmsSpec.INDEXED_META_INDEX_MAXの範囲外
        関連項目:
        BeMusicMeta.BMP
      • getBmp

        public final String getBmp​(int index)
        #BMPxxを取得する。
        パラメータ:
        index - インデックス
        戻り値:
        #BMPxxの値
        関連項目:
        BeMusicMeta.BMP
      • getBmps

        public final Map<Integer,​String> getBmps()
        #BMPxxのリストを取得する。
        戻り値:
        #BMPxxのリスト
        関連項目:
        BeMusicMeta.BMP
      • isSinglePlay

        public final boolean isSinglePlay()
        シングルプレイの譜面かどうかを取得します。
        戻り値:
        シングルプレイの場合true
      • isDoublePlay

        public final boolean isDoublePlay()
        ダブルプレイの譜面かどうかを取得します。
        戻り値:
        ダブルプレイの場合true
      • isLongNoteUsed

        public final boolean isLongNoteUsed()
        可視オブジェにロングノートが含まれるかどうかを取得します。
        戻り値:
        可視オブジェにロングノートが含まれる場合true
      • isBgaUsed

        public final boolean isBgaUsed()
        BGAが使用されているかどうかを取得します。
        戻り値:
        BGAが使用されている場合true
      • isMinorUsed

        public final boolean isMinorUsed()
        マイナーな定義を使用しているかどうかを取得します。
        戻り値:
        マイナーな定義を使用している場合true
      • isLegacyUsed

        public final boolean isLegacyUsed()
        旧式の定義を使用しているかどうかを取得します。
        戻り値:
        旧式の定義を使用している場合true
      • isUnrecommendUsed

        public final boolean isUnrecommendUsed()
        非推奨の定義を使用しているかどうかを取得します。
        戻り値:
        非推奨の定義を使用している場合true
      • onEndEdit

        protected void onEndEdit​(boolean isRecalculateTime)
        BmsContent.endEdit()が呼ばれ、動作モードが参照モードに遷移した時に呼ばれます。

        当メソッドは、参照モードに遷移した時、継承先のクラスにて特別な処理を行う場合のトリガとして使用することを想定しています。当メソッドが 呼ばれるのは、小節ごとの時間とBPMに関する情報の再計算が完了した後です。

        当メソッドの実行中は動作モードを変更出来ません。BmsContent.beginEdit(), BmsContent.endEdit()を呼び出しても何も起こりません。

        オーバーライド:
        onEndEdit クラス内 BmsContent
        パラメータ:
        isRecalculateTime - 時間の再計算が発生したかどうか。