Use private area Unicode for spectrum visualizer

Please note this will work properly only with my patched terminus font
available at

squash
wilder
Jacopo De Simoi 9 months ago
parent cb3e1f6791
commit 8d9612c45a
  1. 11
      src/screens/visualizer.cpp
  2. 2
      src/screens/visualizer.h

@ -83,8 +83,8 @@ Visualizer::Visualizer()
HZ_MIN(Config.visualizer_spectrum_hz_min),
HZ_MAX(Config.visualizer_spectrum_hz_max),
GAIN(Config.visualizer_spectrum_gain),
SMOOTH_CHARS(ToWString("▁▂▃▄▅▆▇█")),
SMOOTH_CHARS_FLIPPED(ToWString("▔🮂🮃🮄🬎🮅🮆█")) // https://unicode.org/charts/PDF/U1FB00.pdf
SMOOTH_CHARS(ToWString("")),
SMOOTH_CHARS_FLIPPED(ToWString(""))
#endif
{
InitDataSource();
@ -535,12 +535,7 @@ void Visualizer::DrawFrequencySpectrum(const int16_t *buf, ssize_t samples, size
} else {
// fractional height
if (flipped) {
if (Config.visualizer_spectrum_smooth_look_legacy_chars) {
ch = SMOOTH_CHARS_FLIPPED[idx];
} else {
ch = SMOOTH_CHARS[size-idx-2];
color = NC::FormattedColor(color.color(), {NC::Format::Reverse});
}
ch = SMOOTH_CHARS_FLIPPED[idx];
} else {
ch = SMOOTH_CHARS[idx];
}

@ -116,7 +116,7 @@ private:
const double HZ_MAX;
const double GAIN;
const std::wstring SMOOTH_CHARS;
const std::wstring SMOOTH_CHARS_FLIPPED;
const std::wstring SMOOTH_CHARS_FLIPPED;
std::vector<double> m_dft_freqspace;
std::vector<std::pair<size_t, double>> m_bar_heights;

Loading…
Cancel
Save