Emacs user interface for MPD
Switch branches/tags
Nothing to show
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
Makefile Replace emake with makel Oct 2, 2018
mpdel.el Release 0.6.0 Jun 6, 2018



MELPA Stable MELPA pipeline status


MPDel is an Emacs client for Music Player Daemon (MPD), a flexible, powerful, server-side application for playing music. MPDel provides an Emacs user interface to control playback (play, pause, next, volume up…) and to display and control the current playlist as well as your stored playlists (e.g., “my favorites”, “wake me up”, “make me dance”, …).

This is a screenshot of the current playlist with the currently-playing song:


MPDel can show information about the currently playing song or any other song:


With the additional package ivy-mpdel, you can navigate your music database and add songs to playlists with completion:



Get mpdel from melpa or melpa stable. You also need to install libmpdel.

You need to install and (quickly) configure an MPD server if you don’t have any yet. Don’t worry, that’s simple and you won’t regret it.


Start by adding these lines to your init.el file:

(add-to-list 'load-path "~/.emacs.d/lib/mpdel")
(require 'mpdel)

Then, press C-x Z l to show the current playlist. The C-x Z global prefix is configurable with mpdel-prefix-key:

(setq mpdel-prefix-key (kbd "C-. z"))

The following MPDel keybindings are available globally if mpdel-mode is active:

C-x Z SPCtoggle between play and pause
C-x Z M-nplay next song
C-x Z M-pplay previous song
C-x Z prestart playing current song
C-x Z lopen the current playlist
C-x Z Lopen a stored playlist
C-x Z nnavigate your database from artists
C-x Z Nnavigate your database from stored playlists
C-x Z vview current song
C-x Z s rsearch songs by artist name
C-x Z s lsearch songs by album name
C-x Z s ssearch songs by song title
C-x Z fgo forward current song by mpdel-song-normal-increment
C-x Z Fgo forward current song by mpdel-song-small-increment
C-x Z M-fgo forward current song by mpdel-song-large-increment
C-x Z bgo backward current song by mpdel-song-normal-decrement
C-x Z Bgo backward current song by mpdel-song-small-decrement
C-x Z M-bgo backward current song by mpdel-song-large-decrement

The last component of each keybinding can also be pressed in any MPDel buffer (e.g., press M-n in a playlist buffer to play the next song) to do the same. Additionally, the following keybindings are available in all MPDel buffers where they make sense:

aadd item to current playlist
Aadd item to a stored playlist
rreplace current playlist with item
Rreplace a stored playlist with item
pplay selected items immediately
vview currently played song
RETopen a buffer showing item at point
^open item’s parent
C-x C-jopen a dired buffer on item at point

Opening a dired buffer on the item at point requires configuring libmpdel-music-directory first.


The keybinding C-x Z n (or just n in any MPDel buffer) opens a navigator on your database. You first get a list of all artists. From there, you can press a, A, r or R (see above) to add the item at point to a playlist. You can also press RET (the enter key) to “dive” into the selected item and display a list of the artist’s albums. On the contrary, press ^ to go back to the item’s parent (e.g., artist of the album at point). Keybindings are also available here to add albums to a playlist or dive into an album’s songs. Diving into a song displays some information about it.

You can also start a navigator on your stored playlists with C-x Z N (or just N) but that’s probably less useful than opening a stored playlist buffer (with C-x Z L or just L).

There is just one navigator buffer available at any time and its name is *MPDEL Navigator*.


Playlist buffers display either the current playlist (C-x Z l or just l) or any stored playlist (C-x Z L or just L). A playlist buffer lists songs and can be edited.

Here is a list of keybindings available for playlist buffers:

C-x C-ssave current playlist in a new one
kremove selected song(s) from playlist
M-upmove selected song(s) up in the playlist
M-downmove selected song(s) down in the playlist

When a command acts on the selected song(s) (such as k), the song at point will be used if there is no active region and all songs of the region will be used otherwise.

Playlist buffers are refreshed automatically when the MPD server refreshes them.


Song buffers display information about a song, either the currently played one (C-x Z v or just v) or the song at point (with V). When displaying the currently played song, the buffer also shows playback status (e.g., “Currently playing”) and current playback position in song (e.g., “02:32 / 06:01”). Press ^ to open a navigator on the song’s album.


See COPYING. Copyright (c) 2018 Damien Cassou.

Donate using Liberapay