28 #ifndef ASYNC_AUDIO_DEVICE_INCLUDED 29 #define ASYNC_AUDIO_DEVICE_INCLUDED 38 #include <sigc++/sigc++.h> 248 Mode
mode(
void)
const {
return current_mode; }
317 void putBlocks(int16_t *buf,
int frame_cnt);
318 int getBlocks(int16_t *buf,
int block_cnt);
322 static const int DEFAULT_SAMPLE_RATE = INTERNAL_SAMPLE_RATE;
323 static const int DEFAULT_CHANNELS = 2;
324 static const int DEFAULT_BLOCK_COUNT_HINT = 4;
325 static const int DEFAULT_BLOCK_SIZE_HINT = 256;
327 static std::map<std::string, AudioDevice*> devices;
331 std::list<AudioIO*> aios;
int getBlocks(int16_t *buf, int block_cnt)
virtual bool openDevice(Mode mode)=0
Open the audio device.
A class for handling audio input/output to an audio device.
virtual void closeDevice(void)=0
Close the audio device.
virtual void flushSamples(void)=0
const std::string & devName(void) const
Return the device name.
static void setChannels(int channels)
Set the number of channels used when doing future opens.
No mode. The same as close.
Base class for handling audio devices.
virtual ~AudioDevice(void)
Destructor.
static AudioDevice * registerAudioIO(const std::string &dev_designator, AudioIO *audio_io)
Register an AudioIO object with the given device name.
virtual void audioToWriteAvailable(void)=0
Tell the audio device handler that there are audio to be written in the buffer.
Namespace for the asynchronous programming classes.
void putBlocks(int16_t *buf, int frame_cnt)
Mode mode(void) const
Get the current operating mode of this audio device.
bool open(Mode mode)
Open the audio device.
AudioDevice(const std::string &dev_name)
Constuctor.
static void setBlockCount(int count)
Set the buffer count used when opening audio devices.
virtual int blocksize(void)=0
Find out what the blocksize is set to.
static int block_count_hint
static void setSampleRate(int rate)
Set the sample rate used when doing future opens.
static void unregisterAudioIO(AudioIO *audio_io)
Unregister a previously registered AudioIO object.
static int block_size_hint
virtual bool isFullDuplexCapable(void)=0
Check if the audio device has full duplex capability.
void close(void)
Close the audio device.
virtual int samplesToWrite(void) const =0
Find out how many samples there are in the output buffer.
static void setBlocksize(int size)
Set the blocksize used when opening audio devices.
Mode
The different modes to open a device in.
int sampleRate(void) const
Return the sample rate.