diff --git a/CHANGELOG.md b/CHANGELOG.md index 197ad5a6..82b76aea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,8 +16,9 @@ * Add `media_library_hide_album_dates` option to a configuration file. * Improve look of the frequency spectrum visualizer. * Add `visualizer_spectrum_smooth_look`, `visualizer_spectrum_dft_size`, - `visualizer_spectrum_hz_min` and `visualizer_spectrum_hz_max` options to a - configuration file for controlling the look of the new spectrum visualizer. + `visualizer_spectrum_gain`, `visualizer_spectrum_hz_min` and + `visualizer_spectrum_hz_max` options to a configuration file for controlling + the look of the new spectrum visualizer. * Add `visualizer_autoscale` option to a configuration file. * Allow for editing multiple titles in the Tag Editor. * Allow setting `visualizer_sync_interval` to 0 (a new default) to disable diff --git a/doc/config b/doc/config index 7706d052..517672de 100644 --- a/doc/config +++ b/doc/config @@ -111,6 +111,8 @@ # #visualizer_spectrum_dft_size = 2 # +#visualizer_spectrum_gain = 20 +# ## Left-most frequency of visualizer in Hz, must be less than HZ MAX # #visualizer_spectrum_hz_min = 20 diff --git a/doc/ncmpcpp.1 b/doc/ncmpcpp.1 index 97c6ed25..b3740b52 100644 --- a/doc/ncmpcpp.1 +++ b/doc/ncmpcpp.1 @@ -109,6 +109,9 @@ For spectrum visualizer, use unicode block characters for a smoother, more conti .B visualizer_spectrum_dft_size = NUMBER For spectrum visualizer, a value between 0 and 4 inclusive. Specifying a larger value makes the visualizer look at a larger slice of time, which results in less jumpy visualizer output. .TP +.B visualizer_spectrum_gain = dB +Gain for spectrum visualizer in dB, larger/smaller values shift bars up/down. +.TP .B visualizer_spectrum_hz_min = Hz For spectrum visualizer, left-most frequency of visualizer, must be less than HZ MAX. .TP diff --git a/src/screens/visualizer.cpp b/src/screens/visualizer.cpp index 417c5326..1a146398 100644 --- a/src/screens/visualizer.cpp +++ b/src/screens/visualizer.cpp @@ -75,10 +75,10 @@ Visualizer::Visualizer() , DFT_NONZERO_SIZE(1 << Config.visualizer_spectrum_dft_size), DFT_TOTAL_SIZE(Config.visualizer_spectrum_dft_size >= MIN_DFT_SIZE ? 1 << (Config.visualizer_spectrum_dft_size) : 1< &config_paths, bool igno boundsCheck(result, 0, 4); return result + 14; }); + p.add("visualizer_spectrum_gain", &visualizer_spectrum_gain, + "20", [](std::string v) { + auto result = verbose_lexical_cast(v); + boundsCheck(result, 0, 100); + return result; + }); p.add("visualizer_spectrum_hz_min", &visualizer_spectrum_hz_min, "20", [](std::string v) { auto result = verbose_lexical_cast(v); diff --git a/src/settings.h b/src/settings.h index e361d894..c171a9b1 100644 --- a/src/settings.h +++ b/src/settings.h @@ -85,6 +85,7 @@ struct Configuration bool visualizer_autoscale; bool visualizer_spectrum_smooth_look; uint32_t visualizer_spectrum_dft_size; + double visualizer_spectrum_gain; double visualizer_spectrum_hz_min; double visualizer_spectrum_hz_max;