libmpdee

Homepage: https://github.com/andyetitmoves/libmpdee

Author: Ramkumar R. Aiyengar

Updated:

Summary

Client end library for mpd, a music playing daemon

Commentary

This package is a client end library to the wonderful music playing daemon by
name mpd. Hence, an obvious prerequisite for this package is mpd itself,
which you can get at http://www.musicpd.org. For those who haven't heard of
mpd, all I can say is that it is definitely worth a try, and is surely
different from the rest. This package is aimed at developers, and though
there are some interactive functions, much of the power of the library lies
away from the user.

This package started off to implement libmpdclient.c, which came with mpd, in
elisp. But as it stands of now, this package is not an exact translation.
Notable amongst the deviations are -

     - This package contains quite a bit of higher level functionality as
     compared with the original. An action or a query needs only a single
     call and the library user can choose to get either the raw response, the
     formatted response, or hook on a callback for each logical token of the
     response. However, dig deeper, and you will find the lower level
     functionality available as well.
     - The error throwing scheme consistent with what is expected of elisp
     programs.
     - Command list mode is transparent in most cases, as wherever
     appropriate, functions taking arguments can accept either a single item
     or a list of it for each argument.
     - Apart from this, command list functionality is limited to actions
     rather than queries, as it is anyway not that easy to parse out the
     individual responses from command-list queries (it is firstly possible
     only from 0.11, which allows for a list_OK to be added at the end of
     response for each command in the list).
     - command_list_ok_begin isn't implemented. It is still possible to
     explicitly use "command_list_(ok)begin\n..\ncommand_list_end" for
     `mpd-execute-command' and get the response tokens for queries. A better
     interface may be available in the future.
     - There is a small interactive interface as well, but this is
     intentionally incomplete. The point is that this exists only to the
     extent of adding an interactive part to the functions, without modifying
     the functions per se.

Most of the functions below require a connection object as an argument, which
you can create by a call to `mpd-conn-new'. The recommended way to use
customization to choose parameters for mpd connections is to use the widget
`mpd-connection'.

As this package caters to developers, it should be helpful to browse the file
in order for atleast the functions and the documentation. The file is well
structured and documented, so go for it. The impatient could do a selective
display to 3 (C-u 3 C-x $) before proceeding.

Dependencies

Reverse dependencies