zemp我的音乐播放器

Table of Contents

我现在听歌的习惯就是,把喜欢的歌从网络上下载下来,然后放到一个目录里播放。以前喜欢在命令行里用cmus 后来觉得很多功能都用不上,而且终端经常被其它程序被占用,切换来切换去也很麻烦,所以就用elisp写了个简单的音乐播放器zemp

它的功能也很简单,就是将目录里的mp3文件全显示在buffer中,然后用vim风格的移动方式去选择歌曲并播放。这个程序实际是在后台起一个播放器,整个zemp只是这个播放器的一层皮,通过ipc通信去控制播放内容。

一开始我是想用emacs的动态c模块,把音频解码库集成进去,但是后面考虑了一下跨平台的时候兼容性可能会有点问题,索性就学emms那种用后台播放器的方式。目前就写了两个mpv和mplayer的适配器,使用上也没什么问题。

播放模式上也有单曲循环、列表循环、随机播放这些常见模式,基本的音乐播放器模式都有。目前来说符合我的使用习惯,没有其它花哨的东西,对我来说够用了。

quick start

(zemp-open-dir "~/Music")

hotkey

- `j`: Move cursor to next track in playlist
- `k`: Move cursor to previous track in playlist
- `g`: Update playlist
- `n` or `J`: Move cursor to next track and play
- `p` or `K`: Move cursor to previous track and play
- `s`: Stop playback
- `SPC`: Toggle playback
- `-`: Decrease volume
- `+`: Increase volume
- `<right>` or `l`: Seek forward
- `<left>` or `h`: Seek backward

使用效果