EyaAudio Class Reference

Audio mixer class. More...

#include <eyasetuptab.h>

List of all members.

Public Slots

void slotStartDevice ()
 Start acquisition.
void slotStopDevice ()
 Stop acquisition.

Public Member Functions

 EyaAudio (QWidget *parent=0, Qt::WindowFlags f=0)
 Constructor.
 ~EyaAudio ()
 Destructor.
bool setDevice (QString)
 To set the device from witch acquire the audio stream.
void setLine (int)
 To set the line (front mic.
bool openMixer ()
 It opens the audio alsa mixer.
void closeMixer ()
 To close the mixer.
QStringList getMixerElements ()
 Only the input mixer elements are taken into account.

Private Slots

void slotRefreshRms ()
 Recalculate the RMS and show it.
void slotMuteChanged (int)
 Signal from the enable checkbox.
void slotSetVolume (double)
 Signal from the hw audio gain slider.
void slotSetSoftVolume (double)
 Signal from the sw audio gain slider.
void slotInputSource (int)
 Signal from the source audio combobox.

Private Member Functions

void refreshedLine ()
 This function refreshes the displayed line (call this function when you have to change the line).
void removeMapLines ()
void init ()
 Setup the default values.
bool openDsp ()
 Open the audio device.
void closeDsp ()
 Close the audio device.

Private Attributes

QList< snd_mixer_selem_id_t * > mapLines
QHBoxLayout * layoutMixerSoftGain
QGroupBox * boxMixer
QGroupBox * boxSoftGain
QHBoxLayout * layoutSoftGain
QHBoxLayout * layoutSliders
QHBoxLayout * layoutInputMute
QVBoxLayout * mainLayout
QwtThermo * rightChannel
QwtThermo * leftChannel
QwtSlider * gain
QwtSlider * softGain
 Hw and Sw gains.
QString device
 The audio device.
QTimer * timerRms
 To refresh the RMS bars.
QCheckBox * checkEnable
 To enable the current element.
QComboBox * comboInputSource
 To select the input to be used (mic or front mic).
int bitsPerSample
int line
 The selected line.
snd_pcm_t * capture_handle
snd_mixer_t * mixer_handle


Detailed Description

Audio mixer class.

This class provides a mixer window in order to set the parameter of the audio device. In addition to the standard settings, the user can change a software audio gain which drives the ffmpeg audio part. This class provides: two bars with the RMS value of the sound, one slider to set the audio hw gain, one slider to set an audio sw gain, a checkbox to enable/disable the line and a combobox to select the input source.

Note:
This class manages the audio via the ALSA lib (no OSS).

Constructor & Destructor Documentation

EyaAudio::EyaAudio ( QWidget *  parent = 0,
Qt::WindowFlags  f = 0 
)

Constructor.

EyaAudio::~EyaAudio (  ) 

Destructor.


Member Function Documentation

void EyaAudio::closeDsp (  )  [private]

Close the audio device.

void EyaAudio::closeMixer (  ) 

To close the mixer.

QStringList EyaAudio::getMixerElements (  ) 

Only the input mixer elements are taken into account.

void EyaAudio::init (  )  [private]

Setup the default values.

bool EyaAudio::openDsp (  )  [private]

Open the audio device.

bool EyaAudio::openMixer (  ) 

It opens the audio alsa mixer.

void EyaAudio::refreshedLine (  )  [private]

This function refreshes the displayed line (call this function when you have to change the line).

void EyaAudio::removeMapLines (  )  [private]

bool EyaAudio::setDevice ( QString  d  ) 

To set the device from witch acquire the audio stream.

void EyaAudio::setLine ( int  l  ) 

To set the line (front mic.

..) from witch acquire the audio stream

void EyaAudio::slotInputSource ( int  idx  )  [private, slot]

Signal from the source audio combobox.

void EyaAudio::slotMuteChanged ( int  s  )  [private, slot]

Signal from the enable checkbox.

void EyaAudio::slotRefreshRms (  )  [private, slot]

Recalculate the RMS and show it.

void EyaAudio::slotSetSoftVolume ( double  g  )  [private, slot]

Signal from the sw audio gain slider.

void EyaAudio::slotSetVolume ( double  val  )  [private, slot]

Signal from the hw audio gain slider.

void EyaAudio::slotStartDevice (  )  [slot]

Start acquisition.

void EyaAudio::slotStopDevice (  )  [slot]

Stop acquisition.


Member Data Documentation

int EyaAudio::bitsPerSample [private]

QGroupBox* EyaAudio::boxMixer [private]

QGroupBox * EyaAudio::boxSoftGain [private]

snd_pcm_t* EyaAudio::capture_handle [private]

QCheckBox* EyaAudio::checkEnable [private]

To enable the current element.

QComboBox* EyaAudio::comboInputSource [private]

To select the input to be used (mic or front mic).

QString EyaAudio::device [private]

The audio device.

QwtSlider* EyaAudio::gain [private]

QHBoxLayout * EyaAudio::layoutInputMute [private]

QHBoxLayout* EyaAudio::layoutMixerSoftGain [private]

QHBoxLayout* EyaAudio::layoutSliders [private]

QHBoxLayout* EyaAudio::layoutSoftGain [private]

QwtThermo * EyaAudio::leftChannel [private]

int EyaAudio::line [private]

The selected line.

QVBoxLayout* EyaAudio::mainLayout [private]

QList<snd_mixer_selem_id_t *> EyaAudio::mapLines [private]

snd_mixer_t* EyaAudio::mixer_handle [private]

QwtThermo* EyaAudio::rightChannel [private]

QwtSlider * EyaAudio::softGain [private]

Hw and Sw gains.

QTimer* EyaAudio::timerRms [private]

To refresh the RMS bars.


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

Generated on Mon Aug 24 14:01:38 2009 for openeya by  doxygen 1.5.8