From a439a56ee9c4cbf92817bd5bd1c89c59c4e5964b Mon Sep 17 00:00:00 2001
From: Přemysl Eric Janouch <p@janouch.name>
Date: Sat, 3 Jul 2021 23:58:05 +0200
Subject: Add an optional spectrum visualiser

This is really more of a demo.  It's doable, just rather ugly.

It would deserve some further tuning, if anyone cared enough.
---
 nncmpp.adoc | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

(limited to 'nncmpp.adoc')

diff --git a/nncmpp.adoc b/nncmpp.adoc
index fd4f888..0909dd3 100644
--- a/nncmpp.adoc
+++ b/nncmpp.adoc
@@ -55,6 +55,7 @@ colors = {
 	odd         = ""
 	selection   = "reverse"
 	multiselect = "-1 6"
+	defocused   = "ul"
 	scrollbar   = ""
 }
 streams = {
@@ -70,6 +71,27 @@ schemes in the _contrib_ directory.
 // TODO: it seems like liberty should contain an includable snippet about
 //   the format, which could form a part of nncmpp.conf(5).
 
+Spectrum visualiser
+-------------------
+When built against the FFTW library, *nncmpp* can make use of MPD's "fifo"
+output plugin to show the audio spectrum.  This has some caveats, namely that
+it may not be properly synchronized, only one instance of a client can read from
+a given named pipe at a time, it will cost you some CPU time, and finally you'll
+need to set it up manually to match your MPD configuration, e.g.:
+
+....
+settings = {
+	...
+	spectrum_path = "~/.mpd/mpd.fifo"  # "path"
+	spectrum_format = "44100:16:2"     # "format" (samplerate:bits:channels)
+	spectrum_bars = 8                  # beware of exponential complexity
+	...
+}
+....
+
+The sample rate should be greater than 40 kHz, the number of bits 8 or 16,
+and the number of channels doesn't matter, as they're simply averaged together.
+
 Files
 -----
 *nncmpp* follows the XDG Base Directory Specification.
-- 
cgit v1.3.1

