Gamma  0.9.5
Generic Synthesis Library
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
AudioIO Class Reference

Audio input/output streaming. More...

#include <AudioIO.h>

Inheritance diagram for AudioIO:
AudioIOData

List of all members.

Public Member Functions

 AudioIO (int framesPerBuf=64, double framesPerSec=44100.0, void(*callback)(AudioIOData &)=0, void *userData=0, int outChans=2, int inChans=0)
bool clipOut () const
 Returns clipOut setting.
double cpu () const
 Returns current CPU usage of audio thread.
bool supportsFPS (double fps) const
 Return true if fps supported, otherwise false.
bool zeroNANs () const
 Returns whether to zero NANs in output buffer going to DAC.
void operator() ()
 Call callback manually.
bool open ()
 Opens audio device.
bool close ()
 Closes audio device. Will stop active IO.
bool start ()
 Starts the audio IO. Will open audio device if necessary.
bool stop ()
 Stops the audio IO.
void channels (int num, bool forOutput)
 Sets number of effective channels on input or output device depending on 'forOutput' flag.
void channelsIn (int n)
 Set number of input channels.
void channelsOut (int n)
 Set number of output channels.
void channelsBus (int num)
 Set number of bus channels.
void clipOut (bool v)
 Set whether to clip output between -1 and 1.
void deviceIn (const AudioDevice &v)
 Set input device.
void deviceOut (const AudioDevice &v)
 Set output device.
void framesPerSecond (double v)
 Set number of frames per second.
void framesPerBuffer (int n)
 Set number of frames per processing buffer.
void zeroNANs (bool v)
 Set whether to zero NANs in output buffer going to DAC.
void print ()
 Prints info about current i/o devices to stdout.
bool operator() () const
 Iterate frame counter, returning true while more frames.
int frame () const
 Get current frame number.
void frame (int v)
 Set frame count for next iteration.
float & bus (int chan) const
 Get bus sample at current frame iteration on specified channel.
float & bus (int chan, int frame) const
 Get bus sample at specified channel and frame.
float * busBuffer (int chan=0) const
 Get non-interleaved bus buffer on specified channel.
const float & in (int chan) const
 Get input sample at current frame iteration on specified channel.
const float & in (int chan, int frame) const
 Get input sample at specified channel and frame.
const float * inBuffer (int chan=0) const
 Get non-interleaved input buffer on specified channel.
float & out (int chan) const
 Get output sample at current frame iteration on specified channel.
float & out (int chan, int frame) const
 Get output sample at specified channel and frame.
float * outBuffer (int chan=0) const
 Get non-interleaved output buffer on specified channel.
void sum (float v, int chan) const
 Add value to current output sample on specified channel.
void sum (float v, int ch1, int ch2) const
 Add value to current output sample on specified channels.
float & temp (int frame) const
 Get sample from temporary buffer at specified frame.
float * tempBuffer () const
 Get non-interleaved temporary buffer on specified channel.
void * user () const
 Get pointer to user data.
int channelsIn () const
 Get effective number of input channels.
int channelsOut () const
 Get effective number of output channels.
int channelsBus () const
 Get number of allocated bus channels.
int channelsInDevice () const
 Get number of channels opened on input device.
int channelsOutDevice () const
 Get number of channels opened on output device.
int framesPerBuffer () const
 Get frames/buffer of audio I/O stream.
double framesPerSecond () const
 Get frames/second of audio I/O streams.
double secondsPerBuffer () const
 Get seconds/buffer of audio I/O stream.
double time () const
 Get current stream time in seconds.
double time (int frame) const
 Get current stream time in seconds of frame.
void zeroBus ()
 Zeros all the bus buffers.
void zeroOut ()
 Zeros all the internal output buffers.

Public Attributes

audioCallback callback
 User specified callback function.

Detailed Description

Audio input/output streaming.

This is a wrapper around the PortAudio v1.9 library.


Constructor & Destructor Documentation

AudioIO ( int  framesPerBuf = 64,
double  framesPerSec = 44100.0,
void(*)(AudioIOData &)  callback = 0,
void *  userData = 0,
int  outChans = 2,
int  inChans = 0 
)

Creates AudioIO using default I/O devices.

Parameters:
[in]framesPerBufNumber of sample frames to process per callback
[in]framesPerSecFrame rate. Unsupported values will use default rate of device.
[in]callbackAudio processing callback
[in]userDataPointer to user data accessible within callback
[in]outChansNumber of output channels to open
[in]inChansNumber of input channels to open If the number of input or output channels is greater than the device supports, virtual buffers will be created.

Member Function Documentation

void channels ( int  num,
bool  forOutput 
)

Sets number of effective channels on input or output device depending on 'forOutput' flag.

An effective channel is either a real device channel or virtual channel depending on how many channels the device supports. Passing in -1 for the number of channels opens all available channels.


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