クラス BeMusicSpec
- Object
-
- BeMusicSpec
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static BmsSpec
LATEST
最新バージョンのBe-Music用BMS仕様です。static int
LATEST_VERSION
Be-Music用BMS仕様の最新バージョンstatic int
V1
Be-MusicのBMS仕様バージョン(V1)を表します。
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 BeMusicSpec()
-
メソッドの概要
すべてのメソッド staticメソッド concreteメソッド 修飾子とタイプ メソッド 説明 static BmsSpec
create(int specVersion, BmsMeta[] objectMetas, BmsChannel[] userChannels)
Be-Music用のBMS仕様を生成します。static BmsSpec
createV1(BmsMeta[] objectMetas, BmsChannel[] userChannels)
V1
のBeMusic用BMS仕様を生成します。static BmsContent
loadContentFrom(Path path, boolean strictly)
最新バージョンのBe-Music用BMS仕様を用いて指定パスのファイルからBMSコンテンツを読み込みます。
-
-
-
フィールドの詳細
-
V1
public static final int V1
Be-MusicのBMS仕様バージョン(V1)を表します。- 関連項目:
- 定数フィールド値
-
LATEST_VERSION
public static final int LATEST_VERSION
Be-Music用BMS仕様の最新バージョン- 関連項目:
- 定数フィールド値
-
LATEST
public static final BmsSpec LATEST
最新バージョンのBe-Music用BMS仕様です。このBMS仕様は
LATEST_VERSION
に対応したものです。任意型メタ情報、ユーザーチャンネルは何も指定されていません。
-
-
メソッドの詳細
-
create
public static BmsSpec create(int specVersion, BmsMeta[] objectMetas, BmsChannel[] userChannels)
Be-Music用のBMS仕様を生成します。- パラメータ:
specVersion
- BMS仕様のバージョンobjectMetas
- BMS仕様に含める任意型メタ情報のリストuserChannels
- BMS仕様に含めるユーザーチャンネルのリスト- 戻り値:
- BeMusic用のBMS仕様
- 例外:
IllegalArgumentException
- specVersionに未知の値を指定したIllegalArgumentException
- objectMetasのリスト内に任意型以外のメタ情報が含まれていたIllegalArgumentException
- userChannelsのリスト内に仕様チャンネルが含まれていた
-
createV1
public static BmsSpec createV1(BmsMeta[] objectMetas, BmsChannel[] userChannels)
V1
のBeMusic用BMS仕様を生成します。- パラメータ:
objectMetas
- BMS仕様に含める任意型メタ情報のリストuserChannels
- BMS仕様に含めるユーザーチャンネルのリスト- 戻り値:
- BeMusic用のBMS仕様
- 例外:
IllegalArgumentException
- objectMetasのリスト内に任意型以外のメタ情報が含まれていたIllegalArgumentException
- userChannelsのリスト内に仕様チャンネルが含まれていた
-
loadContentFrom
public static BmsContent loadContentFrom(Path path, boolean strictly) throws BmsException
最新バージョンのBe-Music用BMS仕様を用いて指定パスのファイルからBMSコンテンツを読み込みます。当メソッドは最も一般的なBMSコンテンツの読み込み機能を提供します。通常、BeMusicサブセットが持つ柔軟かつ高機能な 処理を行うためには複数の煩雑な設定を行ったうえで読み込みを行う必要がありますが「ファイルからBMSコンテンツを読み込む」 という一般的な処理を行いたい場合には当メソッドを用いるのが最適な選択肢となります。
2番目の引数は、読み込みの際に厳格なフォーマットチェックを行うかどうかを選択します。 falseを指定するとBMS定義の構文エラー、値の範囲・書式、チャンネルの定義ミスなど、様々な誤りに対して寛容的になり、 誤りを検出した際にはその誤りを無視して読み込みを続行します。この設定で読み込みを行うと当メソッドが例外をスローする ケースが減少しますが、代償としてBMS定義の誤りに気付く機会が失われ、読み込まれたBMSコンテンツが意図せずに期待とは異なる 内容になってしまう可能性があります。trueを指定すると以下のような場合にメソッドが例外をスローするようになります。
- BMSフォーマットとして不正な構文が使用されている時
- 未知のメタ情報(ヘッダ)が定義されている時
- メタ情報の値が想定する形式の値になっていない時(例えば数値を設定する箇所に数値以外を記述する等)
- 未知のチャンネル(番号)が定義されている時
- チャンネルに設定した値の形式が不正な時
- 同じ小節・チャンネルのデータが再定義された時
- 乱数(#RANDOM/#IF/#ELSE/#ENDIF等)の定義階層が不正な時
上記以外にもファイルの読み込み中にエラーが発生する等、複数の要因で例外がスローされる可能性があります。 例外およびエラーの詳細については
BmsException
、BmsError
を参照してください。当メソッドでは乱数を使用したCONTROL FLOW読み込みを行います。そのため乱数を使用したBMSコンテンツでは 読み込み毎に異なる内容のBMSコンテンツになる場合があることに留意してください。
詳細な読み込み設定を行ったうえでBMSコンテンツを様々なデータ型から読み込みたい場合には、
BmsLoader
とBeMusicLoadHandler
を参照し、必要な手続きを行う処理を記述してください。 当メソッド内部では一般的な用途向けで手続きを行っています。- パラメータ:
path
- 読み込み対象のBMSファイルのパスstrictly
- 厳格なフォーマットチェックを行うかどうか- 戻り値:
- 最新バージョンのBe-Music用BMS仕様で読み込まれたBMSコンテンツ
- 例外:
BmsException
- BMSファイルの読み込みに失敗したNullPointerException
- pathがnull- 関連項目:
BmsLoader
,BmsError
,BeMusicLoadHandler
-
-