#include "Oscillator.h" #include namespace Audio { void SineOscillator::update() { for (size_t i = 0; i < BUFFER_SIZE; i++) { m_phase += m_phase_stride; if (m_phase >= 1.0f) m_phase -= 1.0f; buffer[i] = sinf(2.0f * PI_A * m_phase); } m_phase_stride = m_frequency * sample_duration; }; void SquareOscillator::update() { for (size_t i = 0; i < BUFFER_SIZE; i++) { m_phase += m_phase_stride; if (m_phase >= 1.0f) m_phase -= 1.0f; buffer[i] = m_phase; m_phase_stride = m_frequency * sample_duration; } } };