taglib deprecated removeField internally in [1], but did not add the
deprecation warning until about four years later. The original bug
report [2] and pull request commit both mention not wanting to change
the original method's behaviour, but this was done anyway (perhaps by
mistake) in [3].
With that change, removeField(type) will not remove all tags of the
given type anymore, as the default for value has changed from
String::null to String().
This commit replaces explicit calls to removeField(type) with
removeFields(type), which has the correct behaviour. In writeXiph,
removeField is removed entirely, as addField(key, value) will replace
the tag by default.
[1] https://github.com/taglib/taglib/pull/681
[2] https://github.com/taglib/taglib/issues/651
[3] c05fa78406
NCurses Music Player Client (Plus Plus)
Project page - http://rybczak.net/ncmpcpp/
ncmpcpp – featureful ncurses based MPD client inspired by ncmpc
Main features:
- tag editor
- playlist editor
- easy to use search engine
- media library
- music visualizer
- ability to fetch artist info from last.fm
- new display mode
- alternative user interface
- ability to browse and add files from outside of MPD music directory …and a lot more minor functions.
Dependencies:
- boost library [https://www.boost.org/]
- ncurses library [http://www.gnu.org/software/ncurses/ncurses.html]
- readline library [https://tiswww.case.edu/php/chet/readline/rltop.html]
- curl library (optional, required for fetching lyrics and last.fm data) [https://curl.haxx.se/]
- fftw library (optional, required for frequency spectrum music visualization mode) [http://www.fftw.org/]
- tag library (optional, required for tag editing) [https://taglib.org/]
Known issues:
- No full support for handling encodings other than UTF-8.
Installation:
The simplest way to compile this package is:
cdto the directory containing the package's source code.
For the next two commands, csh users will need to prefix them with
sh .
-
Run
./autogen.shto generate theconfigurescript. -
Run
./configureto configure the package for your system. This will take a while. While running, it prints some messages telling which features it is checking for. -
Run
maketo compile the package. -
Type
make installto install the programs and any data files and documentation. -
You can remove the program binaries and object files from the source code directory by typing
make clean.
Detailed intallation instructions can be found in the INSTALL file.
Optional features:
Optional features can be enable by specifying them during configure. For
example, to enable visualizer run ./configure --enable-visualizer.
Additional details can be found in the INSTALL file.