1
1
Fork
You've already forked empdel
0
An Emacs MPD client inspired by ncmpcpp
  • Emacs Lisp 100%
Find a file
2026年04月04日 04:27:46 +03:00
.preview reduce images in README 2026年04月04日 03:50:35 +03:00
.gitignore init commit 2026年04月03日 19:32:33 +03:00
empdel-browser.el init commit 2026年04月03日 19:32:33 +03:00
empdel-library.el init commit 2026年04月03日 19:32:33 +03:00
empdel-mpd.el init commit 2026年04月03日 19:32:33 +03:00
empdel-playlist-editor.el init commit 2026年04月03日 19:32:33 +03:00
empdel-playlist.el init commit 2026年04月03日 19:32:33 +03:00
empdel-search.el init commit 2026年04月03日 19:32:33 +03:00
empdel-tag-editor.el init commit 2026年04月03日 19:32:33 +03:00
empdel-ui.el init commit 2026年04月03日 19:32:33 +03:00
empdel.el init commit 2026年04月03日 19:32:33 +03:00
LICENSE init commit 2026年04月03日 19:32:33 +03:00
README.org fix installation typo 2026年04月04日 04:27:46 +03:00

empdel

An Emacs MPD client inspired by ncmpcpp. empdel replicates ncmpcpp's views, keybindings, and workflow inside Emacs.

Features & Views (switch with 16)

  1. Playlist: play queue with sort, filter, reorder, crop, selection
  2. Browser: MPD filesystem tree navigation
  3. Search Engine: multi-field search form (artist, album, title, genre...)
  4. Media Library: three-column Artist | Album | Track browser
  5. Playlist Editor: two-column stored playlist manager
  6. Tag Editor: edit music file metadata (requires external tools)

Requirements

  • Emacs 28.1+, a running MPD instance

Quick Start

Install it using use-package from codeberg

(use-package empdel
 :ensure t
 :vc (:url "https://codeberg.org/ebeem/empdel"))

Or Clone this repository into a path and add it to your load-path then require it. This package isn't currently available in MELPA.

(add-to-list 'load-path "/path/to/empdel")
(require 'empdel)
(setq empdel-host "localhost" empdel-port 6600)
;; M-x empdel

/ebeem/empdel/media/branch/master/.preview/all.jpeg

Keybindings

Global Keys (available in all views)

  • 16: Switch to view 1–6
  • SPC: Toggle pause
  • s: Stop playback
  • >: Next track
  • <modification-key, less sign>S-<: Previous track
  • +: Volume up
  • -: Volume down
  • f: Seek forward
  • b: Seek backward
  • r: Toggle repeat
  • z: Toggle random
  • y: Toggle single
  • R: Toggle consume
  • u: Update MPD database
  • g: Refresh current view
  • q: Quit empdel

View-Specific Keys

  • Playlist (View 1)

    • RET: Play selected song
    • d: Delete song
    • D: Delete selected songs
    • c: Clear queue
    • Z: Shuffle queue
    • m: Toggle selection
    • U: Clear selection
    • M-up, M-p: Move song up
    • M-down, M-n: Move song down
    • /: Filter
    • C-l: Clear filter
    • S: Sort queue
    • C: Crop to current song
    • i: Show song info
    • e: Edit tags
  • Browser (View 2)

    • RET, C-f, right: Enter directory or add file
    • C-b, left, ^, DEL, backspace: Go up
    • \\: Go to root
    • a: Add item to queue
    • A: Add all items in current directory
    • /: Filter
    • i: Show file info
    • e: Edit tags
  • Search (View 3)

    • RET: Search or add result to queue
    • e: Edit field or edit tags
    • C-c C-r: Reset fields
    • a: Add result to queue
    • A: Add all results to queue
    • i: Show song info
  • Media Library (View 4)

    • TAB, C-f, right: Focus next column
    • backtab, C-b, left: Focus previous column
    • RET: Drill down or add track
    • a: Add selected item/album/artist
    • A: Add all by artist
    • /: Filter current column
    • i: Show song info (tracks column)
    • e: Edit tags (tracks column)
  • Playlist Editor (View 5)

    • TAB, C-f, right: Focus next column
    • backtab, C-b, left: Focus previous column
    • RET: Drill down or add song
    • a: Add to queue
    • d: Delete song/playlist
    • D: Delete playlist
    • C: Create playlist from queue
    • M-r: Rename playlist
    • L: Load playlist (replace queue)
    • e: Append from queue
    • i: Show song info (songs column)
    • E: Edit tags (songs column)
  • Tag Editor (View 6)

    • RET, e: Edit field
    • C-c C-c: Save changes
    • C-c C-k: Revert changes
    • C-c C-l: Load song from queue

Project Structure

  • empdel.el: Main entry point, defines the `empdel` command.
  • empdel-mpd.el: Low-level MPD protocol communication.
  • empdel-ui.el: Core UI code: view switching, header line, base keymap.
  • empdel-playlist.el: Implements View 1: Playlist.
  • empdel-browser.el: Implements View 2: Browser.
  • empdel-search.el: Implements View 3: Search Engine.
  • empdel-library.el: Implements View 4: Media Library.
  • empdel-playlist-editor.el: Implements View 5: Playlist Editor.
  • empdel-tag-editor.el: Implements View 6: Tag Editor (still in progress).