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)
- Host: GitHub
- URL: https://github.com/mpdel/libmpdel
- Owner: mpdel
- License: gpl-3.0
- Created: 2018-02-18T12:43:54.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-10-30T07:49:39.000Z (over 2 years ago)
- Last Synced: 2024-11-02T07:33:19.592Z (over 1 year ago)
- Topics: emacs-package, mpd, mpd-client, music-player
- Language: Emacs Lisp
- Homepage:
- Size: 166 KB
- Stars: 7
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- Funding: .github/FUNDING.yml
- License: COPYING
Awesome Lists containing this project
README
* libmpdel
#+BEGIN_HTML
#+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.
# LocalWords: MPDel MPD minibuffer