CSL 5.2

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

OscillatorBL.h
Go to the documentation of this file.
1 //
2 // OscillatorBL.h -- Band-limited oscillators -- these can use on-demand sine summation, or store their wavetables
3 // (the latter choice might be dangerous with dynamic frequency control, of course)
4 // See the copyright notice and acknowledgment of authors in the file COPYRIGHT
5 //
6
7 #ifndef INCLUDE_OscillatorBL_H
8 #define INCLUDE_OscillatorBL_H
9
10 #include "Oscillator.h"
11
12 namespace csl {
13
14 ///
15 /// Band-limited square, impulse, and triangle waveform oscillators
16 ///
17
18 class SquareBL : public SumOfSines {
19 public:
20 SquareBL();
21 SquareBL(float frequency);
22 SquareBL(float frequency, float phase);
23
24 // void nextBuffer(Buffer & outputBuffer, unsigned outBufNum) throw (CException);
25 void nextWaveInto(sample * dest, unsigned count, bool oneHz);
26
27 };
28
29 /*
30 class ImpulseBL : public SumOfSines {
31 protected:
32 void nextWaveInto(sample * dest, unsigned count, bool oneHz);
33
34 public:
35 ImpulseBL();
36 ImpulseBL(float frequency);
37 ImpulseBL(float frequency, float phase);
38 };
39
40 class TriangleBL : public SumOfSines {
41 protected:
42 void nextWaveInto(sample * dest, unsigned count, bool oneHz);
43
44 public:
45 TriangleBL();
46 TriangleBL(float frequency);
47 TriangleBL(float frequency, float phase);
48 };
49
50 class SawtoothBL : public SumOfSines {
51 protected:
52 void nextWaveInto(sample * dest, unsigned count, bool oneHz);
53
54 public:
55 SawtoothBL();
56 SawtoothBL(float frequency);
57 SawtoothBL(float frequency, float phase);
58 };
59
60 */
61
62 }
63
64 #endif