101 lines
3.1 KiB
Plaintext
101 lines
3.1 KiB
Plaintext
nncmpp
|
|
======
|
|
|
|
'nncmpp' is yet another MPD client. It is in effect a simplified TUI version
|
|
of Sonata. I had already written a lot of the required code before, so I had
|
|
the perfect opportunity to get rid of the unmaintained Python application and
|
|
make the first TUI client that doesn't feel awkward to use.
|
|
|
|
If it's not obvious enough, the name is a pun on all those ridiculous client
|
|
names, and should be pronounced as "nincompoop".
|
|
|
|
Features
|
|
--------
|
|
Currently it's still under development but it's already useful enough for me
|
|
to use it exclusively. Note that since I only use the filesystem browsing mode,
|
|
that's also the only thing I care to implement for the time being.
|
|
|
|
image::nncmpp.png[align="center"]
|
|
|
|
Packages
|
|
--------
|
|
Regular releases are sporadic. git master should be stable enough. You can get
|
|
a package with the latest development version from Archlinux's AUR.
|
|
|
|
Building and Running
|
|
--------------------
|
|
Build dependencies: CMake, pkg-config, help2man, liberty (included),
|
|
termo (included) +
|
|
Runtime dependencies: ncursesw, libunistring, cURL
|
|
|
|
$ git clone --recursive https://git.janouch.name/p/nncmpp.git
|
|
$ mkdir nncmpp/build
|
|
$ cd nncmpp/build
|
|
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug
|
|
$ make
|
|
|
|
To install the application, you can do either the usual:
|
|
|
|
# make install
|
|
|
|
Or you can try telling CMake to make a package for you. For Debian it is:
|
|
|
|
$ cpack -G DEB
|
|
# dpkg -i nncmpp-*.deb
|
|
|
|
Note that for versions of CMake before 2.8.9, you need to prefix `cpack` with
|
|
`fakeroot` or file ownership will end up wrong.
|
|
|
|
Having the program installed, create a configuration file and run it.
|
|
|
|
Configuration
|
|
-------------
|
|
Create _~/.config/nncmpp/nncmpp.conf_ with contents like the following:
|
|
|
|
....
|
|
settings = {
|
|
address = "localhost:6600"
|
|
password = "<your password>"
|
|
root = "~/Music"
|
|
}
|
|
colors = {
|
|
normal = ""
|
|
highlight = "bold"
|
|
elapsed = "reverse"
|
|
remains = "ul"
|
|
tab_bar = "reverse"
|
|
tab_active = "ul"
|
|
even = ""
|
|
odd = ""
|
|
selection = "reverse"
|
|
scrollbar = ""
|
|
}
|
|
streams = {
|
|
"dnbradio.com" = "http://www.dnbradio.com/hi.m3u"
|
|
"BassDrive.com" = "http://bassdrive.com/v2/streams/BassDrive.pls"
|
|
}
|
|
....
|
|
|
|
Terminal caveats
|
|
----------------
|
|
This application aspires to be as close to a GUI as possible. It expects you
|
|
to use the mouse (though it's not required). Terminals are, however, somewhat
|
|
tricky to get consistent results on, so be aware of the following:
|
|
|
|
- use a UTF-8 locale to get finer resolution progress bars and scrollbars
|
|
- Xterm needs `XTerm*metaSendsEscape: true` for the default bindings to work
|
|
- urxvt's 'vtwheel' plugin sabotages scrolling
|
|
|
|
Contributing and Support
|
|
------------------------
|
|
Use https://git.janouch.name/p/nncmpp to report any bugs, request features,
|
|
or submit pull requests. `git send-email` is tolerated. If you want to discuss
|
|
the project, feel free to join me at ircs://irc.janouch.name, channel #dev.
|
|
|
|
Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9
|
|
|
|
License
|
|
-------
|
|
This software is released under the terms of the 0BSD license, the text of which
|
|
is included within the package along with the list of authors.
|