#bms #bmson #bms-utils #pmsの

bms-utils

BMSのファイル(.bms .bme .bml .pms .bmson)に関するライブラリ Library for BMS files. (.bms .bme .bml .pms .bmson)

2 releases

Uses new Rust 2024

0.1.1 Apr 8, 2025
0.1.0 Apr 3, 2025

#263 in Audio

Download history 114/week @ 2025-03-31 127/week @ 2025-04-07 7/week @ 2025-04-14

248 downloads per month

MIT/Apache

125KB
3K SLoC

bms-utils

BMSのライブラリです。

BMSファイルの読み書きが出来ます

拡張子がbms,bme,bml,pmsのファイル

// 読み込み

let bms_str = r"
#PLAYER 1
#GENRE ジャンル
#TITLE タイトル
#ARTIST 制作者
#BPM 180
#PLAYLEVEL 12
#RANK 3

#SUBTITLE サブタイトル
#SUBARTIST サブ制作者
#STAGEFILE ステージ画像
#BANNER バナー画像
#BACKBMP タイトル文字画像

#DIFFICULTY 4
#TOTAL 400
#LNOBJ ZZ
#PREVIEW preview.wav
#LNMODE 2
";
// ランダム要素を確定していない状態のBMSを作成
let rawbms = RawBms::parse(bms_str);
// ランダム要素を確定させる
// この時、疑似乱数生成器を渡す
let bms = rawbms.make_bms(rng);

// 書き込み

// !!!開発中!!!

Bmsonファイル

// 読み込み

let bmson = Bmson::parse(&bmson_string).unwrap();

// 書き込み

// 改行が無く、小さい長さの文字列へ
let bmson_string = bmson.to_string().unwrap();

// 改行やインデントがなされ、読みやすい文字列へ
let bmson_string = bmson.to_string_pretty().unwrap();

License: MIT OR Apache-2.0

Dependencies

~2–3MB
~67K SLoC