Pd++  0.01
A pure C++ implementation of Pure Data objects
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Public Member Functions | Public Attributes | List of all members
pd::VariableDelay Class Reference

Reads from a table at a variable delay rate. More...

#include <VariableDelay.h>

Inheritance diagram for pd::VariableDelay:
PdMaster

Public Member Functions

 VariableDelay (double)
 
void delayWrite (double input)
 
double delayRead (double delayTime)
 
double perform (double delayTime)
 
- Public Member Functions inherited from PdMaster
void * getbytes (size_t nbytes)
 
void * resizebytes (void *old, size_t oldsize, size_t newsize)
 
void freebytes (void *fatso, size_t nbytes)
 
std::string getPath ()
 
void setSampleRate (unsigned long)
 
unsigned long getSampleRate ()
 
void setBlockSize (int)
 
int getBlockSize ()
 
double getTimeInSampleTicks ()
 
long getTimeInMilliSeconds (double time)
 
int pdBigOrSmall (double f)
 
void cos_maketable ()
 
int PD_BIGORSMALL (float f)
 
void setFFTWindow (int)
 
int getFFTWindow ()
 
double mtof (double)
 
double ftom (double)
 
double powtodb (double)
 
double dbtopow (double)
 
double rmstodb (double)
 
double dbtorms (double)
 

Public Attributes

std::string pdName = "vd~"
 
- Public Attributes inherited from PdMaster
int cosTableSize = COSTABSIZE
 
float * cos_table
 

Additional Inherited Members

- Public Types inherited from PdMaster
typedef union
PdMaster::_sampleint_union 
t_sampleint_union
 

Detailed Description

Reads from a table at a variable delay rate.

This is our variable delay class. You can use any signal to control the delay time, or you can just use a number. This particular delay uses four point polynomial interpolation which removes those pesky artefacts.

This class also has a delayRead() function, comparable to the delread~ object. Check the caution warning.

Member Function Documentation

double pd::VariableDelay::delayRead ( double  delayTime)

Caution: Do not use this function with the perform() function. Use one or the other. This function reads from the delay line without the interpolation. If you were to use this function and the perform() function you risk both accessing the same address in memory at the same time. If you must do this then I recommend using a mutex.


The documentation for this class was generated from the following files: