CSL
5.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
AmbisonicPanner.h
Go to the documentation of this file.
1
//
2
// AmbisonicPanner.h -- Ambisonic effects and panners.
3
// See the copyright notice and acknowledgment of authors in the file COPYRIGHT
4
// Higher Order Ambisonic classes written by Jorge Castellanos, Graham Wakefield, Florian Hollerweger, 2005
5
//
6
7
#ifndef CSL_AMBISONIC_PANNER_H
8
#define CSL_AMBISONIC_PANNER_H
9
10
#include "
CSL_Core.h
"
11
#include "
SpatialPanner.h
"
12
#include "
Ambisonic.h
"
13
#include "
AmbisonicUtilities.h
"
14
#include "
SpeakerLayout.h
"
15
16
namespace
csl {
17
18
/// Ambisonic Panner
19
/// Wraps around the different ambisonic classes, providing a single interface for encoding, manipulating and decoding (i.e. panning)
20
/// multiple UnitGenerators.
21
22
class
AmbisonicPanner
:
public
SpatialPanner
{
23
public
:
24
AmbisonicPanner
(
unsigned
order = 1,
SpeakerLayout
*layout =
SpeakerLayout::defaultSpeakerLayout
());
// Default constructor
25
AmbisonicPanner
(
unsigned
hOrder,
unsigned
vOrder,
SpeakerLayout
*layout =
SpeakerLayout::defaultSpeakerLayout
());
// Default constructor
26
~AmbisonicPanner
();
27
28
void
addSource
(
SpatialSource
&s);
///< Implement Panner's addSource, inserting an Encoder to each source.
29
void
removeSource
(
SpatialSource
&s);
///< Remove a sound source
30
31
void
rotate
(
float
amount);
// AN ANGLE
32
33
/// fill the buffer with the next buffer_length of values
34
void
nextBuffer
(
Buffer
&outputBuffer
/*, unsigned outBufNum */
)
throw
(
CException
);
35
36
void
dump
() { };
///< Print info about this instance
37
38
protected
:
39
AmbisonicMixer
*
mMixer
;
40
AmbisonicDecoder
*
mDecoder
;
41
AmbisonicRotator
*
mRotator
;
42
43
// void initialize();
44
// virtual void speakerLayoutChanged(); ///< called when the speaker layout changes, so panners update precalculated data
45
46
};
47
48
}
// end namespace
49
50
#endif
CSL
Spatializers
Ambisonic
AmbisonicPanner.h
Generated on Thu Nov 15 2012 22:01:10 for CSL by
1.8.1.1