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

#include <AuLib/Oscil.h>

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

Public Member Functions

 Oscil (double amp=0., double freq=0., double phase=0., uint32_t vframes=def_vframes, double sr=def_sr)
 
 Oscil (double amp, double freq, const FuncTable &ftable, double phase=0., uint32_t vframes=def_vframes, double sr=def_sr)
 
const Oscilprocess ()
 
const Oscilprocess (double amp)
 
const Oscilprocess (double amp, double freq)
 
const double * process (const double *amp, const double *freq)
 
const double * process (const double *amp)
 
const double * process (double amp, const double *freq)
 
const double * process (const double *amp, double freq)
 
const Oscilprocess (const AudioBase &obja)
 
const Oscilprocess (const AudioBase &obja, double freq)
 
const Oscilprocess (double amp, const AudioBase &objf)
 
const Oscilprocess (const AudioBase &obja, const AudioBase &objf)
 
const Osciloperator() (const AudioBase &a, const AudioBase &b)
 
const Osciloperator() (double a, const AudioBase &b)
 
const Osciloperator() (const AudioBase &a)
 
const Osciloperator() (const AudioBase &a, double b)
 
const Osciloperator() (double a)
 
const Osciloperator() ()
 
- 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 Member Functions

virtual void dsp ()
 
virtual void am_fm (uint32_t ndx)
 
virtual void set_incr (double f)
 
void mod ()
 

Protected Attributes

const double * m_table
 
double m_phs
 
double m_amp
 
double m_freq
 
double m_incr
 
const double * m_am
 
const double * m_fm
 
uint64_t m_tframes
 
- 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
 

Static Protected Attributes

static const FourierTable m_sine
 

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

Truncating oscillator

Constructor & Destructor Documentation

◆ Oscil() [1/2]

AuLib::Oscil::Oscil ( double  amp = 0.,
double  freq = 0.,
double  phase = 0.,
uint32_t  vframes = def_vframes,
double  sr = def_sr 
)

Sinusoidal Oscil constructor

amp - amplitude
freq - frequency in Hz
phase - init phase (0-1)
vframes - vector size
sr - sampling rate

Uses internal sine wave table

◆ Oscil() [2/2]

AuLib::Oscil::Oscil ( double  amp,
double  freq,
const FuncTable ftable,
double  phase = 0.,
uint32_t  vframes = def_vframes,
double  sr = def_sr 
)

Oscil constructor

amp - amplitude
freq - frequency in Hz
ftable - function table
phase - init phase (0-1)
vframes - vector size
sr - sampling rate

Member Function Documentation

◆ am_fm()

virtual void AuLib::Oscil::am_fm ( uint32_t  ndx)
inlineprotectedvirtual

AM/FM processing

Reimplemented in AuLib::BlOsc, and AuLib::SamplePlayer.

◆ dsp()

void AuLib::Oscil::dsp ( )
protectedvirtual

truncating oscillator process

Reimplemented in AuLib::SamplePlayer, AuLib::Oscili, and AuLib::Oscilic.

◆ mod()

void AuLib::Oscil::mod ( )
inlineprotected

modulo function

◆ operator()() [1/6]

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

operator(a,b) convenience method

◆ operator()() [2/6]

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

operator(a,b) convenience method

◆ operator()() [3/6]

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

operator(a) convenience method

◆ operator()() [4/6]

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

operator(a,b) convenience method

◆ operator()() [5/6]

const Oscil& AuLib::Oscil::operator() ( double  a)
inline

operator(a) convenience method

◆ operator()() [6/6]

const Oscil& AuLib::Oscil::operator() ( )
inline

operator() convenience method

◆ process() [1/11]

const Oscil& AuLib::Oscil::process ( )
inline

Process one vector of audio

◆ process() [2/11]

const Oscil& AuLib::Oscil::process ( double  amp)
inline

Process one vector of audio with amplitude amp

◆ process() [3/11]

const Oscil& AuLib::Oscil::process ( double  amp,
double  freq 
)
inline

Process one vector of audio with amplitude amp and frequency freq

◆ process() [4/11]

const double* AuLib::Oscil::process ( const double *  amp,
const double *  freq 
)
inline

Process one vector of audio with amplitude and freq modulation

◆ process() [5/11]

const double* AuLib::Oscil::process ( const double *  amp)
inline

Process one vector of audio with amplitude modulation

◆ process() [6/11]

const double* AuLib::Oscil::process ( double  amp,
const double *  freq 
)
inline

Process one vector of audio with amplitude amp and freq modulation

◆ process() [7/11]

const double* AuLib::Oscil::process ( const double *  amp,
double  freq 
)
inline

Process one vector of audio with amplitude modulation and frequency freq

◆ process() [8/11]

const Oscil& AuLib::Oscil::process ( const AudioBase obja)
inline

Process one vector of audio with amplitude modulation from obja

◆ process() [9/11]

const Oscil& AuLib::Oscil::process ( const AudioBase obja,
double  freq 
)
inline

Process one vector of audio with amplitude modulation from obja and frequency freq

◆ process() [10/11]

const Oscil& AuLib::Oscil::process ( double  amp,
const AudioBase objf 
)
inline

Process one vector of audio with amplitude amp and freq modulation from objf

◆ process() [11/11]

const Oscil& AuLib::Oscil::process ( const AudioBase obja,
const AudioBase objf 
)
inline

Process one vector of audio with amplitude from obja and freq modulation from objf

◆ set_incr()

virtual void AuLib::Oscil::set_incr ( double  f)
inlineprotectedvirtual

set the sampling increment

Reimplemented in AuLib::BlOsc, and AuLib::SamplePlayer.

Member Data Documentation

◆ m_am

const double* AuLib::Oscil::m_am
protected

◆ m_amp

double AuLib::Oscil::m_amp
protected

◆ m_fm

const double* AuLib::Oscil::m_fm
protected

◆ m_freq

double AuLib::Oscil::m_freq
protected

◆ m_incr

double AuLib::Oscil::m_incr
protected

◆ m_phs

double AuLib::Oscil::m_phs
protected

◆ m_sine

const AuLib::FourierTable AuLib::Oscil::m_sine
staticprotected

◆ m_table

const double* AuLib::Oscil::m_table
protected

◆ m_tframes

uint64_t AuLib::Oscil::m_tframes
protected

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