AI 仓库情报摘要
FR-AI / ANALYSIS为什么值得关注
它将全功能 TUI 与 MPD 支持、鼠标输入、专辑封面渲染和频谱可视化整合在 Haskell 中,兼具性能与类型安全。
适合谁使用
- 深度音乐爱好者
- 对终端应用感兴趣的 Haskell 开发者
- 偏好键盘/鼠标驱动的 TUI 音乐播放器的用户
- 寻求丰富视觉界面的 MPD 用户
典型使用场景
- 通过支持鼠标的终端界面控制 MPD 播放
- 在 Kitty、Ghostty 或 iTerm2 等终端中直接查看专辑封面
- 听音乐时监控音频频谱
- 使用可拖拽面板管理播放队列和专辑列表
项目优势
- 完整的鼠标输入支持和可拖拽的控制面板
- 无需外部图像查看器即可实时显示专辑封面
- 基于成熟的 MPD 生态,确保可靠的音乐播放
- 紧凑优雅的 TUI 设计,内置频谱可视化器
使用前须知
- 仍处于开发阶段,许多路线图功能尚未实现(如均衡器、歌词、Vim 模式)
- 需要外部工具(Magick、Chafa)以及可选的 Node.js 来编辑配置
- 贡献指南不鼓励结构性更改,可能减缓新功能的添加
README 快速开始
Meloid = Melody + Monoid.
This is a command-line music player fully in Haskell for in-depth music lovers,
yet under development.
Prerequisite
1. Make sure you have Magick and Chafa installed on your computer. They power
the generic terminal image pipeline for image files and embedded MPD art.
2. To persist edits back into `config.yaml` while preserving comments and
formatting, install `nodejs`, then run `npm install --prefix tools`. If you use
a non-default Node executable, set `MELOID_NODE=/path/to/node`.
Roadmap
[x] Full mouse input support
[x] Real album art image display on terminals like Kitty, Ghostty and ITerm
[x] Compact and elegant control panels and draggable bars
[x] Built to Music Player Daemon (MDP)
[x] Album list and track display
[x] Current playing queue
[x] Play music
[ ] Vim-like commands and mode switch
[ ] Mouseless support (Tab-based focus ring)
[x] A setting layout
[ ] Custom output device and software
[x] Spectrum/Frequency visualizer
[ ] Equalizer
[ ] Dynamic volume adjustion
[ ] Viewport for live lyrics
[ ] Playlist panel and functionality
[ ] Rate the song or album
[ ] Soulseek backend support
...
Contributing
You seem to have noticed that there are many things not yet crossed in the roadmap.
Do you have any ideas ? Great! However, you need to follow the following guidelines
before you submit the patch.
- Please make sure the change you've made consistent with the code style in the
project.
- Any big changes? Please talk to me first. Let's talk in issues, discussions or even
Discord groups.
- Reliability is from a strong type system but also strengthened by every comment
and documentation you make in your submission.
- It is not recommended to make any structural change to the codes. It is more
preferred to focus on one specific issue in each contribution.
- I hope all warnings are intolerable for you
About release
First version will be soon.
