gtkIOStream  1.7.0
GTK+ << C++ IOStream operators for GTK+. Now with ORBing, numerical computation, audio client and more ...
ALSA::Capture Class Reference

#include <Capture.H>

Inheritance diagram for ALSA::Capture:
[legend]
Collaboration diagram for ALSA::Capture:
[legend]

Public Member Functions

 Capture (const char *devName)
 
 Capture ()
 Constructor. More...
 
int readBuf (char *buffer, size_t len)
 
template<typename Derived >
int readBuf (const Eigen::DenseBase< Derived > &audioData)
 
template<typename Derived >
Captureoperator>> (const Eigen::DenseBase< Derived > &audioData)
 
- Public Member Functions inherited from ALSA::Stream
 Stream ()
 Constructor. More...
 
int init (const char *device, snd_pcm_stream_t streamType, bool blockIn)
 
virtual ~Stream ()
 Destructor. More...
 
const char * getFormatName (const snd_pcm_format_t format)
 get name of PCM sample format More...
 
int open (const char *device, snd_pcm_stream_t streamType, const int block)
 
int setParams ()
 
int setSilence (void *data, unsigned int samples)
 Silence a PCM samples buffer. More...
 
int link (Stream &s)
 
int wait (int timeOut=1000)
 
int getFormatBits ()
 
- Public Member Functions inherited from ALSA::Software
 Software (void)
 
virtual ~Software (void)
 
int getSWParams ()
 
int setSWParams ()
 
int setSWThreshold (snd_pcm_uframes_t thresh)
 
int setAvailMin (snd_pcm_uframes_t cnt)
 
void * getAddress (const snd_pcm_channel_area_t *areas, snd_pcm_uframes_t offset) const
 
template<typename SAMPLE_TYPE >
int getChannelCount (const snd_pcm_channel_area_t *areas) const
 
int dumpSWParams ()
 
- Public Member Functions inherited from ALSA::Hardware
int getHWParams ()
 
int fillParams ()
 
int resetParams ()
 
 Hardware ()
 
virtual ~Hardware ()
 
void copyFrom (snd_pcm_hw_params_t *hParamsIn)
 
int rateResample (unsigned int state)
 
int setAccess (snd_pcm_access_t access)
 
int getAccess (void)
 
int setFormat (snd_pcm_format_t format)
 
int getFormat (snd_pcm_format_t &format)
 
int getFormatPhysicalWidth ()
 
int setChannels (unsigned int cnt)
 
int getChannels ()
 
int getMaxChannels ()
 
int setSampleRate (unsigned int rrate, int dir=0)
 
int getSampleRate (int dir=0)
 
int getPeriodSize (snd_pcm_uframes_t *p, int *dir=NULL)
 
int getPeriodSize (int *dir=NULL)
 
int setPeriodSize (snd_pcm_uframes_t *p, int *dir=0)
 
int setBufSize (snd_pcm_uframes_t bufSize)
 
const char * formatDescription (const snd_pcm_format_t format) const
 
const char * getDeviceName ()
 
int dumpHWParams ()
 
- Public Member Functions inherited from ALSA::PCM
 PCM ()
 
virtual ~PCM ()
 
virtual snd_pcm_t * getPCM ()
 
snd_pcm_t ** getPCMP ()
 
int open (const char *device, snd_pcm_stream_t streamType, const int block)
 
int close ()
 
int drop ()
 
int drain ()
 
int reset ()
 
void enableLog ()
 
int logEnabled ()
 
int dumpStatus ()
 
int dumpPCM ()
 
int dumpSetup ()
 
int dumpHWSetup ()
 
int dumpSWSetup ()
 
int start ()
 
snd_pcm_state_t getState ()
 
const char * getStateName ()
 
bool prepared ()
 
bool opened ()
 
bool isSetup ()
 
bool running ()
 
bool hasXrun ()
 
bool draining ()
 
bool paused ()
 
bool suspended ()
 
bool disconnected ()
 

Private Member Functions

void init (const char *devName)
 

Additional Inherited Members

- Protected Member Functions inherited from ALSA::Hardware
int setHWParams ()
 
- Protected Attributes inherited from ALSA::Stream
bool block
 Whether to block or use NONBLOCK. More...
 
- Protected Attributes inherited from ALSA::PCM
snd_output_t * log
 The log stream if enabled. More...
 
snd_pcm_t * handle
 PCM handle. More...
 

Detailed Description

The input channels of this sound card

Examples:
ALSACaptureTest.C.

Definition at line 25 of file Capture.H.

Constructor & Destructor Documentation

◆ Capture() [1/2]

ALSA::Capture::Capture ( const char *  devName)
inline

Constructor specifying the device name

Parameters
devNameThe device name to open.

Definition at line 38 of file Capture.H.

Here is the call graph for this function:

◆ Capture() [2/2]

ALSA::Capture::Capture ( )
inline

Constructor.

Definition at line 43 of file Capture.H.

Here is the call graph for this function:

Member Function Documentation

◆ init()

void ALSA::Capture::init ( const char *  devName)
inlineprivate

Definition at line 26 of file Capture.H.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator>>()

template<typename Derived >
Capture& ALSA::Capture::operator>> ( const Eigen::DenseBase< Derived > &  audioData)
inline

Using known parameters from the Eigen densebase, read the audio in.

Parameters
audioDataOne channel per column
Returns
A reference to this instance for further use.

Definition at line 96 of file Capture.H.

Here is the call graph for this function:

◆ readBuf() [1/2]

int ALSA::Capture::readBuf ( char *  buffer,
size_t  len 
)
inline

Read data from the PCM device - inverleaved version

Parameters
bufferThe audio buffer to read into
lenThe number of audio frames to write

Definition at line 51 of file Capture.H.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readBuf() [2/2]

template<typename Derived >
int ALSA::Capture::readBuf ( const Eigen::DenseBase< Derived > &  audioData)
inline

Method to read the audio buffer from the PCM device. The number of frames read is taken from audioData.rows().

Parameters
audioDataThe audio buffer to read data into.

Definition at line 87 of file Capture.H.

Here is the call graph for this function:

The documentation for this class was generated from the following file:
gtkIOStream: ALSA::Capture Class Reference
GTK+ IOStream  Beta