iso::synth::DelayUnit Class Reference

delay unit More...

#include <iso_synth_delay_unit.h>

Inherits iso::synth::ProcessUnit.

Inheritance diagram for iso::synth::DelayUnit:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DelayUnit (float pMaxDelay, FanInType pFanInType=FANIN_ADD)
 parameter based contructor
 DelayUnit (const String &pName, float pMaxDelay, FanInType pFanInType=FANIN_ADD)
 parameter based contructor
 DelayUnit (unsigned int pChannelCount, float pMaxDelay, FanInType pFanInType=FANIN_ADD)
 parameter based contructor
 DelayUnit (const String &pName, unsigned int pChannelCount, float pMaxDelay, FanInType pFanInType=FANIN_ADD)
 parameter based contructor
 DelayUnit (unsigned int pFrameCount, unsigned int pChannelCount, unsigned int pRate, float pMaxDelay, FanInType pFanInType=FANIN_ADD)
 parameter based contructor
 DelayUnit (const String &pName, unsigned int pFrameCount, unsigned int pChannelCount, unsigned int pRate, float pMaxDelay, FanInType pFanInType=FANIN_ADD)
 name and parameter based contructor
 DelayUnit (const DelayUnit &pUnit)
 copy constructor
 DelayUnit (const String &pName, const DelayUnit &pUnit)
 name & copy constructor
 DelayUnit (const data::Values &pValues) throw (SynthException)
 values based constructor
 ~DelayUnit ()
 destructor
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

 DelayUnit ()
void init ()
 initializes switch ports

Protected Attributes

RingBuffer mRingBuffer
 ring buffer
ControlPortmTapScale
 tap scale control port
ControlPortmTapDelay
 tape delay control port
RingBufferTap mRingBufferTap
 ring buffer taps
bool mTapPositionAutoIncrement
 tap position auto increment

Static Protected Attributes

static unsigned int sUnitCount
 total number of units created so far

Friends

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

Detailed Description

delay unit

maintains a ringbuffer plus a set of ringbuffertaps

Created by Daniel Bisig on 08/15/06.


Constructor & Destructor Documentation

DelayUnit::DelayUnit ( float  pMaxDelay,
FanInType  pFanInType = FANIN_ADD 
)

parameter based contructor

Parameters:
pMaxDelay maximum delay (milisecs)
pFanInType strategy for combining audio buffers in case this unit is connected to several units

DelayUnit::DelayUnit ( const String pName,
float  pMaxDelay,
FanInType  pFanInType = FANIN_ADD 
)

parameter based contructor

Parameters:
pName unit name
pMaxDelay maximum delay (milisecs)
pFanInType strategy for combining audio buffers in case this unit is connected to several units

DelayUnit::DelayUnit ( unsigned int  pChannelCount,
float  pMaxDelay,
FanInType  pFanInType = FANIN_ADD 
)

parameter based contructor

Parameters:
pChannelCount number of channels
pMaxDelay maximum delay (milisecs)
pFanInType strategy for combining audio buffers in case this unit is connected to several units

DelayUnit::DelayUnit ( const String pName,
unsigned int  pChannelCount,
float  pMaxDelay,
FanInType  pFanInType = FANIN_ADD 
)

parameter based contructor

Parameters:
pName unit name
pChannelCount number of channels
pMaxDelay maximum delay (milisecs)
pFanInType strategy for combining audio buffers in case this unit is connected to several units

DelayUnit::DelayUnit ( unsigned int  pFrameCount,
unsigned int  pChannelCount,
unsigned int  pRate,
float  pMaxDelay,
FanInType  pFanInType = FANIN_ADD 
)

parameter based contructor

Parameters:
pFrameCount number of frames
pChannelCount number of channels
pRate samping rate
pMaxDelay maximum delay (milisecs)
pFanInType strategy for combining audio buffers in case this unit is connected to several units

DelayUnit::DelayUnit ( const String pName,
unsigned int  pFrameCount,
unsigned int  pChannelCount,
unsigned int  pRate,
float  pMaxDelay,
FanInType  pFanInType = FANIN_ADD 
)

name and parameter based contructor

Parameters:
pName unit name
pFrameCount number of frames
pChannelCount number of channels
pRate samping rate
pMaxDelay maximum delay (milisecs)
pFanInType strategy for combining audio buffers in case this unit is connected to several units

DelayUnit::DelayUnit ( const DelayUnit pUnit  ) 

copy constructor

Parameters:
pUnit unit to copy properties from

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

name & copy constructor

Parameters:
pName unit name
pUnit unit to copy properties from

DelayUnit::DelayUnit ( 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

DelayUnit::~DelayUnit (  ) 

destructor

DelayUnit::DelayUnit (  )  [protected]


Member Function Documentation

void DelayUnit::setTapPositionAutoIncrement ( bool  pTapPositionAutoIncrement  ) 

set tap position auto increment

Parameters:
pTapPositionAutoIncrement tap position auto increment

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

processes buffer

Parameters:
pBuffer buffer to process

Reimplemented from iso::synth::ProcessUnit.

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

processes buffer (control port frame mode)

Parameters:
pBuffer buffer to process

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

processes buffer (control port buffer mode)

Parameters:
pBuffer buffer to process

base::String DelayUnit::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 DelayUnit::init (  )  [protected]

initializes switch ports


Friends And Related Function Documentation

friend class MultiDelayUnit [friend]

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

print unit information


Member Data Documentation

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

default name

Reimplemented from iso::synth::ProcessUnit.

unsigned int DelayUnit::sUnitCount [static, protected]

total number of units created so far

Reimplemented from iso::synth::ProcessUnit.

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

ring buffer

ControlPort* iso::synth::DelayUnit::mTapScale [protected]

tap scale control port

ControlPort* iso::synth::DelayUnit::mTapDelay [protected]

tape delay control port

RingBufferTap iso::synth::DelayUnit::mRingBufferTap [protected]

ring buffer taps

bool iso::synth::DelayUnit::mTapPositionAutoIncrement [protected]

tap position auto increment

whether tap position should increment after each process call


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