AU_DevOut
—
agar audio output interface
The AU_DevOut
interface provides basic audio output
functionality, using different drivers to interface with different audio
systems.
AU_DevOut *
AU_OpenOut
(const
char *path, int rate,
int channels);
void
AU_CloseOut
(AU_DevOut
*dev);
int
AU_AddChannel
(AU_DevOut
*dev);
int
AU_DelChannel
(AU_DevOut
*dev, int
channel);
void
AU_WriteFloat
(AU_DevOut
*dev, float *data,
size_t frames);
The AU_OpenOut
() function opens the
specified output device. The path argument should
contain the name of the output driver, with optional arguments in round
brackets. For example, ‘pa’ opens the PortAudio output driver,
if available. The ‘file(foo.wav)’ argument specifies the
"file" driver with an output filename argument. The
rate argument is the requested sampling rate in Hz,
and channels is the requested number of channels (if
the device is unable to handle those settings, the call will fail). On
success, a device handle is returned.
AU_CloseOut
() closes the specified output
device.
Every output device has an associated set of virtual channels,
which is independent from the number of channels supported by the underlying
device (software mixing is done if necessary). The
AU_AddChannel
() function adds a new virtual channel
to the given output device. AU_DelChannel
() deletes
the specified channel.
The AU_WriteFloat
() routine writes one or
more frames to the output device. A single frame should contain one
float per channel.
The AU(3)
library and the AU_DevOut
interface first appeared in
Agar 1.5.0.