Display EMMS track info in the mode line

Alex Kost 7793030022 Update version (0.2) 8 lat temu
.gitignore 295403e986 gitignore: Ignore "autoloads" file 8 lat temu
README.org 4e1e275051 README: Rename badges for "emms-state" package 8 lat temu
emms-state.el 7793030022 Update version (0.2) 8 lat temu

README.org

file:https://img.shields.io/badge/license-GPL_3-orange.svg file:http://melpa.org/packages/emms-state-badge.svg file:http://stable.melpa.org/packages/emms-state-badge.svg

About

This package provides a minor mode (emms-state-mode) for displaying description and playing time of the current track played by EMMS in the mode line. It is intended to be used as a substitution for =emms-playing-time= and emms-mode-line modes.

There are 2 main differences between emms-state-mode and =emms-playing-time= + emms-mode-line modes:

  1. emms-state-mode displays an additional symbol (⏵/⏸/⏹ by default)
  2. to show if the current track is being played/paused/stopped.
  1. If a track is more than an hour long, its playing time would be
  2. displayed in a form H:MM:SS instead of MM:SS.

For example, emms-state-mode will display a paused track like this:

⏸ 1:42:37(3:31:05) John Smith - My very long and boring song

While with emms-playing-time + emms-mode-line modes, it will be:

John Smith - My very long and boring song 102:37/211:05

And of course the default displayed string may be customized (see =emms-state-mode-line-string= variable).

Installation

Automatic

MELPA

This package can be installed from MELPA (with M-x package-install or =M-x list-packages=).

Quelpa

The package can be installed using quelpa like this:


(quelpa '(emms-state :fetcher github :repo "alezost/emms-state.el"))

Manual

For the manual installation, clone the repo, add the directory to =load-path= and add an autoload for the minor mode:


(add-to-list 'load-path "/path/to/emms-state-dir")
(autoload 'emms-state-mode "emms-state" nil t)

Usage

Simply M-x emms-state-mode, but make sure that emms-mode-line mode is disabled to avoid double title in your mode-line.

To enable emms-state-mode automatically, you may use:


(eval-after-load 'emms '(emms-state-mode))