iso::synth::AEPUnit Class Reference

ambisonic equivalent panning unit More...

#include <iso_synth_aep_unit.h>

Inherits iso::synth::ProcessUnit.

Inheritance diagram for iso::synth::AEPUnit:

Inheritance graph
[legend]
Collaboration diagram for iso::synth::AEPUnit:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AEPUnit (QVector< math::Vector3< sample > > &pSpeakerPositions)
 default constructor
 AEPUnit (const String &pName, QVector< math::Vector3< sample > > &pSpeakerPositions)
 default constructor
 AEPUnit (QVector< math::Vector3< sample > > &pSpeakerPositions, unsigned int pFrameCount, unsigned int pRate, FanInType pFanInType=FANIN_ADD) throw (SynthException)
 name and parameter based constructor
 AEPUnit (const String &pName, QVector< math::Vector3< sample > > &pSpeakerPositions, unsigned int pFrameCount, unsigned int pRate, FanInType pFanInType=FANIN_ADD) throw (SynthException)
 name and parameter based constructor
 AEPUnit (const AEPUnit &pUnit)
 copy constructor
 AEPUnit (const String &pName, const AEPUnit &pUnit)
 name & copy constructor
 AEPUnit (const data::Values &pValues) throw (SynthException)
 values based constructor
virtual ~AEPUnit ()
 destructor
void setOrder (sample pOrder)
 set ambisonic order
virtual void process (Buffer *pBuffer) throw (SynthException)
 processes buffer
virtual String info (bool pPropagate=false, bool pShowPorts=true) const
 obtain textual unit information

Static Public Attributes

static const String sClassName
 default name

Protected Member Functions

 AEPUnit ()
 default constructor
void init (const QVector< math::Vector3< sample > > &pSpeakerPositions)
 initializes unit
void init (const AEPUnit &pUnit)
 initializes unit

Protected Attributes

ControlPortmSoundPosition
 total number of units created so far
sample mOrder
 sound position control port
unsigned int mSpeakerCount
 ambisonic order
math::Vector3< sample > * mSpeakerPositions
 number of speakers
samplemInvSpeakerDistances
 speaker positions
samplemGains
 inverse speaker distances
samplemPrevGains
 audio gains for all speakers
sample mInvFrameCount
 previous audio gains for all speakers (for linear interpolation)

Static Protected Attributes

static unsigned int sUnitCount
 total number of units created so far

Friends

std::ostream & operator<< (std::ostream &pOstream, const AEPUnit &pUnit)
 print unit information

Detailed Description

ambisonic equivalent panning unit

panning unit

This is unit works strictly with single channel audio only

Created by Daniel Bisig on 4/20/07.


Constructor & Destructor Documentation

AEPUnit::AEPUnit ( QVector< math::Vector3< sample > > &  pSpeakerPositions  ) 

default constructor

Parameters:
pSpeakerPositions vector of speaker positions (cartesian coordinates)

AEPUnit::AEPUnit ( const String pName,
QVector< math::Vector3< sample > > &  pSpeakerPositions 
)

default constructor

Parameters:
pName unit name
pSpeakerPositions vector of speaker positions (cartesian coordinates)

AEPUnit::AEPUnit ( QVector< math::Vector3< sample > > &  pSpeakerPositions,
unsigned int  pFrameCount,
unsigned int  pRate,
FanInType  pFanInType = FANIN_ADD 
) throw (SynthException)

name and parameter based constructor

Parameters:
pSpeakerPositions speaker positions
pFrameCount number of frames
pRate samping rate
pFanInType strategy for combining audio buffers in case this unit is connected to several units

AEPUnit::AEPUnit ( const String pName,
QVector< math::Vector3< sample > > &  pSpeakerPositions,
unsigned int  pFrameCount,
unsigned int  pRate,
FanInType  pFanInType = FANIN_ADD 
) throw (SynthException)

name and parameter based constructor

Parameters:
pName unit name
pSpeakerPositions speaker positions
pFrameCount number of frames
pRate samping rate
pFanInType strategy for combining audio buffers in case this unit is connected to several units

AEPUnit::AEPUnit ( const AEPUnit pUnit  ) 

copy constructor

Parameters:
pUnit unit to copy properties from
constructor copies frameCount, channelCount and rate but not unit name

AEPUnit::AEPUnit ( const String pName,
const AEPUnit pUnit 
)

name & copy constructor

Parameters:
pName unit name
pUnit unit to copy properties from
constructor copies frameCount, channelCount and rate but not unit name

AEPUnit::AEPUnit ( const data::Values &  pValues  )  throw (SynthException)

values based constructor

Parameters:
pValues unit values
Exceptions:
SynthException failed to create unit
pValues structure & data types: 0: const String& : unit name 1: QVector< math::Vector3<sample> > : speaker positions 2: unsigned int : frame count 3: unsigned int : sample rate

AEPUnit::~AEPUnit (  )  [virtual]

destructor

AEPUnit::AEPUnit (  )  [protected]

default constructor


Member Function Documentation

void AEPUnit::setOrder ( sample  pOrder  ) 

set ambisonic order

Parameters:
pOrder (ambisonic order)

void AEPUnit::process ( Buffer pBuffer  )  throw (SynthException) [virtual]

processes buffer

Parameters:
pBuffer buffer to process
two step processing procedure:
1. calls process function of all it's input ports
2. as soon as these other processing functions return, it changes the buffer according to it's function

Reimplemented from iso::synth::ProcessUnit.

base::String AEPUnit::info ( bool  pPropagate = false,
bool  pShowPorts = true 
) const [virtual]

obtain textual unit information

Parameters:
pPropagate if true, the unit calls the info methods of its input ports
pShowPorts print port information
Returns:
String containing unit information

Reimplemented from iso::synth::ProcessUnit.

void AEPUnit::init ( const QVector< math::Vector3< sample > > &  pSpeakerPositions  )  [protected]

initializes unit

Parameters:
pSpeakerPositions speaker positions

void AEPUnit::init ( const AEPUnit pUnit  )  [protected]

initializes unit

Parameters:
pUnit unit to copy settings from


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  pOstream,
const AEPUnit pUnit 
) [friend]

print unit information


Member Data Documentation

const base::String AEPUnit::sClassName [static]

default name

Reimplemented from iso::synth::ProcessUnit.

unsigned int AEPUnit::sUnitCount [static, protected]

total number of units created so far

Reimplemented from iso::synth::ProcessUnit.

ControlPort* iso::synth::AEPUnit::mSoundPosition [protected]

total number of units created so far

sample iso::synth::AEPUnit::mOrder [protected]

sound position control port

unsigned int iso::synth::AEPUnit::mSpeakerCount [protected]

ambisonic order

math::Vector3<sample>* iso::synth::AEPUnit::mSpeakerPositions [protected]

number of speakers

sample* iso::synth::AEPUnit::mInvSpeakerDistances [protected]

speaker positions

sample* iso::synth::AEPUnit::mGains [protected]

inverse speaker distances

sample* iso::synth::AEPUnit::mPrevGains [protected]

audio gains for all speakers

sample iso::synth::AEPUnit::mInvFrameCount [protected]

previous audio gains for all speakers (for linear interpolation)


The documentation for this class was generated from the following files:
Generated on Fri Feb 25 14:18:45 2011 for synth by  doxygen 1.5.1