An open API service indexing awesome lists of open source software.

https://github.com/mpdel/libmpdel

Emacs library to communicate with Music Player Daemon (MPD)
https://github.com/mpdel/libmpdel

emacs-package mpd mpd-client music-player

Last synced: about 1 year ago
JSON representation

Emacs library to communicate with Music Player Daemon (MPD)

Awesome Lists containing this project

README

          

* libmpdel
#+BEGIN_HTML



MELPA Stable


MELPA


pipeline status


#+END_HTML

** Summary

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

** Installing

Get libmpdel from [[https://melpa.org/#/libmpdel][melpa]] or [[https://stable.melpa.org/#/libmpdel][melpa stable]]. You can also clone the git
repository.

You need to install and (quickly) configure an [[https://www.musicpd.org/][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.

| *Name* | *Type* | *Fields* | *Description* |
|------------------+-----------+----------------------+---------------------------------------------------------|
| song | structure | name, album, file, … | |
| album | structure | name, artist | |
| artist | structure | name | |
| directory | structure | name, path | |
| stored-playlist | structure | name | A named user-specified sequence of songs |
| search-criteria | structure | type, what | Read the [[https://www.musicpd.org/doc/protocol/database.html][protocol documentation]] |
| filter | structure | text | Read the [[https://www.musicpd.org/doc/html/protocol.html#filters][protocol documentation]] |
|------------------+-----------+----------------------+---------------------------------------------------------|
| artists | symbol | /none/ | Represent the set of all artists |
| albums | symbol | /none/ | Represent the set of all albums |
| directories | symbol | /none/ | Represent all directories in ~libmpdel-music-directory~ |
| current-playlist | symbol | /none/ | Represent the currently played sequence of songs |
| stored-playlists | symbol | /none/ | Represent 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 [[file:COPYING][COPYING]]. Copyright (c) 2018-2023 Damien Cassou.

#+BEGIN_HTML

Donate using Liberapay

#+END_HTML

# LocalWords: MPDel MPD minibuffer