Skip to content

Latest commit

 

History

2,181 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bmz-player

Next-Generation BMS Player (WIP)

Supported OS

  • Windows
  • macOS
  • Linux (probably works)

Supported Format

  • BMS (5K / 7K / 10K / 14K)
  • PMS (9K)
  • Qwilight / UE-style BMS (4K / 6K / 8K)
  • Base 62 BMS (62進数BMS)
  • BMSON

Supported Skin

  • beatoraja json skin
  • beatoraja lua skin
  • beatoraja csv skin

Features

  • score database migration from LR2 / beatoraja
  • auto-adjust (自動判定調整)
  • normalizing volume per-chart (譜面ごとの自動音量調整)
  • internet ranking (BMZ IR)
  • selectable rule-mode (beatoraja / LR2oraja / DX MODE)
  • advanced selectable ln-mode (AUTO(LN) / AUTO(CN) / AUTO(HCN) / FORCE(LN) / FORCE(CN) / FORCE(HCN))
  • on-demand preview generation
    • #PREVIEW 定義や preview.wav(.ogg) がない曲のプレビューを再生することができます
  • FAST/SLOW 表示ms指定機能
  • Discord Rich Presence
  • OBS WebSocket control integration

Caution

Don't use this application to play non-permitted copyrighted contents.

Linux downloads

Download bmz-player-v<version>-linux-x64.tar.gz from GitHub Releases, extract it, and run ./bmz-player from the extracted directory. Keep bin, lib, and resources together. No build or source archive is needed to play.

The baseline is Ubuntu 22.04 / glibc 2.35+ on x86_64 with host graphics and audio support. Flatpak remains available. The separate linux-x64-sources.tar.gz contains corresponding application and dependency sources for rebuilding. See Linux tar distribution for prerequisites, storage paths, manual updates and source verification.

Recommended Skins

F1 → 設定 → スキン →「追加スキンのフォルダーを開く」から配置先を開き、スキンをフォルダーごと配置してください。 「スキン一覧を更新」を押し、画面ごとに使用するスキンを選択します。表示される配置先が、現在使用中の data_dir/skins です。

Open F1 → Settings → Skin → Open additional skins folder, copy the complete skin folder there, then Refresh skin list and select it for each scene.

resource_dir/skins はアプリ側のリソースです。配布物と同じパスのファイルは更新で上書きされるため、 追加スキン・編集用コピーは上記の配置先へ置いてください。Windows Setup は未知のファイルを残しますが、 macOS はアプリ全体を更新します。移動・バックアップからの復元手順は スキン配置案内 を参照してください。

Clone

Bundled skin assets are managed as Git submodules. Clone with submodules, or initialize them after cloning.

git clone --recurse-submodules https://github.com/hyrorre/bmz-player.git
git submodule update --init --recursive

Currently bundled submodules:

  • data/skins/Rmz-skin — BMZ bundled fork of Rm-skin. See the skin repository's README and _license/ directory for license details.
  • data/skins/mz-select — BMZ bundled copy of m-select. See the skin repository's readme.txt and license/ directory for license details.
  • data/skins/Luxez-Flat — BMZ bundled fork of Luxez-Flat. See the skin repository's readme.txt and font_license/ directory for license details.

System Requirements

  • Windows: Windows 10 or higher is natively supported via DirectX 12. Older versions of Windows may require Vulkan drivers.
  • macOS: macOS 10.13 High Sierra or newer is required to utilize Apple's Metal API.
  • Linux: Vulkan support is required. You must ensure you have the correct Vulkan drivers installed (e.g., the proprietary drivers for your dedicated GPU or mesa-vulkan-drivers for Intel/AMD graphics).

How to build

Install latest graphics driver.

Use the same version of FFmpeg as specified in Cargo.toml

Windows (stable-x86_64-pc-windows-msvc)

Install scoop beforehand. (or manually install vcpkg)

# Install vcpkg
scoop install vcpkg
vcpkg integrate install

# Install rust
winget install Rustlang.Rustup llvm.llvm
rustup toolchain install stable-msvc
rustup default stable-msvc

# Install dependencies
vcpkg install ffmpeg:x64-windows

cargo build
cargo run

macOS (stable-aarch64-apple-darwin)

Install Homebrew beforehand.

# Install rust
brew install rust rustup
rustup toolchain install stable

# Install dependencies
brew install ffmpeg

cargo build
cargo run

Linux (stable-x86_64-unknown-linux-gnu)

Example in fedora

# Install rust
sudo dnf update -y
sudo dnf install -y rustup
rustup-init
source ~/.bashrc

# Install dependencies
sudo dnf install -y gcc g++ make clang llvm git ffmpeg-free ffmpeg-free-devel openssl-devel alsa-lib-devel rust-libudev-devel fontconfig-devel pipewire pipewire-pulseaudio wireplumber alsa-utils alsa-plugins-pulseaudio google-noto-sans-cjk-fonts google-noto-sans-cjk-vf-fonts

cargo build
cargo run

Roadmap

  • WASAPI exclusive
  • practice mode
  • more beatoraja-compatible features
  • battle mode (WIP)
  • rec mode (譜面動画作成モード)
  • Arena Mode
  • ギミック系BMSへの対応
  • non stop mode

Out of Scope (but welcome your contributions)

  • 24K / 48K BMS
  • 18K PMS (9K DOUBLE PLAY)
  • LR2-style csv skin
  • More features like LR2

About

Next-Generation BMS Player (WIP)

Topics

Resources

Stars

20 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages