Add visualizer_spectrum_gain option to a configuration file

This commit is contained in:
Andrzej Rybczak
2020-12-13 18:04:32 +01:00
parent 2f07252ed9
commit 261b23266d
6 changed files with 17 additions and 4 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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<<MIN_DFT_SIZE),
DYNAMIC_RANGE(100),
DYNAMIC_RANGE(100-Config.visualizer_spectrum_gain),
HZ_MIN(Config.visualizer_spectrum_hz_min),
HZ_MAX(Config.visualizer_spectrum_hz_max),
GAIN(0),
GAIN(Config.visualizer_spectrum_gain),
SMOOTH_CHARS(ToWString("▁▂▃▄▅▆▇█"))
#endif
{

View File

@@ -301,6 +301,12 @@ bool Configuration::read(const std::vector<std::string> &config_paths, bool igno
boundsCheck<uint32_t>(result, 0, 4);
return result + 14;
});
p.add("visualizer_spectrum_gain", &visualizer_spectrum_gain,
"20", [](std::string v) {
auto result = verbose_lexical_cast<double>(v);
boundsCheck<double>(result, 0, 100);
return result;
});
p.add("visualizer_spectrum_hz_min", &visualizer_spectrum_hz_min,
"20", [](std::string v) {
auto result = verbose_lexical_cast<double>(v);

View File

@@ -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;