CSL 5.2

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

- File List
- File Members

SimplePanner2.h
Go to the documentation of this file.
1 //
2 // SimplePanner.h -- Basic spatial panner using a front/rear filter.
3 // See the copyright notice and acknowledgment of authors in the file COPYRIGHT
4 //
5
6 #ifndef CSL_SIMPLE_PANNER_H
7 #define CSL_SIMPLE_PANNER_H
8
9 #include "CSL_Includes.h"
10 #include "SpatialPanner.h"
11
12 namespace csl {
13
14 /// Simple Panner
15
16 class SimplePanner : public SpatialPanner {
17 public:
18 SimplePanner(); // Default constructor
19 ~SimplePanner();
20
21 void addSource(SpatialSource &s); ///< Implement Panner's addSource, inserting a panner to each source.
22 void removeSource(SpatialSource &s); ///< Remove a sound source
23
24 void nextBuffer(Buffer &outputBuffer /*, unsigned outBufNum */) throw (CException); ///< fill the buffer with the next buffer_length of values
25
26 protected:
27 Mixer mDryMix; ///< direct (dry) send mixer
28 Mixer mRevMix; ///< reverb send mixer
29 Mixer mFiltMix; ///< LPF filter send mix
30
31 Splitter mFiltSplit; ///< stereo-to-mono splitter (for filters)
32 Butter mRLPF; ///< left &
33 Butter mLLPF; ///< right lo-pass filters
34 Joiner mFiltJoin; ///< mono-to-stereo joiner (for filters)
35
36 Stereoverb mReverb; ///< stereo freeverb
37 Mixer mOutMix; ///< master output mixer
38
39 UGenIMap mPanners; ///< Vector of pointers to the panners
40 UGenIMap mFanOuts; ///< Vector of pointers to the fan-outs
41
42 };
43
44 } // end namespace
45
46 #endif