/libmpdel

Emacs library to communicate with Music Player Daemon (MPD)

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

libmpdel

<a href=”https://stable.melpa.org/#/libmpdel”> <img alt=”MELPA Stable” src=”https://stable.melpa.org/packages/libmpdel-badge.svg”/> </a> <a href=”https://melpa.org/#/libmpdel”> <img alt=”MELPA” src=”https://melpa.org/packages/libmpdel-badge.svg”/> </a> <a href=”https://drone.petton.fr/mpdel/libmpdel”> <img src=”https://drone.petton.fr/api/badges/mpdel/libmpdel/status.svg” /> </a> </p>

Summary

The package libmpdel is an Emacs library client to communicate with Music Player Daemon (MPD), a flexible, powerful, server-side application for playing music. For a user interface, please check the mpdel project instead (which depends on this one).

Installing

Get libmpdel from melpa or melpa stable. You can also clone the git repository.

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.

Usage

This code is a library and is meant for Emacs Lisp developers. The source code is well documented and organized in sections. Please have a look at it.

Entities

The library is implemented around a set of entities.

NameTypeFieldsDescription
songstructurename, album, file, …
albumstructurename, artist
artiststructurename
directorystructurename, path
stored-playliststructurenameA named user-specified sequence of songs
search-criteriastructuretype, whatRead the protocol documentation
filterstructuretextRead the protocol documentation
artistssymbolnoneRepresent the set of all artists
albumssymbolnoneRepresent the set of all albums
directoriessymbolnoneRepresent all directories in libmpdel-music-directory
current-playlistsymbolnoneRepresent the currently played sequence of songs
stored-playlistssymbolnoneRepresent the set of all stored playlists

Many functions in MPDel work on several kinds of entities (e.g., libmpdel-list). These methods are implemented with cl-defgeneric and cl-defmethod.

License

See COPYING. Copyright (c) 2018 Damien Cassou.

<a href=”https://liberapay.com/DamienCassou/donate”> <img alt=”Donate using Liberapay” src=”https://liberapay.com/assets/widgets/donate.svg”> </a>