/* * Copyright (c) 2020-2021 Vasile Vilvoiu * * specgram is free software; you can redistribute it and/or modify * it under the terms of the MIT license. See LICENSE for details. */ #ifndef _LIVE_HPP_ #define _LIVE_HPP_ #include "configuration.hpp" #include "renderer.hpp" #include "color-map.hpp" #include class LiveOutput { private: /* configuration */ const Configuration configuration_; Renderer renderer_; /* live window */ sf::RenderWindow window_; /* raw FFT history */ std::vector fft_area_; public: LiveOutput() = delete; LiveOutput(const LiveOutput &c) = delete; LiveOutput(LiveOutput &&) = delete; LiveOutput & operator=(const LiveOutput&) = delete; LiveOutput(const Configuration& conf, const ColorMap& cmap, const ValueMap& vmap); void AddWindow(const std::vector& window, const RealWindow& win_values); bool HandleEvents(); void Render(); }; #endif