2394425147 / 2394425147/astrodx

[Feature] Display BPM data in the song list

未关闭 适合新手
#259 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
C#
星标
1.9k
派生
63
PR 合并指标
30 天内没有已合并 PR

描述

### Is your feature request related to a problem?

Yes. Currently, the song list in AstroDX only shows title, artist, and difficulty level. When browsing a large library of unfamiliar songs, I cannot quickly tell which tracks are suitable for warm-up, accuracy practice, or speed training without playing or listening them first. This forces me to either guess or leave the app to look up BPM externally, which breaks the browsing flow.

### Describe the feature

I would like the BPM value to be displayed directly in the song list, next to each song entry. The implementation could be:

- A simple text label (e.g., "BPM: 180") in the song item row.
- Optionally, a small color-coded dot or icon (green for slow, yellow for medium, red for fast) for a quick visual cue.
- The BPM data should be read from the song metadata (chart data already includes BPM).

### Reason for adding

- **Better practice planning** – Players can instantly pick songs that match their current goal: low BPM for timing/accuracy, high BPM for stamina and speed.

- **Easier warm-up** – You can start with slower songs and gradually increase tempo within a session.

- **Newcomer friendly** – Beginners often don't know which songs are "easier" beyond star rating; BPM provides an intuitive extra dimension of difficulty.

- **Consistency** – Most rhythm game simulators and community tools display BPM as standard metadata, so this is a natural quality-of-life addition.

### Example(s)

For instance, the song list currently shows:

```txt
Grievous Lady
```
With this feature, it would become:

```text
Grievous Lady │ BPM: 210
```
Or, in a card/grid view, a small badge like BPM 210 could be placed in the corner of the song card. This way, at a glance, users know that this is a fast song and I can decide whether I'm ready for it.

### Additional context

The BPM data is already present in the chart metadata (`maidata.txt`), so this would likely be a front-end display change only.

If the UI gets cluttered, an optional toggle in settings (e.g., "Show BPM in song list") could be added to let users enable/disable it.

贡献指南

这个仓库没有索引到贡献指南

调研方向

BPM 数据位于图表元数据(`maidata.txt`)中。找出歌曲列表 UI 的渲染位置(可能是显示标题、艺术家和难度的 view model 或组件)。将 BPM 字段添加到歌曲项模型中并更新 UI 以显示它,可作为文本标签。检查是否有现有的歌曲列表 UI 测试用于验证该更改。

由索引模型根据 Issue 内容生成。

评估

领域
frontend, game-dev
Issue 类型
功能
难度
2/5
预计耗时
1-3 小时
活跃度
冷清
描述清晰度
描述清楚
新手友好度
75/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。