33 lines
610 B
C++
33 lines
610 B
C++
#ifndef muz_MUL_HPP
|
|
#define muz_MUL_HPP
|
|
|
|
#include "commons.hpp"
|
|
#include "Signal.hpp"
|
|
#include "AudioConf.hpp"
|
|
|
|
namespace muz
|
|
{
|
|
/**
|
|
* Product of two input signals.
|
|
**/
|
|
class Mul: public Signal
|
|
{
|
|
public:
|
|
explicit Mul(AudioConf const& conf,
|
|
std::unique_ptr<Signal> lhs,
|
|
std::unique_ptr<Signal> rhs);
|
|
virtual ~Mul();
|
|
|
|
void next(std::vector<float>& out) override;
|
|
|
|
private:
|
|
AudioConf m_conf;
|
|
std::vector<float> m_out_left;
|
|
std::vector<float> m_out_right;
|
|
std::unique_ptr<Signal> m_lhs;
|
|
std::unique_ptr<Signal> m_rhs;
|
|
};
|
|
}
|
|
|
|
#endif
|