iso::synth::MultiDelayUnit Class Reference

manages several taps per ringbuffer More...

#include <iso_synth_multi_delay_unit.h>

Inherits iso::synth::ProcessUnit.

Inheritance diagram for iso::synth::MultiDelayUnit:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MultiDelayUnit (float pMaxDelay, unsigned int pTapCount)
 parameter based contructor
 MultiDelayUnit (const String &pName, float pMaxDelay, unsigned int pTapCount)
 parameter based contructor
 MultiDelayUnit (unsigned int pChannelCount, float pMaxDelay, unsigned int pTapCount)
 parameter based contructor
 MultiDelayUnit (const String &pName, unsigned int pChannelCount, float pMaxDelay, unsigned int pTapCount)
 parameter based contructor
 MultiDelayUnit (unsigned int pFrameCount, unsigned int pChannelCount, unsigned int pRate, float pMaxDelay, unsigned int pTapCount)
 parameter based contructor
 MultiDelayUnit (const String &pName, unsigned int pFrameCount, unsigned int pChannelCount, unsigned int pRate, float pMaxDelay, unsigned int pTapCount)
 name and parameter based contructor
 MultiDelayUnit (const MultiDelayUnit &pUnit)
 copy constructor
 MultiDelayUnit (const String &pName, const MultiDelayUnit &pUnit)
 name & copy constructor
 MultiDelayUnit (const data::Values &pValues) throw (SynthException)
 values based constructor
 ~MultiDelayUnit ()
 destructor
void addTaps (unsigned int pTapCount)
 add further taps
void setTapPositionAutoIncrement (bool pTapPositionAutoIncrement)
 set tap position auto increment
virtual void process (Buffer *pBuffer=NULL) throw (SynthException)
 processes buffer
virtual void processFM (Buffer *pBuffer=NULL)
 processes buffer (control port frame mode)
virtual void processBM (Buffer *pBuffer=NULL)
 processes buffer (control port buffer mode)
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

void init (unsigned int pTapCount)
 create internal delayUnits, initialized switch ports

Protected Attributes

RingBuffer mRingBuffer
 ringbuffer
QVector< DelayUnit * > mDelayUnits
 internal delay units
BuffermBuffer
 internal buffer

Static Protected Attributes

static unsigned int sUnitCount
 total number of units created so far

Friends

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

Detailed Description

manages several taps per ringbuffer

taps per ringbuffer

Created by Daniel Bisig on 08/15/06.


Constructor & Destructor Documentation

MultiDelayUnit::MultiDelayUnit ( float  pMaxDelay,
unsigned int  pTapCount 
)

parameter based contructor

Parameters:
pMaxDelay maximum delay (milisecs)
pTapCount number of taps into ringbuffer

MultiDelayUnit::MultiDelayUnit ( const String pName,
float  pMaxDelay,
unsigned int  pTapCount 
)

parameter based contructor

Parameters:
pName unit name
pMaxDelay maximum delay (milisecs)
pTapCount number of taps into ringbuffer

MultiDelayUnit::MultiDelayUnit ( unsigned int  pChannelCount,
float  pMaxDelay,
unsigned int  pTapCount 
)

parameter based contructor

Parameters:
pChannelCount number of channels
pMaxDelay maximum delay (milisecs)
pTapCount number of taps into ringbuffer

MultiDelayUnit::MultiDelayUnit ( const String pName,
unsigned int  pChannelCount,
float  pMaxDelay,
unsigned int  pTapCount 
)

parameter based contructor

Parameters:
pName unit name
pChannelCount number of channels
pMaxDelay maximum delay (milisecs)
pTapCount number of taps into ringbuffer

MultiDelayUnit::MultiDelayUnit ( unsigned int  pFrameCount,
unsigned int  pChannelCount,
unsigned int  pRate,
float  pMaxDelay,
unsigned int  pTapCount 
)

parameter based contructor

Parameters:
pFrameCount number of frames
pChannelCount number of channels
pRate samping rate
pMaxDelay maximum delay (milisecs)
pTapCount number of taps into ringbuffer
Exceptions:
SynthException unit ringbuffer channelcount mismatch

MultiDelayUnit::MultiDelayUnit ( const String pName,
unsigned int  pFrameCount,
unsigned int  pChannelCount,
unsigned int  pRate,
float  pMaxDelay,
unsigned int  pTapCount 
)

name and parameter based contructor

Parameters:
pName unit name
pFrameCount number of frames
pChannelCount number of channels
pRate samping rate
pMaxDelay maximum delay (milisecs)
pTapCount number of taps into ringbuffer
Exceptions:
SynthException unit ringbuffer channelcount mismatch

MultiDelayUnit::MultiDelayUnit ( const MultiDelayUnit pUnit  ) 

copy constructor

Parameters:
pUnit unit to copy properties from

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

name & copy constructor

Parameters:
pName unit name
pUnit unit to copy properties from

MultiDelayUnit::MultiDelayUnit ( 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: unsigned int : number of frames 2: unsigned int : number of channels 3: unsigned int : samping rate 4: float : max delay 5: unsigned int : tap count

MultiDelayUnit::~MultiDelayUnit (  ) 

destructor


Member Function Documentation

void MultiDelayUnit::addTaps ( unsigned int  pTapCount  ) 

add further taps

Parameters:
pTapCount number of additional taps

void MultiDelayUnit::setTapPositionAutoIncrement ( bool  pTapPositionAutoIncrement  ) 

set tap position auto increment

Parameters:
pTapPositionAutoIncrement tap position auto increment

void MultiDelayUnit::process ( Buffer pBuffer = NULL  )  throw (SynthException) [virtual]

processes buffer

Parameters:
pBuffer buffer to process

Reimplemented from iso::synth::ProcessUnit.

void MultiDelayUnit::processFM ( Buffer pBuffer = NULL  )  [virtual]

processes buffer (control port frame mode)

Parameters:
pBuffer buffer to process

void MultiDelayUnit::processBM ( Buffer pBuffer = NULL  )  [virtual]

processes buffer (control port buffer mode)

Parameters:
pBuffer buffer to process

base::String MultiDelayUnit::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 MultiDelayUnit::init ( unsigned int  pTapCount  )  [protected]

create internal delayUnits, initialized switch ports

Parameters:
pTapCount number of delayUnits to create


Friends And Related Function Documentation

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

print unit information


Member Data Documentation

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

default name

Reimplemented from iso::synth::ProcessUnit.

unsigned int MultiDelayUnit::sUnitCount [static, protected]

total number of units created so far

Reimplemented from iso::synth::ProcessUnit.

RingBuffer iso::synth::MultiDelayUnit::mRingBuffer [protected]

ringbuffer

QVector<DelayUnit*> iso::synth::MultiDelayUnit::mDelayUnits [protected]

internal delay units

Buffer* iso::synth::MultiDelayUnit::mBuffer [protected]

internal buffer

Reimplemented from iso::synth::Unit.


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