MusicSpectrum  1.0.0
render.hpp
Vá para a documentação desse arquivo.
1 #pragma once
2 
3 #include "FFT/fft.hpp"
4 #include "HUD/hud.hpp"
5 #include "Spectrum/spectrum.hpp"
7 
8 using namespace std::chrono;
9 
18 class Render {
19  private:
20  const int FPS = 60;
21  const double frame_duration = 1.0 / FPS;
22 
23  sf::Clock clock;
24 
25  std::shared_ptr<sf::RenderWindow> window;
26  std::shared_ptr<sf::VideoMode> desktop;
27 
28  std::shared_ptr<HUD> hud_ptr;
29  std::shared_ptr<Spectrum> spectrum_ptr;
30  std::shared_ptr<FFT<sf::Int16>> fft_ptr;
31  std::shared_ptr<Spectrum3D> spectrum3D_ptr;
32 
33  void handlePlot(std::vector<Float_Complex> spectrum,
34  std::size_t fft_size);
35  void frameRate(time_point<high_resolution_clock> &prev_time);
36 
37  public:
38  void run();
39  Render();
40  ~Render();
41 };
Definition: render.hpp:18
std::shared_ptr< HUD > hud_ptr
Definition: render.hpp:28
std::shared_ptr< FFT< sf::Int16 > > fft_ptr
Definition: render.hpp:30
std::shared_ptr< Spectrum > spectrum_ptr
Definition: render.hpp:29
sf::Clock clock
Definition: render.hpp:23
std::shared_ptr< Spectrum3D > spectrum3D_ptr
Definition: render.hpp:31
std::shared_ptr< sf::RenderWindow > window
Definition: render.hpp:25
std::shared_ptr< sf::VideoMode > desktop
Definition: render.hpp:26