7 #ifndef DISTANCE_SIMULATOR_H
8 #define DISTANCE_SIMULATOR_H
16 class IntensityAttenuationCue;
17 class AirAbsorptionCue;
52 virtual void compute(
float distance) = 0;
65 virtual void compute(
float distance);
80 virtual void compute(
float distance);
AirAbsorptionCue * mAirAbsorptionCue
virtual void compute(float distance)
virtual ~AirAbsorptionCue()
virtual bool positionChanged()
Returns wether the sound source position changed since last block call.
virtual void process(Buffer &aBuffer)
Process each sample in the buffer, applying the filter.
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
virtual void compute(float distance)
Calculate the filter coefficients.
IntensityAttenuationCue * mIntensityCue
virtual ~IntensityAttenuationCue()
Only handles single sound sources because objects have different positions. Two objects can't ocuppy ...
Sound attenuation due to increasing distance. This "Base" Class uses the inverse square law...
Simulates the frequency dependent air absorption using a one pole/zero lowpass filter.
virtual void compute(float distance)=0
virtual void nextBuffer(Buffer &outputBuffer, unsigned outBufNum)
really compute the next buffer given an offset base channel; this is called by nextBuffer, possibly multiple times
Pure Abstract Base Class for all distance cues. A DistanceCue subclass is just an algorithm that modi...
virtual void process(Buffer &inputBuffer)=0
Temp Spatial Sound Source.
IntensityAttenuationCue()
virtual void process(Buffer &aBuffer)
DistanceSimulator(UnitGenerator &source)
Buffer – the multi-channel sample buffer class (passed around between generators and IO guys)...
Base class of CSL exceptions (written upper-case). Has a string message.