Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- class Osc {
- public:
- Osc() { phase = 0; }
- void setSampleRate(float sr) {
- sampleRate = sr;
- srDiv = 2.f / sampleRate;
- }
- void setFreq(float f) {
- freq = f;
- inc = srDiv * freq;
- }
- float getFreq() { return freq; }
- void run() {
- phase += inc;
- if (phase > 1.f)
- phase -= 2.f;
- }
- float getSin() {
- return sin(phase * MathConstants<float>::pi);
- }
- private:
- float sampleRate, srDiv, freq, inc, phase;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement