portaudio
: Documentation to be added
More...
#include <portaudio/PortAudioDeviceDriver.h>
Public Member Functions | |
PortAudioDeviceDriver () | |
virtual | ~PortAudioDeviceDriver () |
bool | open (yarp::os::Searchable &config) override |
Open the DeviceDriver. More... | |
bool | open (PortAudioDeviceDriverSettings &config) |
Configures the device. More... | |
bool | close () override |
Close the DeviceDriver. More... | |
bool | getSound (yarp::sig::Sound &sound, size_t min_number_of_samples, size_t max_number_of_samples, double max_samples_timeout_s) override |
Get a sound from a device. More... | |
bool | renderSound (const yarp::sig::Sound &sound) override |
Render a sound using a device (i.e. More... | |
bool | startRecording () override |
Start the recording. More... | |
bool | stopRecording () override |
Stop the recording. More... | |
bool | startPlayback () override |
Start the playback. More... | |
bool | stopPlayback () override |
Stop the playback. More... | |
bool | abortSound () |
bool | immediateSound (const yarp::sig::Sound &sound) |
bool | appendSound (const yarp::sig::Sound &sound) |
bool | getPlaybackAudioBufferMaxSize (yarp::dev::AudioBufferSize &size) override |
bool | getPlaybackAudioBufferCurrentSize (yarp::dev::AudioBufferSize &size) override |
bool | resetPlaybackAudioBuffer () override |
bool | getRecordingAudioBufferMaxSize (yarp::dev::AudioBufferSize &size) override |
bool | getRecordingAudioBufferCurrentSize (yarp::dev::AudioBufferSize &size) override |
bool | resetRecordingAudioBuffer () override |
Public Member Functions inherited from yarp::dev::IAudioGrabberSound | |
virtual | ~IAudioGrabberSound () |
Destructor. More... | |
Public Member Functions inherited from yarp::dev::IAudioRender | |
virtual | ~IAudioRender () |
Destructor. More... | |
Public Member Functions inherited from yarp::dev::DeviceDriver | |
~DeviceDriver () override=default | |
Destructor. More... | |
template<class T > | |
bool | view (T *&x) |
Get an interface to the device driver. More... | |
virtual DeviceDriver * | getImplementation () |
Some drivers are bureaucrats, pointing at others. More... | |
Public Member Functions inherited from yarp::os::IConfig | |
virtual | ~IConfig () |
Destructor. More... | |
virtual bool | configure (Searchable &config) |
Change online parameters. More... | |
Protected Types | |
enum | { RENDER_APPEND =0, RENDER_IMMEDIATE =1 } |
Protected Member Functions | |
void | handleError () |
Protected Attributes | |
void * | m_system_resource |
size_t | m_numPlaybackChannels |
size_t | m_numRecordChannels |
int | m_frequency |
bool | m_loopBack |
bool | m_getSoundIsNotBlocking |
PortAudioDeviceDriverSettings | m_driverConfig |
enum PortAudioDeviceDriver:: { ... } | renderMode |
portaudio
: Documentation to be added
Requires the PortAudio library (http://www.portaudio.com), at least v19.
Definition at line 72 of file PortAudioDeviceDriver.h.
|
protected |
Enumerator | |
---|---|
RENDER_APPEND | |
RENDER_IMMEDIATE |
Definition at line 144 of file PortAudioDeviceDriver.h.
PortAudioDeviceDriver::PortAudioDeviceDriver | ( | ) |
Definition at line 189 of file PortAudioDeviceDriver.cpp.
|
virtual |
Definition at line 207 of file PortAudioDeviceDriver.cpp.
bool PortAudioDeviceDriver::abortSound | ( | ) |
Definition at line 449 of file PortAudioDeviceDriver.cpp.
bool PortAudioDeviceDriver::appendSound | ( | const yarp::sig::Sound & | sound | ) |
Definition at line 587 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Close the DeviceDriver.
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 353 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Implements yarp::dev::IAudioRender.
Definition at line 601 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Implements yarp::dev::IAudioRender.
Definition at line 607 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Implements yarp::dev::IAudioGrabberSound.
Definition at line 619 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Implements yarp::dev::IAudioGrabberSound.
Definition at line 625 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Get a sound from a device.
Examples: getSound(s, 0, 100, 0.1); returns a sound whose size can vary between 0 and 100, with a maximum blocking time of 0.1 getSound(s, 100, 100, 0.0); returns a sound with exact size of 100. It may block forever (more specifically, until sound size is at least 100). getSound(s, 100, 100000, 0.0); returns a sound with a minimum size of 0, while trying to transfer all the internal buffer. It may block forever (more specifically, until sound size is at least 100).
sound | the sound to be filled |
min_number_of_samples. | The function will block until the driver is able to collect at least min_number_of_samples. If set to zero, the function may return empty sounds. |
max_number_of_samples. | The function will block until the driver is either able to collect max_number_of_samples or the timeout expires. |
max_samples_timeout_s. | The timeout (in seconds) to retrieve max_number_of_samples. |
Implements yarp::dev::IAudioGrabberSound.
Definition at line 397 of file PortAudioDeviceDriver.cpp.
|
protected |
Definition at line 340 of file PortAudioDeviceDriver.cpp.
bool PortAudioDeviceDriver::immediateSound | ( | const yarp::sig::Sound & | sound | ) |
Definition at line 535 of file PortAudioDeviceDriver.cpp.
bool PortAudioDeviceDriver::open | ( | PortAudioDeviceDriverSettings & | config | ) |
Configures the device.
rate: Sample rate to use, in Hertz. Specify 0 to use a default.
samples: Number of samples per call to getSound. Specify 0 to use a default.
channels: Number of channels of input. Specify 0 to use a default.
read: Should allow reading
write: Should allow writing
Definition at line 246 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Open the DeviceDriver.
config | is a list of parameters for the device. Which parameters are effective for your device can vary. See device invocation examples. If there is no example for your device, you can run the "yarpdev" program with the verbose flag set to probe what parameters the device is checking. If that fails too, you'll need to read the source code (please nag one of the yarp developers to add documentation for your device). |
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 213 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Render a sound using a device (i.e.
send it to the speakers).
sound | the sound to be rendered |
Implements yarp::dev::IAudioRender.
Definition at line 551 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Implements yarp::dev::IAudioRender.
Definition at line 613 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Implements yarp::dev::IAudioGrabberSound.
Definition at line 631 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Start the playback.
Implements yarp::dev::IAudioRender.
Definition at line 637 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Start the recording.
Implements yarp::dev::IAudioGrabberSound.
Definition at line 381 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Stop the playback.
Implements yarp::dev::IAudioRender.
Definition at line 643 of file PortAudioDeviceDriver.cpp.
|
overridevirtual |
Stop the recording.
Implements yarp::dev::IAudioGrabberSound.
Definition at line 389 of file PortAudioDeviceDriver.cpp.
|
protected |
Definition at line 143 of file PortAudioDeviceDriver.h.
|
protected |
Definition at line 139 of file PortAudioDeviceDriver.h.
|
protected |
Definition at line 141 of file PortAudioDeviceDriver.h.
|
protected |
Definition at line 140 of file PortAudioDeviceDriver.h.
|
protected |
Definition at line 137 of file PortAudioDeviceDriver.h.
|
protected |
Definition at line 138 of file PortAudioDeviceDriver.h.
|
protected |
Definition at line 136 of file PortAudioDeviceDriver.h.
enum { ... } PortAudioDeviceDriver::renderMode |