CSL  6.0
SimplePanner.h
Go to the documentation of this file.
1 //
2 // SimplePanner.h -- Simple 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  virtual void nextBuffer(Buffer &outputBuffer) throw (CException); ///< fill the buffer with the next buffer_length of values
25 
26 protected:
27  Mixer mDryMix; ///< direct send mixer
28  Mixer mFiltMix; ///< LPF filter send mix
29  Mixer mRevMix; ///< reverb send mixer
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  UGenVector mPanners; ///< Vector of pointers to the panners
40 };
41 
42 } // end namespace
43 
44 #endif
Mixer mDryMix
direct send mixer
Definition: SimplePanner.h:27
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
Definition: Accessor.h:17
Mixer mRevMix
reverb send mixer
Definition: SimplePanner.h:29
UGenVector mPanners
Vector of pointers to the panners.
Definition: SimplePanner.h:39
Splitter mFiltSplit
stereo-to-mono splitter (for filters)
Definition: SimplePanner.h:31
Mixer mFiltMix
LPF filter send mix.
Definition: SimplePanner.h:28
Butter mLLPF
right lo-pass filters
Definition: SimplePanner.h:33
Base class for all panners. Handles source management and holds a speaker layout. ...
Definition: SpatialPanner.h:22
Temp Spatial Sound Source.
Definition: SpatialSource.h:29
std::vector< UnitGenerator * > UGenVector
Definition: CSL_Types.h:241
Splitter class – a de-multiplexer for multi-channel signals.
Definition: CSL_Core.h:633
Joiner mFiltJoin
mono-to-stereo joiner (for filters)
Definition: SimplePanner.h:34
Stereoverb mReverb
stereo freeverb
Definition: SimplePanner.h:36
Butter mRLPF
left &
Definition: SimplePanner.h:32
Butterworth IIR (2nd order recursive) filter.
Definition: Filters.h:137
Simple Panner.
Definition: SimplePanner.h:16
Buffer – the multi-channel sample buffer class (passed around between generators and IO guys)...
Definition: CSL_Core.h:106
Mixer – The n-input m-channel mixer class.
Definition: Mixer.h:21
virtual void nextBuffer(Buffer &outputBuffer)
fill the buffer with the next buffer_length of values
Joiner class – a multiplexer for multi-channel signals.
Definition: CSL_Core.h:648
SimplePanner()
Default constructor.
void removeSource(SpatialSource &s)
Remove a sound source.
Mixer mOutMix
master output mixer
Definition: SimplePanner.h:37
void addSource(SpatialSource &s)
Implement Panner's addSource, inserting a panner to each source.
Base class of CSL exceptions (written upper-case). Has a string message.