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

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

Loading…
Cancel
Save