Use log scale for visualizer (#397)
* Visualizer: use log scale - log scale frequency and gain - Hamming windowing - improve reading from fifo * Fix Visualizer memory leaks * Visualizer: use Blackman window * Visualizer: support DFT zero padding * Visualizer: support fractional height bars, fix fifo read * Revert "Fix Visualizer memory leaks" This reverts commit 5c6509d2b8ed985a4928f681217dc8616d053ace. * Visualizer: fix fifo read again * Visualizer: add cubic interpolation option * Visualizer: Expose more config options, add docs for config options * Visualizer: Use reverse video text for stereo visualizer smooth look * Visualizer: use FormattedColor to for reverse-video * Visualizer: change some config options for spectrum * Fix build fftw disabled * Visualizer: use [0,5] interval for dft_size config option
This commit is contained in:
@@ -291,6 +291,26 @@ bool Configuration::read(const std::vector<std::string> &config_paths, bool igno
|
||||
boundsCheck<std::wstring::size_type>(result.size(), 2, 2);
|
||||
return result;
|
||||
});
|
||||
p.add("visualizer_autoscale", &visualizer_autoscale, "yes", yes_no);
|
||||
p.add("visualizer_spectrum_smooth_look", &visualizer_spectrum_smooth_look, "yes", yes_no);
|
||||
p.add("visualizer_spectrum_dft_size", &visualizer_spectrum_dft_size,
|
||||
"12", [](std::string v) {
|
||||
uint32_t result = verbose_lexical_cast<uint32_t>(v);
|
||||
boundsCheck<uint32_t>(result, 0, 5);
|
||||
return result + 12;
|
||||
});
|
||||
p.add("visualizer_spectrum_hz_min", &visualizer_spectrum_hz_min,
|
||||
"20", [](std::string v) {
|
||||
auto result = verbose_lexical_cast<double>(v);
|
||||
lowerBoundCheck<double>(result, 1);
|
||||
return result;
|
||||
});
|
||||
p.add("visualizer_spectrum_hz_max", &visualizer_spectrum_hz_max,
|
||||
"20000", [](std::string v) {
|
||||
auto result = verbose_lexical_cast<double>(v);
|
||||
lowerBoundCheck<double>(result, Config.visualizer_spectrum_hz_min+1);
|
||||
return result;
|
||||
});
|
||||
p.add("visualizer_color", &visualizer_colors,
|
||||
"blue, cyan, green, yellow, magenta, red", list_of<NC::FormattedColor>);
|
||||
p.add("system_encoding", &system_encoding, "", [](std::string encoding) {
|
||||
|
||||
Reference in New Issue
Block a user