music: 新建 music app,替换 piano-sheet
deploy cube / build-and-deploy (push) Successful in 1m10s
deploy music / build-and-deploy (push) Successful in 1m47s
deploy simpleasm / build-and-deploy (push) Successful in 1m20s

听歌 + 练琴曲目管理:
- 数据:piece (title/artist/category/lyrics/play_count/notes) + attachments (audio/video/pdf/image; image 带 role=chord/numbered/staff)
- 后端 axum + sqlite,附件流式落 PVC,ServeFile 支持 Range(视频拖动)
- 前端 guitar 风格 player:左 sidebar + tabs(歌词/吉他谱/简谱/五线谱/PDF/视频),LRC 同步、快捷键、笔记自动保存
- ns cube-music + music.famzheng.me + bodylimit 5GiB
- scripts/import_guitar.py 用于把 oci /data/guitar/ 旧曲库导入
This commit is contained in:
Fam Zheng
2026-05-09 22:36:14 +01:00
parent 58f344db85
commit 1a8f297302
30 changed files with 2683 additions and 1314 deletions
Generated
+15 -14
View File
@@ -441,6 +441,21 @@ dependencies = [
"version_check",
]
[[package]]
name = "music"
version = "0.1.0"
dependencies = [
"axum",
"cube-core",
"rusqlite",
"serde",
"serde_json",
"tokio",
"tower",
"tower-http",
"tracing",
]
[[package]]
name = "nu-ansi-term"
version = "0.50.3"
@@ -485,20 +500,6 @@ version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
[[package]]
name = "piano-sheet"
version = "0.1.0"
dependencies = [
"axum",
"cube-core",
"rusqlite",
"serde",
"serde_json",
"tokio",
"tower-http",
"tracing",
]
[[package]]
name = "pin-project-lite"
version = "0.2.17"