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