We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent ac17121 commit d0c8f9fCopy full SHA for d0c8f9f
1 file changed
LibSource/SquareWaveOscillator.h
@@ -60,10 +60,19 @@ class AntialiasedSquareWaveOscillator : public OscillatorTemplate<AntialiasedSqu
60
return sample;
61
}
62
void generate(FloatArray output){
63
- float sample = phase < pw ? 1 : -1;
64
- if(phase < incr){
65
- float t = phase / incr;
66
- sample += t+t - t*t - 1;
+ float sample;
+ if(phase < pw){
+ sample = 1;
+ if(phase < incr){
67
+ float t = phase / incr;
68
+ sample += t+t - t*t - 1;
69
+ }
70
+ }else{
71
+ sample = -1;
72
+ if(phase-pw < incr){
73
+ float t = fmod(phase + 1 - pw, 1) / incr;
74
+ sample -= t+t - t*t - 1;
75
76
77
size_t len = output.getSize();
78
float* dest = output.getData();
0 commit comments