47 return ( *
this )( t, []( auto ) {
return 0; } );
52 wave_form_ = wave_form;
62 frequency_ = frequency;
67 amplitude_ = amplitude;
77 pulse_length_ = pulse_length;
82 double signal(
F f,
double t,
double freq )
const 84 return amplitude_ * f( t * freq + phase_ / freq );
double operator()(double t) const noexcept
Definition: oscillator.hpp:45
const auto F
Definition: note.hpp:40
void set_phase(double phase) noexcept
Definition: oscillator.hpp:70
Definition: oscillator.hpp:20
void set_frequency(double frequency) noexcept
Definition: oscillator.hpp:60
double frequency() const noexcept
Definition: oscillator.hpp:55
oscillator_wave_form
Definition: oscillator.hpp:9
double operator()(double t, FM fm) const noexcept
Definition: oscillator.hpp:24
void set_wave_form(oscillator_wave_form wave_form)
Definition: oscillator.hpp:50
void set_amplitude(double amplitude) noexcept
Definition: oscillator.hpp:65
void set_pulse_length(double pulse_length) noexcept
Definition: oscillator.hpp:75