diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | e2de64d6f1beb9e492daf5b886e19933c1fa41dd (patch) | |
tree | 9047cf9e6b5c43878d5bf82660adae77ceee097a /kmix/mixer_alsa.h | |
download | tdemultimedia-e2de64d6f1beb9e492daf5b886e19933c1fa41dd.tar.gz tdemultimedia-e2de64d6f1beb9e492daf5b886e19933c1fa41dd.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kmix/mixer_alsa.h')
-rw-r--r-- | kmix/mixer_alsa.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/kmix/mixer_alsa.h b/kmix/mixer_alsa.h new file mode 100644 index 00000000..da04e372 --- /dev/null +++ b/kmix/mixer_alsa.h @@ -0,0 +1,53 @@ +#ifndef MIXER_ALSA_H +#define MIXER_ALSA_H + +// QT includes +#include <qvaluelist.h> + +// Forward QT includes +class QString; +class QSocketNotifier; + +#include "mixer_backend.h" + +class Mixer_ALSA : public Mixer_Backend +{ + public: + Mixer_ALSA( int device = -1 ); + ~Mixer_ALSA(); + + virtual int readVolumeFromHW( int devnum, Volume &vol ); + virtual int writeVolumeToHW( int devnum, Volume &vol ); + virtual bool setRecsrcHW( int devnum, bool on); + virtual bool isRecsrcHW( int devnum ); + virtual void setEnumIdHW(int mixerIdx, unsigned int); + virtual unsigned int enumIdHW(int mixerIdx); + virtual bool prepareUpdateFromHW(); + virtual bool needsPolling() { return false; } + virtual void prepareSignalling( Mixer *mixer ); + + protected: + virtual int open(); + virtual int close(); + + private: + int identify( snd_mixer_selem_id_t *sid ); + snd_mixer_elem_t* getMixerElem(int devnum); + void removeSignalling(); + + virtual QString errorText(int mixer_error); + typedef QValueList<snd_mixer_selem_id_t *>AlsaMixerSidList; + AlsaMixerSidList mixer_sid_list; + typedef QValueList<snd_mixer_elem_t *> AlsaMixerElemList; // !! remove + AlsaMixerElemList mixer_elem_list; // !! remove + + bool _initialUpdate; + snd_mixer_t *_handle; + QString devName; + struct pollfd *m_fds; + QSocketNotifier **m_sns; + int m_count; + +}; + +#endif |