#include <iso_synth_function_generator.h>
Collaboration diagram for iso::synth::FunctionGenerator:
Public Member Functions | |
Channel * | createFunctionBuffer (const FunctionDescriptor &pFunctionDescriptor) throw (SynthException) |
create functon buffer | |
Channel * | createFunctionBuffer (FunctionType pFunctionType, sample pControlParameter, const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, int pFrameCount) throw (SynthException) |
create a function buffer | |
Channel * | createFunctionBuffer (FunctionType pFunctionType, const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, int pFrameCount) throw (SynthException) |
create a function buffer | |
Channel * | createFunctionBuffer (FunctionType pFunctionType, math::Vector< sample > &pControlPoints, int pFrameCount) throw (SynthException) |
create a function buffer | |
Channel * | createFunctionBuffer (FunctionType pFunctionType, math::Vector< sample > &pControlPoints, sample pControlParameter, int pFrameCount) throw (SynthException) |
create a function buffer | |
Channel * | createFunctionBuffer (FunctionType pFunctionType, math::Vector< sample > &pControlPoints, math::Vector< sample > &pControlParameters, int pFrameCount) throw (SynthException) |
create a function buffer | |
Static Public Member Functions | |
static FunctionGenerator & | get () |
static void | destroy () |
Protected Member Functions | |
FunctionGenerator () | |
default constructor | |
~FunctionGenerator () | |
destructor | |
Channel * | createRectBuffer (const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create rect function | |
Channel * | createLinearBuffer (const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create linear function | |
Channel * | createSineBuffer (const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create sine function | |
Channel * | createExpBuffer (sample pControlParameter, bool pMirrorX, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create exp function | |
Channel * | createLogBuffer (sample pControlParameter, bool pMirrorX, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create log function | |
Channel * | createSigmoidBuffer (sample pControlParameter, const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create sigmoid function | |
Channel * | createSigExpBuffer (sample pControlParameter, const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create sigmoid based pseudo exponential function | |
Channel * | createSigLogBuffer (sample pControlParameter, const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create sigmoid based pseudo logarithm function | |
Channel * | createGaussianBuffer (sample pControlParameter, const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create graussian function | |
Channel * | createHammingBuffer (const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create hamming function | |
Channel * | createHannBuffer (const math::Vector2< sample > &pXRange, const math::Vector2< sample > &pYLimits, unsigned int pFrameCount) |
create han function | |
void | rescaleYRange (Channel *pChannel, const math::Vector2< sample > &pYLimits) |
rescales sample values to lie within y min and max limits | |
Protected Attributes | |
unsigned int | mStandardFrameCount |
default frame count for generated buffers | |
Static Protected Attributes | |
static FunctionGenerator * | sFunctionGenerator |
singleton instance member variable | |
static sample | sMaxY |
max y value for rescaling | |
static sample | sMinY |
min y value for rescaling |
containing sampled values of particular function ranges
Created by Daniel Bisig on 7/3/06. Copyright 2006 Daniel Bisig All rights reserved.
FunctionGenerator::FunctionGenerator | ( | ) | [protected] |
default constructor
FunctionGenerator::~FunctionGenerator | ( | ) | [protected] |
destructor
FunctionGenerator & FunctionGenerator::get | ( | ) | [static] |
void FunctionGenerator::destroy | ( | ) | [static] |
Channel * FunctionGenerator::createFunctionBuffer | ( | const FunctionDescriptor & | pFunctionDescriptor | ) | throw (SynthException) |
create functon buffer
pFunctionDescriptor | function descriptor |
SynthException | failed to create function buffer |
Channel * FunctionGenerator::createFunctionBuffer | ( | FunctionType | pFunctionType, | |
sample | pControlParameter, | |||
const math::Vector2< sample > & | pXRange, | |||
const math::Vector2< sample > & | pYLimits, | |||
int | pFrameCount | |||
) | throw (SynthException) |
create a function buffer
pFunctionType | function type | |
pControlParameter | control parameter (required for certain functions) | |
pXRange | x range | |
pYLimits | y min and max values (if y min == y max: don't rescale) | |
pFrameCount | frame count of buffer, if < 0, standard frame count is employed |
SynthException | failed to create function buffer |
Channel * FunctionGenerator::createFunctionBuffer | ( | FunctionType | pFunctionType, | |
const math::Vector2< sample > & | pXRange, | |||
const math::Vector2< sample > & | pYLimits, | |||
int | pFrameCount | |||
) | throw (SynthException) |
create a function buffer
pFunctionType | function type | |
pXRange | x range | |
pYLimits | y min and max values (if y min == y max: don't rescale) | |
pFrameCount | frame count of buffer, if < 0, standard frame count is employed |
SynthException | failed to create function buffer |
Channel * FunctionGenerator::createFunctionBuffer | ( | FunctionType | pFunctionType, | |
math::Vector< sample > & | pControlPoints, | |||
int | pFrameCount | |||
) | throw (SynthException) |
create a function buffer
pFunctionType | function type | |
pControlPoints | control points for creating series of function segments | |
pFrameCount | frame count of buffer, if < 0, standard frame count is employed |
SynthException | failed to create function buffer |
Channel * FunctionGenerator::createFunctionBuffer | ( | FunctionType | pFunctionType, | |
math::Vector< sample > & | pControlPoints, | |||
sample | pControlParameter, | |||
int | pFrameCount | |||
) | throw (SynthException) |
create a function buffer
pFunctionType | function type | |
pControlPoints | control points for creating series of function segments | |
pControlParameter | control parameter for all function segments | |
pFrameCount | frame count of buffer, if < 0, standard frame count is employed |
SynthException | failed to create function buffer |
Channel * FunctionGenerator::createFunctionBuffer | ( | FunctionType | pFunctionType, | |
math::Vector< sample > & | pControlPoints, | |||
math::Vector< sample > & | pControlParameters, | |||
int | pFrameCount | |||
) | throw (SynthException) |
create a function buffer
pFunctionType | function type | |
pControlPoints | control points for creating series of function segments | |
pControlParameters | control parameters for creating series of function segments | |
pFrameCount | frame count of buffer, if < 0, standard frame count is employed |
SynthException | failed to create function buffer |
Channel * FunctionGenerator::createRectBuffer | ( | const math::Vector2< sample > & | pXRange, | |
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create rect function
pXRange | x range | |
pYLimits | y min and max values | |
pFrameCount | frame count |
Channel * FunctionGenerator::createLinearBuffer | ( | const math::Vector2< sample > & | pXRange, | |
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create linear function
pXRange | x range | |
pYLimits | y min and max values | |
pFrameCount | frame count |
Channel * FunctionGenerator::createSineBuffer | ( | const math::Vector2< sample > & | pXRange, | |
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create sine function
pXRange | x range | |
pYLimits | y min and max values | |
pFrameCount | frame count |
Channel * FunctionGenerator::createExpBuffer | ( | sample | pControlParameter, | |
bool | pMirrorX, | |||
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create exp function
pControlParameter | control parameter ( 0.75 (linear) - 10 (in between) - 1000 (extreme exp) ) | |
pMirrorX | horizonal function mirroring | |
pYLimits | y min and max values | |
pFrameCount | frame count |
Channel * FunctionGenerator::createLogBuffer | ( | sample | pControlParameter, | |
bool | pMirrorX, | |||
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create log function
pControlParameter | control parameter ( 0.49 (linear) - 0.001 (in between) - 0.000000001 (extreme log) ) | |
pMirrorX | horizonal function mirroring | |
pYLimits | y min and max values | |
pFrameCount | frame count |
Channel * FunctionGenerator::createSigmoidBuffer | ( | sample | pControlParameter, | |
const math::Vector2< sample > & | pXRange, | |||
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create sigmoid function
pControlParameter | control parameter ( 0.99 (linear) - 0.1 (in between) - 0.000000001 (extreme sigmoid (essentially threshold) ) ) | |
pXRange | x range | |
pYLimits | y min and max values | |
pFrameCount | frame count |
Channel * FunctionGenerator::createSigExpBuffer | ( | sample | pControlParameter, | |
const math::Vector2< sample > & | pXRange, | |||
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create sigmoid based pseudo exponential function
pControlParameter | control parameter ( 0.99 (linear) - 0.1 (in between) - 0.000000001 (extreme sigmoid (essentially threshold) ) ) | |
pXRange | x range | |
pYLimits | y min and max values | |
pFrameCount | frame count |
Channel * FunctionGenerator::createSigLogBuffer | ( | sample | pControlParameter, | |
const math::Vector2< sample > & | pXRange, | |||
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create sigmoid based pseudo logarithm function
pControlParameter | control parameter ( 0.99 (linear) - 0.1 (in between) - 0.000000001 (extreme sigmoid (essentially threshold) ) ) | |
pXRange | x range | |
pYLimits | y min and max values | |
pFrameCount | frame count |
Channel * FunctionGenerator::createGaussianBuffer | ( | sample | pControlParameter, | |
const math::Vector2< sample > & | pXRange, | |||
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create graussian function
pControlParameter | control parameter ( 0.001 (narrow peak) - 0.2 (in between) - 1.0 ( broad peak ) ) | |
pXRange | x range | |
pYLimits | y min and max values | |
pFrameCount | frame count |
Channel * FunctionGenerator::createHammingBuffer | ( | const math::Vector2< sample > & | pXRange, | |
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create hamming function
pXRange | x range | |
pYLimits | y min and max values | |
pFrameCount | frame count |
Channel * FunctionGenerator::createHannBuffer | ( | const math::Vector2< sample > & | pXRange, | |
const math::Vector2< sample > & | pYLimits, | |||
unsigned int | pFrameCount | |||
) | [protected] |
create han function
pXRange | x range | |
pYLimits | y min and max values | |
pFrameCount | frame count |
void FunctionGenerator::rescaleYRange | ( | Channel * | pChannel, | |
const math::Vector2< sample > & | pYLimits | |||
) | [protected] |
rescales sample values to lie within y min and max limits
pChannel | channel whose samples are rescaled | |
pYLimits | y min and max limits |
FunctionGenerator * FunctionGenerator::sFunctionGenerator [static, protected] |
singleton instance member variable
unsigned int iso::synth::FunctionGenerator::mStandardFrameCount [protected] |
default frame count for generated buffers
sample FunctionGenerator::sMaxY [static, protected] |
max y value for rescaling
sample FunctionGenerator::sMinY [static, protected] |
min y value for rescaling