File tree Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -204,16 +204,18 @@ class SineWaveGenerator : public SoundGenerator<T>{
204
204
205
205
// / Provides a single sample
206
206
virtual T readSample () override {
207
- float angle = double_Pi * m_frequency * m_time + m_phase;
207
+ float angle = double_Pi * m_cycles + m_phase;
208
208
T result = m_amplitude * sinf (angle);
209
- m_time += m_deltaTime;
210
- if (m_time > divisor) m_time -= divisor;
209
+ m_cycles += m_frequency * m_deltaTime;
210
+ if (m_cycles > 1.0 ) {
211
+ m_cycles -= 1.0 ;
212
+ }
211
213
return result;
212
214
}
213
215
214
216
protected:
215
217
volatile float m_frequency = 0 ;
216
- float m_time = 0.0 ;
218
+ float m_cycles = 0.0 ; // Varies between 0.0 and 1.0
217
219
float m_amplitude = 1.0 ;
218
220
float m_deltaTime = 0.0 ;
219
221
float m_phase = 0.0 ;
You can’t perform that action at this time.
0 commit comments