クラス BeMusicHeader
- Object
-
- BeMusicHeader
-
public class BeMusicHeader extends Object
Be Musicデータフォーマットのヘッダ定義を表します。当クラスでは
BmsContent
からBe Musicの仕様に基づいてメタ情報を収集します。 収集するメタ情報はBeMusicMeta
に定義されているメタ情報ですが、一部の特定アプリケーションのみが 対応しているマイナーなメタ情報や、時代遅れとなり使用されなくなったメタ情報は収集の対象外となります。 収集対象のメタ情報については当クラスが持つgetterのメソッドを参照してください。データ数の多い以下の索引付きメタ情報も収集することができます。
アプリケーションによっては上記の索引付きメタ情報は冗長で必要ない場合が想定されます。 そのようなケースでは当クラスのインスタンス生成時に索引付きメタ情報の収集を除外することができます。
アプリケーション側で収集するヘッダ情報を拡張したい場合は当クラスを継承し、
onCreate(BmsContent, int)
を オーバーライドすることでそれが可能になります。先述のメソッド内でBmsContent
から希望するメタ情報を 抽出してください。
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static int
ALL
ヘッダ定義構築時、当クラスがサポートする全てのヘッダ定義を収集することを示す値です。static int
BMP
ヘッダ定義構築時、#BMPの情報を収集するフラグです。static int
BPM
ヘッダ定義構築時、#BPMの情報を収集するフラグです。static int
FLAG_USER_AREA
ヘッダ定義収集フラグのユーザ定義領域を示すマスク値です。static int
NONE
ヘッダ定義構築時、フラグで情報収集有無を選択可能なメタ情報を全て収集しないことを示す値です。static int
STOP
ヘッダ定義構築時、#STOPの情報を収集するフラグです。static int
TEXT
ヘッダ定義構築時、#TEXTの情報を収集するフラグです。static int
WAV
ヘッダ定義構築時、#WAVの情報を収集するフラグです。
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 BeMusicHeader(BmsContent content)
ヘッダ定義オブジェクトを構築します。BeMusicHeader(BmsContent content, int flags)
ヘッダ定義オブジェクトを構築します。
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 String
getArtist()
#ARTISTを取得します。String
getBackBmp()
#BACKBMPを取得します。String
getBanner()
#BANNERを取得します。String
getBmp(int metaIndex)
#BMPを取得します。Map<Integer,String>
getBmps()
#BMPを全て取得します。double
getBpm(int metaIndex)
#BPMを取得します。Map<Integer,Double>
getBpms()
#BPMを全て取得します。BeMusicDifficulty
getDifficulty()
#DIFFICULTYを取得します。String
getEmail()
%EMAILを取得します。String
getGenre()
#GENREを取得します。double
getInitialBpm()
#BPM(初期BPM)を取得します。List<Long>
getLnObjs()
#LNOBJを全て取得します。BeMusicPlayer
getPlayer()
#PLAYERを取得します。double
getPlayLevel()
#PLAYLEVELの数値を取得します。String
getPlayLevelRaw()
#PLAYLEVELを取得します。BeMusicRank
getRank()
#RANKを取得します。String
getStageFile()
#STAGEFILEを取得します。long
getStop(int metaIndex)
#STOPを取得します。Map<Integer,Long>
getStops()
#STOPを全て取得します。String
getSubArtist(String separator)
#SUBARTISTを取得します。List<String>
getSubArtists()
#SUBARTISTを全て取得します。String
getSubTitle()
#SUBTITLEを取得します。String
getText(int metaIndex)
#TEXTを取得します。Map<Integer,String>
getTexts()
#TEXTを全て取得します。String
getTitle()
#TITLEを取得します。double
getTotal()
#TOTALを取得します。String
getUrl()
%URLを取得します。String
getWav(int metaIndex)
#WAVを取得します。Map<Integer,String>
getWavs()
#WAVを全て取得します。protected void
onCreate(BmsContent content, int flags)
ヘッダ定義オブジェクトが構築された時に実行されます。
-
-
-
フィールドの詳細
-
WAV
public static final int WAV
ヘッダ定義構築時、#WAVの情報を収集するフラグです。- 関連項目:
BeMusicMeta.WAV
, 定数フィールド値
-
BMP
public static final int BMP
ヘッダ定義構築時、#BMPの情報を収集するフラグです。- 関連項目:
BeMusicMeta.BMP
, 定数フィールド値
-
BPM
public static final int BPM
ヘッダ定義構築時、#BPMの情報を収集するフラグです。- 関連項目:
BeMusicMeta.BPM
, 定数フィールド値
-
STOP
public static final int STOP
ヘッダ定義構築時、#STOPの情報を収集するフラグです。- 関連項目:
BeMusicMeta.STOP
, 定数フィールド値
-
TEXT
public static final int TEXT
ヘッダ定義構築時、#TEXTの情報を収集するフラグです。- 関連項目:
BeMusicMeta.TEXT
, 定数フィールド値
-
NONE
public static final int NONE
ヘッダ定義構築時、フラグで情報収集有無を選択可能なメタ情報を全て収集しないことを示す値です。- 関連項目:
- 定数フィールド値
-
ALL
public static final int ALL
ヘッダ定義構築時、当クラスがサポートする全てのヘッダ定義を収集することを示す値です。 この値は、現時点では関連項目に該当するフラグを全て含むことを表します。
-
FLAG_USER_AREA
public static final int FLAG_USER_AREA
ヘッダ定義収集フラグのユーザ定義領域を示すマスク値です。ヘッダ定義収集フラグのライブラリ定義値はフラグの下位16ビット分を使用するのに対し、ユーザ定義領域は 上位16ビットを使用して表現できます。将来のライブラリ拡張が行われても、ユーザ定義領域の上位16ビット分が 別の用途で使用されないことはライブラリとして保証します。
- 関連項目:
- 定数フィールド値
-
-
コンストラクタの詳細
-
BeMusicHeader
public BeMusicHeader(BmsContent content)
ヘッダ定義オブジェクトを構築します。このコンストラクタを使用した場合、当クラスがサポートする全てのヘッダ定義を抽出しようとします。 アプリケーションによっては不要な情報も多量に抽出し余分なオーバーヘッドがかかる場合がありますので、 抽出する情報を厳密に指定したい場合には
BeMusicHeader(BmsContent, int)
を使用してください。BMSコンテンツは、
BeMusicSpec
を用いて生成されたBMS仕様に基づくものを指定してください。 それ以外のBMS仕様に基づいて生成されたBMSコンテンツを指定した場合の動作保証はありません。- パラメータ:
content
- BMSコンテンツ- 例外:
NullPointerException
- contentがnull
-
BeMusicHeader
public BeMusicHeader(BmsContent content, int flags)
ヘッダ定義オブジェクトを構築します。このコンストラクタではパラメータのフラグを設定することで抽出するヘッダ定義の種類を指定することができます。 不要な情報を抽出したくない場合に使用してください。
BMSコンテンツは、
BeMusicSpec
を用いて生成されたBMS仕様に基づくものを指定してください。 それ以外のBMS仕様に基づいて生成されたBMSコンテンツを指定した場合の動作保証はありません。
-
-
メソッドの詳細
-
getPlayer
public final BeMusicPlayer getPlayer()
#PLAYERを取得します。- 戻り値:
- #PLAYERの値
-
getGenre
public final String getGenre()
#GENREを取得します。- 戻り値:
- #GENREの値
-
getTitle
public final String getTitle()
#TITLEを取得します。- 戻り値:
- #TITLEの値
-
getSubTitle
public final String getSubTitle()
#SUBTITLEを取得します。- 戻り値:
- #SUBTITLEの値
-
getArtist
public final String getArtist()
#ARTISTを取得します。- 戻り値:
- #ARTISTの値
-
getSubArtist
public final String getSubArtist(String separator)
#SUBARTISTを取得します。- パラメータ:
separator
- サブアーティストが複数定義されている場合の区切り文字列- 戻り値:
- #SUBARTISTの値
- 例外:
NullPointerException
- separatorがnull
-
getSubArtists
public final List<String> getSubArtists()
#SUBARTISTを全て取得します。- 戻り値:
- #SUBARTISTのリスト
-
getInitialBpm
public final double getInitialBpm()
#BPM(初期BPM)を取得します。- 戻り値:
- #BPMの値
-
getDifficulty
public final BeMusicDifficulty getDifficulty()
#DIFFICULTYを取得します。- 戻り値:
- #DIFFICULTYの値
-
getPlayLevelRaw
public final String getPlayLevelRaw()
#PLAYLEVELを取得します。- 戻り値:
- #PLAYLEVELの値
-
getPlayLevel
public final double getPlayLevel()
#PLAYLEVELの数値を取得します。元の値が数値書式でない場合、取得される値は0になります。
- 戻り値:
- #PLAYLEVELを数値に変換した値
-
getRank
public final BeMusicRank getRank()
#RANKを取得します。- 戻り値:
- #RANKの値
-
getTotal
public final double getTotal()
#TOTALを取得します。- 戻り値:
- #TOTALの値
-
getBanner
public final String getBanner()
#BANNERを取得します。- 戻り値:
- #BANNERの値
-
getStageFile
public final String getStageFile()
#STAGEFILEを取得します。- 戻り値:
- #STAGEFILEの値
-
getBackBmp
public final String getBackBmp()
#BACKBMPを取得します。- 戻り値:
- #BACKBMPの値
-
getLnObjs
public final List<Long> getLnObjs()
#LNOBJを全て取得します。- 戻り値:
- #LNOBJのリスト
-
getUrl
public final String getUrl()
%URLを取得します。- 戻り値:
- %URLの値
-
getEmail
public final String getEmail()
%EMAILを取得します。- 戻り値:
- %EMAILの値
-
getWav
public final String getWav(int metaIndex)
#WAVを取得します。- パラメータ:
metaIndex
- メタ情報インデックス- 戻り値:
- #WAVの値。インデックスに該当する値がない場合空文字。
-
getWavs
public final Map<Integer,String> getWavs()
#WAVを全て取得します。- 戻り値:
- メタ情報インデックスでマップされた#WAVの値
-
getBmp
public final String getBmp(int metaIndex)
#BMPを取得します。- パラメータ:
metaIndex
- メタ情報インデックス- 戻り値:
- #BMPの値。インデックスに該当する値がない場合空文字。
-
getBmps
public final Map<Integer,String> getBmps()
#BMPを全て取得します。- 戻り値:
- メタ情報インデックスでマップされた#BMPの値
-
getBpm
public final double getBpm(int metaIndex)
#BPMを取得します。- パラメータ:
metaIndex
- メタ情報インデックス- 戻り値:
- #BPMの値。インデックスに該当する値がない場合
BmsSpec.BPM_DEFAULT
。
-
getBpms
public final Map<Integer,Double> getBpms()
#BPMを全て取得します。- 戻り値:
- メタ情報インデックスでマップされた#BPMの値
-
getStop
public final long getStop(int metaIndex)
#STOPを取得します。- パラメータ:
metaIndex
- メタ情報インデックス- 戻り値:
- #STOPの値。インデックスに該当する値がない場合0。
-
getStops
public final Map<Integer,Long> getStops()
#STOPを全て取得します。- 戻り値:
- メタ情報インデックスでマップされた#STOPの値
-
getText
public final String getText(int metaIndex)
#TEXTを取得します。- パラメータ:
metaIndex
- メタ情報インデックス- 戻り値:
- #TEXTの値。インデックスに該当する値がない場合空文字。
-
getTexts
public final Map<Integer,String> getTexts()
#TEXTを全て取得します。- 戻り値:
- メタ情報インデックスでマップされた#TEXTの値
-
onCreate
protected void onCreate(BmsContent content, int flags)
ヘッダ定義オブジェクトが構築された時に実行されます。当メソッドが実行されるのはオブジェクトのベースクラスである
BeMusicHeader
の構築処理が完了した後です。 従って、クラスのGetterを使用することで抽出済みの情報にアクセス可能な状態となっています。当メソッドの意図は、ベースクラスを拡張したクラスにおいて自身が必要とする情報を構築する機会を提供する ことにあります。メソッドはコンストラクタの最後で実行され、当メソッドの実行が完了する時には全ての情報構築が 完了していることが推奨されています。
- パラメータ:
content
- BMSコンテンツflags
- ヘッダ定義収集フラグ
-
-