123456789101112131415161718192021222324252627282930313233343536 |
- #include "Oscillator.h"
- #include <cmath>
- 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;
-
- }
- }
-
- };
|