2020-10-26 13:24:46 +01:00
|
|
|
nncmpp(1)
|
|
|
|
=========
|
|
|
|
:doctype: manpage
|
|
|
|
:manmanual: nncmpp Manual
|
|
|
|
:mansource: nncmpp {release-version}
|
|
|
|
|
|
|
|
Name
|
|
|
|
----
|
2022-08-18 01:43:41 +02:00
|
|
|
nncmpp - MPD client
|
2020-10-26 13:24:46 +01:00
|
|
|
|
|
|
|
Synopsis
|
|
|
|
--------
|
2021-09-07 06:26:00 +02:00
|
|
|
*nncmpp* [_OPTION_]... [_URL_ | _PATH_]...
|
2020-10-26 13:24:46 +01:00
|
|
|
|
|
|
|
Description
|
|
|
|
-----------
|
2022-08-18 01:43:41 +02:00
|
|
|
*nncmpp* is a hybrid terminal/X11 MPD client. On start up it will welcome
|
2020-10-26 13:24:46 +01:00
|
|
|
you with an overview of all key bindings and the actions they're assigned to.
|
|
|
|
Individual tabs can be switched to either using the mouse or by pressing *M-1*
|
|
|
|
through *M-9*, corresponding to the order they appear in.
|
|
|
|
|
2021-09-07 06:26:00 +02:00
|
|
|
As a convenience utility, any program arguments are added to the MPD queue.
|
|
|
|
Note that to add files outside the database, you need to connect to MPD using
|
|
|
|
a socket file.
|
|
|
|
|
2020-10-26 13:24:46 +01:00
|
|
|
Options
|
|
|
|
-------
|
|
|
|
*-d*, *--debug*::
|
|
|
|
Adds a "Debug" tab showing all MPD communication and other information
|
|
|
|
that help debug various issues.
|
|
|
|
|
2022-08-18 01:43:41 +02:00
|
|
|
*-x*, *--x11*::
|
|
|
|
Use an X11 interface even when run from a terminal.
|
|
|
|
Note that the application may be built with this feature disabled.
|
|
|
|
|
2020-10-26 13:24:46 +01:00
|
|
|
*-h*, *--help*::
|
|
|
|
Display a help message and exit.
|
|
|
|
|
|
|
|
*-V*, *--version*::
|
|
|
|
Output version information and exit.
|
|
|
|
|
|
|
|
Configuration
|
|
|
|
-------------
|
2021-11-07 15:47:41 +01:00
|
|
|
Unless you run MPD on a remote machine, on an unusual port, protected by
|
|
|
|
a password, or only accessible through a Unix socket, the client doesn't need
|
|
|
|
a configuration file to work. It is, however, likely that you'll want to
|
|
|
|
customize the looks or add some streams. You can start off with the following
|
|
|
|
snippet:
|
2020-10-26 13:24:46 +01:00
|
|
|
|
|
|
|
....
|
|
|
|
settings = {
|
2021-11-16 05:15:52 +01:00
|
|
|
address = "~/.mpd/mpd.socket"
|
|
|
|
password = "<your password>"
|
|
|
|
pulseaudio = on
|
2022-08-18 01:43:41 +02:00
|
|
|
x11_font = "sans\\-serif-11"
|
2020-10-26 13:24:46 +01:00
|
|
|
}
|
|
|
|
colors = {
|
2021-11-16 05:15:52 +01:00
|
|
|
normal = ""
|
|
|
|
highlight = "bold"
|
|
|
|
elapsed = "reverse"
|
|
|
|
remains = "ul"
|
|
|
|
tab_bar = "reverse"
|
|
|
|
tab_active = "ul"
|
|
|
|
even = ""
|
|
|
|
odd = ""
|
|
|
|
selection = "reverse"
|
|
|
|
multiselect = "-1 6"
|
|
|
|
defocused = "ul"
|
|
|
|
scrollbar = ""
|
2020-10-26 13:24:46 +01:00
|
|
|
}
|
|
|
|
streams = {
|
2024-02-27 00:30:39 +01:00
|
|
|
"dnbradio.com" = "https://dnbradio.com/hi.pls"
|
2021-11-16 05:15:52 +01:00
|
|
|
"BassDrive.com" = "http://bassdrive.com/v2/streams/BassDrive.pls"
|
2020-10-26 13:24:46 +01:00
|
|
|
}
|
|
|
|
....
|
|
|
|
|
2022-08-18 01:43:41 +02:00
|
|
|
Terminal attributes also apply to the GUI, and are accepted in a format similar
|
|
|
|
to that of *git-config*(1), only named colours aren't supported.
|
|
|
|
The distribution contains example colour schemes in the _contrib_ directory.
|
2020-10-26 13:24:46 +01:00
|
|
|
|
|
|
|
// TODO: it seems like liberty should contain an includable snippet about
|
|
|
|
// the format, which could form a part of nncmpp.conf(5).
|
|
|
|
|
2022-09-12 20:02:57 +02:00
|
|
|
To adjust key bindings, put them within a *normal* or *editor* object.
|
|
|
|
Run *nncmpp* with the *--debug* option to find out key combinations names.
|
|
|
|
Press *?* in the help tab to learn the action identifiers to use.
|
|
|
|
|
2024-10-31 06:49:40 +01:00
|
|
|
You may also define and bind your own actions, launching arbitrary
|
|
|
|
shell commands. Note that you cannot override internal actions in this manner.
|
|
|
|
|
|
|
|
....
|
|
|
|
actions = {
|
|
|
|
"pioneer-on-off" = {
|
|
|
|
description = "Pioneer amplifier: turn on/off"
|
|
|
|
command = "elksmart-comm --nec A538"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
....
|
|
|
|
|
2021-07-03 23:58:05 +02:00
|
|
|
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 = {
|
2021-11-16 05:15:52 +01:00
|
|
|
...
|
|
|
|
spectrum_path = "~/.mpd/mpd.fifo" # "path"
|
|
|
|
spectrum_format = "44100:16:2" # "format" (samplerate:bits:channels)
|
|
|
|
spectrum_bars = 8 # beware of exponential complexity
|
|
|
|
...
|
2021-07-03 23:58:05 +02:00
|
|
|
}
|
|
|
|
....
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2021-11-16 04:46:46 +01:00
|
|
|
PulseAudio
|
|
|
|
----------
|
|
|
|
If you find standard MPD volume control useless, you may instead configure
|
|
|
|
*nncmpp* to show and control the volume of any PulseAudio sink MPD is currently
|
|
|
|
connected to.
|
|
|
|
|
|
|
|
This feature may be enabled with the *settings.pulseaudio* configuration option,
|
|
|
|
as in the snippet above. To replace the default volume control bindings, use:
|
|
|
|
|
|
|
|
....
|
|
|
|
normal = {
|
2023-05-30 15:15:20 +02:00
|
|
|
"+" = "pulse-volume-up"
|
|
|
|
"-" = "pulse-volume-down"
|
2021-11-16 04:46:46 +01:00
|
|
|
}
|
|
|
|
....
|
|
|
|
|
|
|
|
The respective actions may also be invoked from the help tab directly.
|
|
|
|
|
|
|
|
For this to work, *nncmpp* needs to access the right PulseAudio daemon--in case
|
|
|
|
your setup is unusual, consult the list of environment variables in
|
|
|
|
*pulseaudio*(1). MPD-compatibles are currently unsupported.
|
|
|
|
|
2022-09-20 12:24:00 +02:00
|
|
|
Info plugins
|
|
|
|
------------
|
|
|
|
You can invoke various plugins from the Info tab, for example to look up
|
|
|
|
song lyrics.
|
|
|
|
|
|
|
|
Plugins can be arbitrary scripts or binaries. When run without command line
|
|
|
|
arguments, a plugin outputs a user interface description of what it does.
|
|
|
|
When invoked by a user, it receives the following self-explanatory arguments:
|
|
|
|
_TITLE_ _ARTIST_ [_ALBUM_], and anything it writes to its standard output
|
|
|
|
or standard error stream is presented back to the user. Here, bold and italic
|
|
|
|
formatting can be toggled with ASCII control characters 1 (SOH) and 2 (STX),
|
|
|
|
respectively. Otherwise, all input and output makes use of the UTF-8 encoding.
|
|
|
|
|
2020-10-26 13:24:46 +01:00
|
|
|
Files
|
|
|
|
-----
|
|
|
|
*nncmpp* follows the XDG Base Directory Specification.
|
|
|
|
|
|
|
|
_~/.config/nncmpp/nncmpp.conf_::
|
|
|
|
The configuration file.
|
|
|
|
|
2022-09-20 12:24:00 +02:00
|
|
|
_~/.local/share/nncmpp/info/_::
|
|
|
|
_/usr/local/share/nncmpp/info/_::
|
|
|
|
_/usr/share/nncmpp/info/_::
|
|
|
|
Info plugins are loaded from these directories, in order,
|
|
|
|
then listed lexicographically.
|
|
|
|
Only the first occurence of a particular filename is used,
|
|
|
|
and empty files act as silent disablers.
|
|
|
|
|
2020-10-26 13:24:46 +01:00
|
|
|
Reporting bugs
|
|
|
|
--------------
|
|
|
|
Use https://git.janouch.name/p/nncmpp to report bugs, request features,
|
|
|
|
or submit pull requests.
|
|
|
|
|
|
|
|
See also
|
|
|
|
--------
|
2021-11-16 04:46:46 +01:00
|
|
|
*mpd*(1), *pulseaudio*(1)
|