#include <iso_synth_delta_unit.h>
Inherits iso::synth::ProcessUnit.
Inheritance diagram for iso::synth::DeltaUnit:
Public Member Functions | |
DeltaUnit () | |
default constructor | |
DeltaUnit (const String &pName, FanInType pFanInType=FANIN_ADD) | |
name constructor | |
DeltaUnit (unsigned int pChannelCount, FanInType pFanInType=FANIN_ADD) | |
parameter based contructor | |
DeltaUnit (const String &pName, unsigned int pChannelCount, FanInType pFanInType=FANIN_ADD) | |
parameter based contructor | |
DeltaUnit (unsigned int pFrameCount, unsigned int pChannelCount, unsigned int pRate, FanInType pFanInType=FANIN_ADD) throw (SynthException) | |
parameter based contructor | |
DeltaUnit (const String &pName, unsigned int pFrameCount, unsigned int pChannelCount, unsigned int pRate, FanInType pFanInType=FANIN_ADD) throw (SynthException) | |
name and parameter based contructor | |
DeltaUnit (const Unit &pUnit) | |
copy constructor | |
DeltaUnit (const String &pName, const Unit &pUnit) | |
name & copy constructor | |
virtual | ~DeltaUnit () |
destructor | |
void | setOrder (Frame pOrder) |
set order of delta (i.e. order of discrete derivative, 0=original signal, 1=first derivation, 2=second.... max = number of frame per buffer (default=512)) | |
virtual void | process (Buffer *pBuffer) throw (SynthException) |
processes buffer | |
Static Public Attributes | |
static const String | sClassName |
default name | |
Protected Member Functions | |
void | init () |
initialize members | |
Protected Attributes | |
unsigned int * | mDeltaOrder |
delta order for each channel | |
QVector< sample * > | mPascalCoeffs |
pascal coefficients (inner array) per channel (outer vector). Stored as floating-point values to avoid casts. | |
Static Protected Attributes | |
static unsigned int | sUnitCount |
total number of units created so far |
(delta) unit
Here are the first 6 delta coefficients used to calculate the output. delta 0 = x0 (no delta, i.e. bypass) delta1 = x0 - x1 //counted backwards x0 = now, x1 = (t-1) delta2 = x0 - 2 x1 + x2 delta3 = x0 - 3 x1 + 3 x2 - x3 delta4 = x0 - 4 x1 + 6 x2 - 4 x3 + x4 delta5 = x0 - 5 x1 + 10 x2 - 10 x3 + 5 x4 - x5 delta6 = x0 - 6 x1 + 15 x2 - 20 x3 + 15 x4 - 6 x5 + x6 ... compare w/ Pascal's triangle
SwitchPorts:
name: order channelCount: n resizable: false function: setOrder
Created by John Flury on 24/03/08.
Copyright 2008 I.S.O. All rights reserved.
DeltaUnit::DeltaUnit | ( | ) |
default constructor
name constructor
pName | unit name | |
pFanInType | strategy for combining audio buffers in case this unit is connected to several units |
DeltaUnit::DeltaUnit | ( | unsigned int | pChannelCount, | |
FanInType | pFanInType = FANIN_ADD | |||
) |
parameter based contructor
pChannelCount | number of channels | |
pFanInType | strategy for combining audio buffers in case this unit is connected to several units |
DeltaUnit::DeltaUnit | ( | const String & | pName, | |
unsigned int | pChannelCount, | |||
FanInType | pFanInType = FANIN_ADD | |||
) |
parameter based contructor
pName | unit name | |
pChannelCount | number of channels | |
pFanInType | strategy for combining audio buffers in case this unit is connected to several units |
DeltaUnit::DeltaUnit | ( | unsigned int | pFrameCount, | |
unsigned int | pChannelCount, | |||
unsigned int | pRate, | |||
FanInType | pFanInType = FANIN_ADD | |||
) | throw (SynthException) |
parameter based contructor
pFrameCount | number of frames | |
pChannelCount | number of channels | |
pRate | samping rate | |
pFanInType | strategy for combining audio buffers in case this unit is connected to several units |
DeltaUnit::DeltaUnit | ( | const String & | pName, | |
unsigned int | pFrameCount, | |||
unsigned int | pChannelCount, | |||
unsigned int | pRate, | |||
FanInType | pFanInType = FANIN_ADD | |||
) | throw (SynthException) |
name and parameter based contructor
pName | unit name | |
pFrameCount | number of frames | |
pChannelCount | number of channels | |
pRate | samping rate | |
pFanInType | strategy for combining audio buffers in case this unit is connected to several units |
DeltaUnit::DeltaUnit | ( | const Unit & | pUnit | ) |
copy constructor
pUnit | unit to copy properties from |
name & copy constructor
pName | unit name | |
pUnit | unit to copy properties from |
DeltaUnit::~DeltaUnit | ( | ) | [virtual] |
destructor
void DeltaUnit::setOrder | ( | Frame | pOrder | ) |
set order of delta (i.e. order of discrete derivative, 0=original signal, 1=first derivation, 2=second.... max = number of frame per buffer (default=512))
pOrder | order per channel, stored as a frame; |
void DeltaUnit::process | ( | Buffer * | pBuffer | ) | throw (SynthException) [virtual] |
void DeltaUnit::init | ( | ) | [protected] |
initialize members
const String DeltaUnit::sClassName [static] |
unsigned int DeltaUnit::sUnitCount [static, protected] |
unsigned int* iso::synth::DeltaUnit::mDeltaOrder [protected] |
delta order for each channel
QVector<sample*> iso::synth::DeltaUnit::mPascalCoeffs [protected] |
pascal coefficients (inner array) per channel (outer vector). Stored as floating-point values to avoid casts.