https://github.com/emacs-eaf/eaf-music-player
Music player that supports playlist and audio visualization
https://github.com/emacs-eaf/eaf-music-player
eaf emacs emacs-lisp music music-player
Last synced: 4 months ago
JSON representation
Music player that supports playlist and audio visualization
- Host: GitHub
- URL: https://github.com/emacs-eaf/eaf-music-player
- Owner: emacs-eaf
- License: gpl-3.0
- Created: 2021-08-11T02:36:08.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-04-16T15:36:13.000Z (about 1 year ago)
- Last Synced: 2025-06-27T15:44:48.167Z (about 1 year ago)
- Topics: eaf, emacs, emacs-lisp, music, music-player
- Language: Python
- Homepage:
- Size: 14.7 MB
- Stars: 23
- Watchers: 4
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### EAF Music Player
Music Player application for the [Emacs Application Framework](https://github.com/emacs-eaf/emacs-application-framework).
### Load application
[Install EAF](https://github.com/emacs-eaf/emacs-application-framework#install) first, then add below code in your emacs config:
```Elisp
(add-to-list 'load-path "~/.emacs.d/site-lisp/emacs-application-framework/")
(require 'eaf)
(require 'eaf-music-player)
```
### Usage
* `eaf-open-music-player`: Open EAF music player with local directory.
* `eaf-open-cloud-music`: Open EAF music player with Netease favorite list, only for Chinese user.
### Dependency List
| Package | Description |
| :-------- | :------ |
| python-pytaglib, mutagen | Parse ID3 tag |
| certifi, pycryptodome, rsa, | Fetch Lyrics and Cover |
| album-art | Fetch Lyrics |
| Pillow | Parse Cover Pixel |
### The keybinding of EAF Music Player.
| Key | Event |
| :---- | :------ |
| `` | open_devtools |
| `j` | js_play_next |
| `k` | js_play_prev |
| `h` | js_play_random |
| `,` | js_backward |
| `.` | js_forward |
| `SPC` | js_toggle_play_status |
| `C-n` | js_scroll_up |
| `C-p` | js_scroll_down |
| `C-v` | js_scroll_up_page |
| `M-v` | js_scroll_down_page |
| `M-<` | js_scroll_to_begin |
| `M->` | js_scroll_to_bottom |
| `g` | js_jump_to_file |
| `t` | js_toggle_play_order |
| `C-e` | js_sort_by_title |
| `C-t` | js_sort_by_artist |
| `C-m` | js_sort_by_album |
| `C-l` | js_change_panel |
| `C-u` | js_toggle_play_source |
| `C-s` | search_text_forward |
| `C-r` | search_text_backward |
| `F` | open_link |
| `e` | edit_tag_info |
| `s` | show_tag_info |
| `T` | convert_tag_coding |
| `r` | refresh_cloud_tracks |
| `p` | js_playlist_prev |
| `n` | js_playlist_next |
| `C-S-n` | js_scroll_playlist_up |
| `C-S-p` | js_scroll_playlist_down |