YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches

portaudio deprecated: This device driver has been deprecated! Please use PortAudioPlayerDeviceDriver or PortAudioRecorderDeviceDriver More...

#include <portaudio/PortAudioDeviceDriver.h>

+ Inheritance diagram for PortAudioDeviceDriver:

Public Member Functions

 PortAudioDeviceDriver ()
 
virtual ~PortAudioDeviceDriver ()
 
bool open (yarp::os::Searchable &config) override
 Open the DeviceDriver.
 
bool open (PortAudioDeviceDriverSettings &config)
 Configures the device.
 
bool close () override
 Close the DeviceDriver.
 
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.
 
bool renderSound (const yarp::sig::Sound &sound) override
 Render a sound using a device (i.e.
 
bool startRecording () override
 Start the recording.
 
bool stopRecording () override
 Stop the recording.
 
bool startPlayback () override
 Start the playback.
 
bool stopPlayback () override
 Stop the playback.
 
bool isPlaying (bool &playback_enabled) override
 Check if the playback has been enabled (e.g.
 
bool isRecording (bool &recording_enabled) override
 Check if the recording has been enabled (e.g.
 
bool abortSound ()
 
bool immediateSound (const yarp::sig::Sound &sound)
 
bool appendSound (const yarp::sig::Sound &sound)
 
bool getPlaybackAudioBufferMaxSize (yarp::sig::AudioBufferSize &size) override
 
bool getPlaybackAudioBufferCurrentSize (yarp::sig::AudioBufferSize &size) override
 
bool resetPlaybackAudioBuffer () override
 
bool getRecordingAudioBufferMaxSize (yarp::sig::AudioBufferSize &size) override
 
bool getRecordingAudioBufferCurrentSize (yarp::sig::AudioBufferSize &size) override
 
bool resetRecordingAudioBuffer () override
 
bool setHWGain (double gain) override
 Sets the hardware gain of the grabbing device (if supported by the hardware)
 
bool setSWGain (double gain) override
 Sets a software gain for the grabbed audio.
 
- Public Member Functions inherited from yarp::dev::IAudioGrabberSound
virtual ~IAudioGrabberSound ()
 Destructor.
 
- Public Member Functions inherited from yarp::dev::IAudioRender
virtual ~IAudioRender ()
 Destructor.
 
- Public Member Functions inherited from yarp::dev::DeviceDriver
 DeviceDriver ()
 
 DeviceDriver (const DeviceDriver &other)=delete
 
 DeviceDriver (DeviceDriver &&other) noexcept=delete
 
DeviceDriveroperator= (const DeviceDriver &other)=delete
 
DeviceDriveroperator= (DeviceDriver &&other) noexcept=delete
 
virtual ~DeviceDriver ()
 
virtual std::string id () const
 Return the id assigned to the PolyDriver.
 
virtual void setId (const std::string &id)
 Set the id for this device.
 
template<class T >
bool view (T *&x)
 Get an interface to the device driver.
 
virtual DeviceDrivergetImplementation ()
 Some drivers are bureaucrats, pointing at others.
 

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
 

Detailed Description

portaudio deprecated: This device driver has been deprecated! Please use PortAudioPlayerDeviceDriver or PortAudioRecorderDeviceDriver

Requires the PortAudio library (http://www.portaudio.com), at least v19.

Definition at line 60 of file PortAudioDeviceDriver.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
RENDER_APPEND 
RENDER_IMMEDIATE 

Definition at line 137 of file PortAudioDeviceDriver.h.

Constructor & Destructor Documentation

◆ PortAudioDeviceDriver()

PortAudioDeviceDriver::PortAudioDeviceDriver ( )

Definition at line 191 of file PortAudioDeviceDriver.cpp.

◆ ~PortAudioDeviceDriver()

PortAudioDeviceDriver::~PortAudioDeviceDriver ( )
virtual

Definition at line 209 of file PortAudioDeviceDriver.cpp.

Member Function Documentation

◆ abortSound()

bool PortAudioDeviceDriver::abortSound ( )

Definition at line 465 of file PortAudioDeviceDriver.cpp.

◆ appendSound()

bool PortAudioDeviceDriver::appendSound ( const yarp::sig::Sound sound)

Definition at line 606 of file PortAudioDeviceDriver.cpp.

◆ close()

bool PortAudioDeviceDriver::close ( )
overridevirtual

Close the DeviceDriver.

Returns
true/false on success/failure.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 368 of file PortAudioDeviceDriver.cpp.

◆ getPlaybackAudioBufferCurrentSize()

bool PortAudioDeviceDriver::getPlaybackAudioBufferCurrentSize ( yarp::sig::AudioBufferSize size)
overridevirtual

Implements yarp::dev::IAudioRender.

Definition at line 622 of file PortAudioDeviceDriver.cpp.

◆ getPlaybackAudioBufferMaxSize()

bool PortAudioDeviceDriver::getPlaybackAudioBufferMaxSize ( yarp::sig::AudioBufferSize size)
overridevirtual

Implements yarp::dev::IAudioRender.

Definition at line 628 of file PortAudioDeviceDriver.cpp.

◆ getRecordingAudioBufferCurrentSize()

bool PortAudioDeviceDriver::getRecordingAudioBufferCurrentSize ( yarp::sig::AudioBufferSize size)
overridevirtual

Implements yarp::dev::IAudioGrabberSound.

Definition at line 640 of file PortAudioDeviceDriver.cpp.

◆ getRecordingAudioBufferMaxSize()

bool PortAudioDeviceDriver::getRecordingAudioBufferMaxSize ( yarp::sig::AudioBufferSize size)
overridevirtual

Implements yarp::dev::IAudioGrabberSound.

Definition at line 646 of file PortAudioDeviceDriver.cpp.

◆ getSound()

bool PortAudioDeviceDriver::getSound ( yarp::sig::Sound sound,
size_t  min_number_of_samples,
size_t  max_number_of_samples,
double  max_samples_timeout_s 
)
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).

Parameters
soundthe 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.
Returns
true upon success, false for an invalid set of parameters, such as max_number_of_samples<min_number_of_samples, etc.

Implements yarp::dev::IAudioGrabberSound.

Definition at line 412 of file PortAudioDeviceDriver.cpp.

◆ handleError()

void PortAudioDeviceDriver::handleError ( )
protected

Definition at line 355 of file PortAudioDeviceDriver.cpp.

◆ immediateSound()

bool PortAudioDeviceDriver::immediateSound ( const yarp::sig::Sound sound)

Definition at line 551 of file PortAudioDeviceDriver.cpp.

◆ isPlaying()

bool PortAudioDeviceDriver::isPlaying ( bool playback_enabled)
overridevirtual

Check if the playback has been enabled (e.g.

via startPlayback()/stopPlayback())

Parameters
playback_enabledthe status of the device
Returns
true/false upon success/failure

Implements yarp::dev::IAudioRender.

Definition at line 682 of file PortAudioDeviceDriver.cpp.

◆ isRecording()

bool PortAudioDeviceDriver::isRecording ( bool recording_enabled)
overridevirtual

Check if the recording has been enabled (e.g.

via startRecording()/stopRecording())

Parameters
recording_enabledthe status of the device
Returns
true/false upon success/failure

Implements yarp::dev::IAudioGrabberSound.

Definition at line 688 of file PortAudioDeviceDriver.cpp.

◆ open() [1/2]

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

Returns
true on success

Definition at line 248 of file PortAudioDeviceDriver.cpp.

◆ open() [2/2]

bool PortAudioDeviceDriver::open ( yarp::os::Searchable config)
overridevirtual

Open the DeviceDriver.

Parameters
configis 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).
Returns
true/false upon success/failure

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 215 of file PortAudioDeviceDriver.cpp.

◆ renderSound()

bool PortAudioDeviceDriver::renderSound ( const yarp::sig::Sound sound)
overridevirtual

Render a sound using a device (i.e.

send it to the speakers).

Parameters
soundthe sound to be rendered
Returns
true/false upon success/failure

Implements yarp::dev::IAudioRender.

Definition at line 569 of file PortAudioDeviceDriver.cpp.

◆ resetPlaybackAudioBuffer()

bool PortAudioDeviceDriver::resetPlaybackAudioBuffer ( )
overridevirtual

Implements yarp::dev::IAudioRender.

Definition at line 634 of file PortAudioDeviceDriver.cpp.

◆ resetRecordingAudioBuffer()

bool PortAudioDeviceDriver::resetRecordingAudioBuffer ( )
overridevirtual

Implements yarp::dev::IAudioGrabberSound.

Definition at line 652 of file PortAudioDeviceDriver.cpp.

◆ setHWGain()

bool PortAudioDeviceDriver::setHWGain ( double  gain)
overridevirtual

Sets the hardware gain of the grabbing device (if supported by the hardware)

Parameters
gainthe audio gain (1.0 is the default value)
Returns
true/false upon success/failure

Implements yarp::dev::IAudioGrabberSound.

Definition at line 676 of file PortAudioDeviceDriver.cpp.

◆ setSWGain()

bool PortAudioDeviceDriver::setSWGain ( double  gain)
overridevirtual

Sets a software gain for the grabbed audio.

Parameters
gainthe audio gain (1.0 is the default value)
Returns
true/false upon success/failure

Implements yarp::dev::IAudioGrabberSound.

Definition at line 670 of file PortAudioDeviceDriver.cpp.

◆ startPlayback()

bool PortAudioDeviceDriver::startPlayback ( )
overridevirtual

Start the playback.

Returns
true/false upon success/failure

Implements yarp::dev::IAudioRender.

Definition at line 658 of file PortAudioDeviceDriver.cpp.

◆ startRecording()

bool PortAudioDeviceDriver::startRecording ( )
overridevirtual

Start the recording.

Returns
true/false upon success/failure

Implements yarp::dev::IAudioGrabberSound.

Definition at line 396 of file PortAudioDeviceDriver.cpp.

◆ stopPlayback()

bool PortAudioDeviceDriver::stopPlayback ( )
overridevirtual

Stop the playback.

Returns
true/false upon success/failure

Implements yarp::dev::IAudioRender.

Definition at line 664 of file PortAudioDeviceDriver.cpp.

◆ stopRecording()

bool PortAudioDeviceDriver::stopRecording ( )
overridevirtual

Stop the recording.

Returns
true/false upon success/failure

Implements yarp::dev::IAudioGrabberSound.

Definition at line 404 of file PortAudioDeviceDriver.cpp.

Member Data Documentation

◆ m_driverConfig

PortAudioDeviceDriverSettings PortAudioDeviceDriver::m_driverConfig
protected

Definition at line 136 of file PortAudioDeviceDriver.h.

◆ m_frequency

int PortAudioDeviceDriver::m_frequency
protected

Definition at line 132 of file PortAudioDeviceDriver.h.

◆ m_getSoundIsNotBlocking

bool PortAudioDeviceDriver::m_getSoundIsNotBlocking
protected

Definition at line 134 of file PortAudioDeviceDriver.h.

◆ m_loopBack

bool PortAudioDeviceDriver::m_loopBack
protected

Definition at line 133 of file PortAudioDeviceDriver.h.

◆ m_numPlaybackChannels

size_t PortAudioDeviceDriver::m_numPlaybackChannels
protected

Definition at line 130 of file PortAudioDeviceDriver.h.

◆ m_numRecordChannels

size_t PortAudioDeviceDriver::m_numRecordChannels
protected

Definition at line 131 of file PortAudioDeviceDriver.h.

◆ m_system_resource

void* PortAudioDeviceDriver::m_system_resource
protected

Definition at line 129 of file PortAudioDeviceDriver.h.

◆ []

enum { ... } PortAudioDeviceDriver::renderMode

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