CSL  6.0
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
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
Definition: Accessor.h:17
Band-limited square, impulse, and triangle waveform oscillators.
Definition: OscillatorBL.h:18
float sample
(could be changed to int, or double)
Definition: CSL_Types.h:191
void nextWaveInto(sample *dest, unsigned count, bool oneHz)