visualizer: properly skip frequency spectrum mode without fftw

This commit is contained in:
Andrzej Rybczak
2014-10-26 23:42:52 +01:00
parent c45bd4b43e
commit 33c8eea7c0
3 changed files with 19 additions and 1 deletions

View File

@@ -148,9 +148,11 @@ std::ostream &operator<<(std::ostream& os, VisualizerType vt)
case VisualizerType::WaveFilled:
os << "sound wave filled";
break;
# ifdef HAVE_FFTW3_H
case VisualizerType::Spectrum:
os << "frequency spectrum";
break;
# endif // HAVE_FFTW3_H
case VisualizerType::Ellipse:
os << "sound ellipse";
break;
@@ -166,8 +168,10 @@ std::istream &operator>>(std::istream& is, VisualizerType &vt)
vt = VisualizerType::Wave;
else if (svt == "wave_filled")
vt = VisualizerType::WaveFilled;
# ifdef HAVE_FFTW3_H
else if (svt == "spectrum")
vt = VisualizerType::Spectrum;
# endif // HAVE_FFTW3_H
else if (svt == "ellipse")
vt = VisualizerType::Ellipse;
else

View File

@@ -21,6 +21,7 @@
#ifndef NCMPCPP_ENUMS_H
#define NCMPCPP_ENUMS_H
#include "config.h"
#include <iostream>
enum class SpaceAddMode { AddRemove, AlwaysAdd };
@@ -39,7 +40,14 @@ enum class Design { Classic, Alternative };
std::ostream &operator<<(std::ostream &os, Design ui);
std::istream &operator>>(std::istream &is, Design &ui);
enum class VisualizerType { Wave, WaveFilled, Spectrum, Ellipse };
enum class VisualizerType {
Wave,
WaveFilled,
# ifdef HAVE_FFTW3_H
Spectrum,
# endif // HAVE_FFTW3_H
Ellipse
};
std::ostream &operator<<(std::ostream &os, VisualizerType vt);
std::istream &operator>>(std::istream &is, VisualizerType &vt);

View File

@@ -195,11 +195,17 @@ void Visualizer::spacePressed()
Config.visualizer_type = VisualizerType::WaveFilled;
break;
case VisualizerType::WaveFilled:
# ifdef HAVE_FFTW3_H
Config.visualizer_type = VisualizerType::Spectrum;
# else
Config.visualizer_type = VisualizerType::Ellipse;
# endif // HAVE_FFTW3_H
break;
# ifdef HAVE_FFTW3_H
case VisualizerType::Spectrum:
Config.visualizer_type = VisualizerType::Ellipse;
break;
# endif // HAVE_FFTW3_H
case VisualizerType::Ellipse:
Config.visualizer_type = VisualizerType::Wave;
break;