AuLib  1.0beta
Public Member Functions | List of all members
AuLib::Circular Class Referencefinal

#include <AuLib/Circular.h>

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

Public Member Functions

 Circular (uint32_t size, uint32_t nchnls=def_nchnls, uint32_t vframes=def_vframes, double sr=def_sr)
 
bool writes (const double *sig)
 
const double * reads ()
 
void write (const AudioBase &obj)
 
const AudioBaseread ()
 
void operator() (const AudioBase &obj)
 
const AudioBaseoperator() ()
 
uint32_t size () const
 
bool is_empty () 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
 

Additional Inherited Members

- Public Types inherited from AuLib::AudioBase
typedef std::vector< double >::iterator iterator
 
typedef std::vector< double >::const_iterator const_iterator
 
- 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
 

Detailed Description

Circular buffer: implements a buffer with atomic access

Constructor & Destructor Documentation

◆ Circular()

AuLib::Circular::Circular ( uint32_t  size,
uint32_t  nchnls = def_nchnls,
uint32_t  vframes = def_vframes,
double  sr = def_sr 
)
inline

Constructs a circular buffer with a given size in frames

Member Function Documentation

◆ is_empty()

bool AuLib::Circular::is_empty ( ) const
inline

check if buffer is empty

◆ operator()() [1/2]

void AuLib::Circular::operator() ( const AudioBase obj)
inline

Convenience operator(), same as write()

◆ operator()() [2/2]

const AudioBase& AuLib::Circular::operator() ( )
inline

Convenience operator(), same as read()

◆ read()

const AudioBase& AuLib::Circular::read ( )
inline

Reads a block of frames from the circular buffer, returns a reference to this object, which contains the output.

◆ reads()

const double* AuLib::Circular::reads ( )
inline

Reads a block of vframes() samples from the circular buffer into the object vector. If the buffer is empty, nothing is written and the function returns a nullptr. Otherwise, it returns a pointer to the vector.

◆ size()

uint32_t AuLib::Circular::size ( ) const
inline

Circular buffer size in frames

◆ write()

void AuLib::Circular::write ( const AudioBase obj)
inline

Writes a block of frames from obj into the circular buffer

◆ writes()

bool AuLib::Circular::writes ( const double *  sig)
inline

Writes a block of vframes() samples into the circular buffer. There should be at least vframes() samples in sig. If the buffer is full, nothing is written and the function returns false. Returns true on success.


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