experience using emms

background

One of the things I have always found as a problem is staying awake when sitting for a long period of time. I know several people do it by frequently drinking coffee, likely for the caffeine it provides. However, I do not want to develop a dependence or tolerance of caffeine or any other drug for that matter. And so I have been looking into natural ways to stay awake. One of these is to just listen to music. This got me back into using emms, a multimedia player for Emacs.

setup

I followed its manual page and added the music from my music directory with emms-add-directory1. Although it is possible to do it interactively, I choose to do it via eshell.

/m/h/a/Music λ (emms-add-directory (eshell/pwd))

track keeps repeating in playlist

I had the impression when a track in the playlist finishes the next track starts. And the manual seems to agree with me when it says that: that "Emms [should]" proceed "to play the media tracks in the buffer from top to bottom until the end of the playlist". Instead emms just repeats the current track forever. I even checked if the setting for repeating the same track, emms-repeat-track, is disabled; and it was.

According to this reddit post this happens because of the default configuration of the specific player. To fix this for mpv you specify the --no-config flag for the emms command via emms-player-mpv-parameters. In the posts many other flags were also added which I (maybe irrationally) just copied as well.

(setopt emms-player-list '(emms-player-mpv))
(setopt emms-player-mpv-parameters (list "--quiet"
                                         "--really-quiet"
                                         "--no-config"
                                         "--no-audio-display"
                                         "--force-window=no"
                                         "--vo=null"))

invisible emms buffer

The emms buffer is invisible. Despite being mentioned in the documentation, it was still surprising to me. I expected to be able to access it with switch-to-buffer but instead had to exclusively use emms-playlist-mode-go. This happens because the default emms-playlist-buffer-name is set to a buffer whose name starts with a space, " EMMS Playlist" making it "invisible". I forgot about being able to do this in Emacs. The easy fix is to just rename it to the same thing but without the initial space.

(setopt emms-playlist-buffer-name "*EMMS Playlist*")

playing random songs

I like playing random songs but I do not necessarily like using emms-random which moves point to a random track in the playlist. The thing is I prefer no repeats and using emms-random can result jumping to the same track again. Instead, a clever way of achieving the same result is to use emms-shuffle and to just go down the songs one by one.

general configuring of Emacs packages

This experience is telling about generally configuring Emacs packages. Very often compared to apps in real life Emacs packages might have a less "refined" out of the box experience. And you will encounter things you do not expect, sometimes with even basic functionality even after following the manual. More often than not the package does work but some time needs to be invested to understand it.

Footnotes:

1

Technically in the manual emms-add-directory-tree was used, but no big deal.