iso::synth::BLPulseGen Class Reference

band limited pulse generator More...

#include <iso_synth_bl_pulse_gen.h>

Inherits iso::synth::WaveTableOscil.

Inheritance diagram for iso::synth::BLPulseGen:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 BLPulseGen (InterpolationType pInterpolationType=sInterpolationType)
 parameter based constructor
 BLPulseGen (const String &pName, InterpolationType pInterpolationType=sInterpolationType)
 name constructor
 BLPulseGen (unsigned int pChannelCount, InterpolationType pInterpolationType=sInterpolationType)
 parameter based constructor
 BLPulseGen (const String &pName, unsigned int pChannelCount, InterpolationType pInterpolationType=sInterpolationType)
 name constructor
 BLPulseGen (unsigned int pFrameCount, unsigned int pChannelCount, unsigned int pRate, InterpolationType pInterpolationType=sInterpolationType) throw (SynthException)
 parameter based contructor
 BLPulseGen (const String &pName, unsigned int pFrameCount, unsigned int pChannelCount, unsigned int pRate, InterpolationType pInterpolationType=sInterpolationType) throw (SynthException)
 name and parameter based contructor
 BLPulseGen (const BLPulseGen &pUnit)
 copy constructor
 BLPulseGen (const String &pName, const BLPulseGen &pUnit)
 name & copy constructor
 BLPulseGen (const serialize::SerializeData &pSerializeData) throw (serialize::SerializeException)
 serialization based constructor
virtual ~BLPulseGen ()
 destructor
 BLPulseGen (const data::Values &pValues) throw (SynthException)
 values based constructor
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

void init ()
 initializes wavetable and control ports

Protected Attributes

FramemPhaseOffsetBuffer2
 current phase offsets with regard to start phases

Static Protected Attributes

static unsigned int sUnitCount
 total number of units created so far
static String sWaveTableName
 default wave table name
static InterpolationType sInterpolationType
 default interpolation type

Friends

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

Detailed Description

band limited pulse generator

pulse generator

corresponds to BUZZ unit generator in other synthesis environments.


SwitchPorts:
name: active channelCount: 1 defaultValue: 1.0 resizable: false function: setActive


Created by Daniel Bisig & John Flury on 6/26/06. Copyright 2006 Daniel Bisig All rights reserved.

TODO: fix this unit, it appears to have a rounding problem induced by incrementing the phase each step, after some time the divisor and the dividend seem to shift appart. TODO: observe how the output evolves after x mins, is the amplitude always rising? Changing the WaveTable size had some effect but not the desired.


Constructor & Destructor Documentation

BLPulseGen::BLPulseGen ( InterpolationType  pInterpolationType = sInterpolationType  ) 

parameter based constructor

Parameters:
pInterpolationType interpolation type

BLPulseGen::BLPulseGen ( const String pName,
InterpolationType  pInterpolationType = sInterpolationType 
)

name constructor

Parameters:
pName unit name
pInterpolationType interpolation type

BLPulseGen::BLPulseGen ( unsigned int  pChannelCount,
InterpolationType  pInterpolationType = sInterpolationType 
)

parameter based constructor

Parameters:
pChannelCount number of channels
pInterpolationType interpolation type

BLPulseGen::BLPulseGen ( const String pName,
unsigned int  pChannelCount,
InterpolationType  pInterpolationType = sInterpolationType 
)

name constructor

Parameters:
pName unit name
pChannelCount number of channels
pInterpolationType interpolation type

BLPulseGen::BLPulseGen ( unsigned int  pFrameCount,
unsigned int  pChannelCount,
unsigned int  pRate,
InterpolationType  pInterpolationType = sInterpolationType 
) throw (SynthException)

parameter based contructor

Parameters:
pFrameCount number of frames
pChannelCount number of channels
pRate samping rate
pInterpolationType interpolation type

BLPulseGen::BLPulseGen ( const String pName,
unsigned int  pFrameCount,
unsigned int  pChannelCount,
unsigned int  pRate,
InterpolationType  pInterpolationType = sInterpolationType 
) throw (SynthException)

name and parameter based contructor

Parameters:
pName unit name
pFrameCount number of frames
pChannelCount number of channels
pRate samping rate
pInterpolationType interpolation type

BLPulseGen::BLPulseGen ( const BLPulseGen pUnit  ) 

copy constructor

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

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

name & copy constructor

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

iso::synth::BLPulseGen::BLPulseGen ( const serialize::SerializeData &  pSerializeData  )  throw (serialize::SerializeException)

serialization based constructor

Parameters:
pSerializeData serialization data
Exceptions:
SerializeException failed to create unit

BLPulseGen::~BLPulseGen (  )  [virtual]

destructor

BLPulseGen::BLPulseGen ( 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: InterpolationType : wavetable interpolation type


Member Function Documentation

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

processes buffer

Parameters:
pBuffer buffer to process
fills buffer according to it's function

Reimplemented from iso::synth::WaveTableOscil.

base::String BLPulseGen::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::WaveTableOscil.

void BLPulseGen::init (  )  [protected]

initializes wavetable and control ports

Reimplemented from iso::synth::WaveTableOscil.


Friends And Related Function Documentation

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

print unit information


Member Data Documentation

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

default name

Reimplemented from iso::synth::WaveTableOscil.

unsigned int BLPulseGen::sUnitCount [static, protected]

total number of units created so far

Reimplemented from iso::synth::WaveTableOscil.

base::String BLPulseGen::sWaveTableName [static, protected]

default wave table name

InterpolationType BLPulseGen::sInterpolationType [static, protected]

default interpolation type

Frame* iso::synth::BLPulseGen::mPhaseOffsetBuffer2 [protected]

current phase offsets with regard to start phases


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