'cmus.el' - A Simple Emacs Mode To (Remotely) Control The Cmus Audio Player (MacOS, Linux)

The mode is completely documented in the 'cmus.el' elisp file, from which I cite the relevant part here:

Overview
--------
  cmus.el provides a simple interface for cmus, the C* music player.
  It allows to control the basics, i.e. start, stop, pause, previous track,
  next track, status of cmus player, lyrics for the currently playing track
  and a possibility to look up the lyrics of a song, given artist and title
  of the song.
  It provides this basic functionality either on the local machine with cmus
  and Emacs running, or on a remote machine issuing the cmus commands via ssh.
  The main scenario is to remote control cmus from within a virtual machine
  running on the local machine.  You don't have to leave the virtual machine
  in order to control cmus.  No distractions only to mute the sound or to go
  on to the next track.

Prerequisites
--------------
  * Local machine
  ** cmus installed, any version will do
  ** sshd installed if you plan to use it remotely, i.e. from a virtual machine
  ** Script to retrieve the lyrics from the internet, say ~/bin/lyrics-cmus.sh
  * Remote machine
  ** ssh public-key authentication to localhost configured
 
Configuration of cmus
---------------------
  On cmus command line:
  :set status_display_program=/path/to/program/cmus-artist-title.sh
  To make this permanent, add the line above to your ~/.cmus/rc
  cmus-artist-title.sh writes the current cmus status
  (artist, track title, etc.) to a defined file, say ~/cmus-status.txt.

Configuration of cmus.el
------------------------
  cmus.el support the Emacs Custom interface invoked with 'M-x customize'.
  cmus is located in the subgroups 'Application/cmus' and 'Multimedia/cmus', respectively.
  The entries there are self-explanatory, really, believe me 8-) .
  The parameter 'Cmus Lyrics Command' is the full path to a script/program which retrieves
  the lyrics of the currently playing track.  It reads this information from cmus-status.txt.
  Alternatively, the script accepts two parameters, 'artist' and 'title',
  for example 'Beatles yesterday'.

cmus.el buffer
--------------
  Messages returned to Emacs are logged into buffer *CMUS-Shell-Output*.
  If things go awry, look there for a clue what went wrong.

Configuration of ~/.emacs
-------------------------
  In order to load cmus.el at startup, add the following line to ~/.emacs:
  (load-file "~/bin/emacs/cmus.el")

The Emacs mode can be downloaded here. Make sure you are going to check its authenticity with gpg using its signature. You can find an example for a script retrieving the lyrics of a song, i.e. 'lyrics-cmus.sh' here.

An Example Customization For Remote Access To Cmus

Below you can see an example customization for the remote access to a cmus instance. In the example, cmus is running on the host 'iMac' and Emacs is running on the host 'sbcl'. The cmus commands are issued via ssh from host 'sbcl' to host 'iMac' using the default ssh port 22.
Emacs 24 cmus customize buffer