#ifndef muz_SINE_HPP #define muz_SINE_HPP #include "commons.hpp" #include "Signal.hpp" #include "AudioConf.hpp" namespace muz { /** * Sinusoid signal with an amplitude of 1 at a given frequency. **/ class Sine: public Signal { public: explicit Sine(AudioConf const& conf, std::unique_ptr freq); virtual ~Sine(); void next(std::vector& out) override; private: AudioConf const& m_conf; std::vector m_out_freq; std::unique_ptr m_freq; std::vector m_phases; }; } #endif