AuLib  1.0beta
Public Member Functions | Protected Attributes | List of all members
AuLib::Delay Class Reference

#include <AuLib/Delay.h>

Inheritance diagram for AuLib::Delay:
Inheritance graph
[legend]
Collaboration diagram for AuLib::Delay:
Collaboration graph
[legend]

Public Member Functions

 Delay (double dtime, double fdb, uint32_t vframes=def_vframes, double sr=def_sr)
 
const double * process (const double *sig)
 
const double * process (const double *sig, double dt)
 
const double * process (const double *sig, double dt, double fdb)
 
const double * process (const double *sig, const double *dt)
 
const double * process (const double *sig, const double *dt, double fdb)
 
const Delayprocess (const AudioBase &obj)
 
const Delayprocess (const AudioBase &obj, double dt)
 
const Delayprocess (const AudioBase &obj, double dt, double fdb)
 
const Delayprocess (const AudioBase &obj, const AudioBase &dt)
 
const Delayprocess (const AudioBase &obj, const AudioBase &dt, double fdb)
 
const Delayoperator() (const AudioBase &a, const AudioBase &b, double c)
 
const Delayoperator() (const AudioBase &a, const AudioBase &b)
 
const Delayoperator() (const AudioBase &a, const double b, double c)
 
const Delayoperator() (const AudioBase &a, double b)
 
const Delayoperator() (const AudioBase &a)
 
uint32_t pos () const
 
const AudioBasedelayline () const
 
- Public Member Functions inherited from AuLib::AudioBase
 AudioBase (uint32_t nchnls=def_nchnls, uint32_t vframes=def_vframes, double sr=def_sr)
 
virtual const AudioBaseoperator*= (double scal)
 
virtual const AudioBaseoperator*= (const double *sig)
 
virtual const AudioBaseoperator*= (const AudioBase &obj)
 
virtual const AudioBaseoperator+= (double offs)
 
virtual const AudioBaseoperator+= (const double *sig)
 
virtual const AudioBaseoperator+= (const AudioBase &obj)
 
double & operator[] (uint32_t ndx)
 
const double & operator[] (uint32_t ndx) const
 
iterator begin ()
 
iterator end ()
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const AudioBaseset (const AudioBase &obj)
 
const AudioBaseset (const double *sig)
 
const double * set (double v)
 
double set (double v, uint32_t p)
 
 operator const std::vector< double > & () const
 
 operator const double * () const
 
const double * vector () const
 
double vector (uint32_t frndx, uint32_t chn) const
 
uint32_t vframes (uint32_t frames)
 
uint32_t resize_exact (uint32_t frames)
 
uint32_t vframes () const
 
uint32_t vsamps () const
 
uint32_t nchnls () const
 
uint32_t sr () const
 
uint32_t error () const
 
virtual const char * error_message () const
 

Protected Attributes

double m_fdb
 
uint64_t m_pos
 
AudioBase m_delay
 
- Protected Attributes inherited from AuLib::AudioBase
uint32_t m_nchnls
 
uint32_t m_vframes
 
std::vector< double > m_vector
 
double m_sr
 
uint32_t m_error
 

Additional Inherited Members

- Public Types inherited from AuLib::AudioBase
typedef std::vector< double >::iterator iterator
 
typedef std::vector< double >::const_iterator const_iterator
 

Detailed Description

Fixed or variable delay line with optional feedback (Delay, Comb filter, Flanger)

Constructor & Destructor Documentation

◆ Delay()

AuLib::Delay::Delay ( double  dtime,
double  fdb,
uint32_t  vframes = def_vframes,
double  sr = def_sr 
)
inline

Delay constructor

dtime - delay time
vframes - vector size
sr - sampling rate

Member Function Documentation

◆ delayline()

const AudioBase& AuLib::Delay::delayline ( ) const
inline

get a reference to the delay line.

◆ operator()() [1/5]

const Delay& AuLib::Delay::operator() ( const AudioBase a,
const AudioBase b,
double  c 
)
inline

operator(a,b,c) convenience method

◆ operator()() [2/5]

const Delay& AuLib::Delay::operator() ( const AudioBase a,
const AudioBase b 
)
inline

operator(a,b) convenience method

◆ operator()() [3/5]

const Delay& AuLib::Delay::operator() ( const AudioBase a,
const double  b,
double  c 
)
inline

operator(a,b,c) convenience method

◆ operator()() [4/5]

const Delay& AuLib::Delay::operator() ( const AudioBase a,
double  b 
)
inline

operator(a,b) convenience method

◆ operator()() [5/5]

const Delay& AuLib::Delay::operator() ( const AudioBase a)
inline

operator(a) convenience method

◆ pos()

uint32_t AuLib::Delay::pos ( ) const
inline

get the current write position

◆ process() [1/10]

const double* AuLib::Delay::process ( const double *  sig)
inline

delay a signal sig for a fixed time

◆ process() [2/10]

const double* AuLib::Delay::process ( const double *  sig,
double  dt 
)
inline

delay a signal for dt seconds

◆ process() [3/10]

const double* AuLib::Delay::process ( const double *  sig,
double  dt,
double  fdb 
)
inline

delay a signal for dt seconds and with optional feedback fdb

◆ process() [4/10]

const double* AuLib::Delay::process ( const double *  sig,
const double *  dt 
)
inline

delay a signal for delay time taken from the signal dt

◆ process() [5/10]

const double* AuLib::Delay::process ( const double *  sig,
const double *  dt,
double  fdb 
)
inline

delay a signal for delay time taken from the signal dt and with optional feedback fdb

◆ process() [6/10]

const Delay& AuLib::Delay::process ( const AudioBase obj)
inline

delay a signal in obj for a fixed time

◆ process() [7/10]

const Delay& AuLib::Delay::process ( const AudioBase obj,
double  dt 
)
inline

delay a signal in obj, optionally for dt seconds.

◆ process() [8/10]

const Delay& AuLib::Delay::process ( const AudioBase obj,
double  dt,
double  fdb 
)
inline

delay a signal in obj, optionally for dt seconds and with feedback fdb.

◆ process() [9/10]

const Delay& AuLib::Delay::process ( const AudioBase obj,
const AudioBase dt 
)
inline

delay a signal in obj for dt sec with variable delaytime sig

◆ process() [10/10]

const Delay& AuLib::Delay::process ( const AudioBase obj,
const AudioBase dt,
double  fdb 
)
inline

delay a signal in obj for dt sec with variable delaytime sig and with optional feedback fdb.

Member Data Documentation

◆ m_delay

AudioBase AuLib::Delay::m_delay
protected

◆ m_fdb

double AuLib::Delay::m_fdb
protected

◆ m_pos

uint64_t AuLib::Delay::m_pos
protected

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