aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Output/alsa/outputalsa.h
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-09-27 20:49:23 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-09-27 20:49:23 +0000
commitd26eba2fad30b2bf23135d0e9b203fdee2a935b5 (patch)
tree9caac3416b5ffa0f0b2030a57e2462a64a1e330f /src/plugins/Output/alsa/outputalsa.h
parent3503bb88cdb79aa9114b88f7fe5c8478f824caf6 (diff)
downloadqmmp-d26eba2fad30b2bf23135d0e9b203fdee2a935b5.tar.gz
qmmp-d26eba2fad30b2bf23135d0e9b203fdee2a935b5.tar.bz2
qmmp-d26eba2fad30b2bf23135d0e9b203fdee2a935b5.zip
volume control api
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@568 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Output/alsa/outputalsa.h')
-rw-r--r--src/plugins/Output/alsa/outputalsa.h34
1 files changed, 31 insertions, 3 deletions
diff --git a/src/plugins/Output/alsa/outputalsa.h b/src/plugins/Output/alsa/outputalsa.h
index a3bb817ee..abf7cb1e5 100644
--- a/src/plugins/Output/alsa/outputalsa.h
+++ b/src/plugins/Output/alsa/outputalsa.h
@@ -25,22 +25,27 @@ class OutputALSA;
#include <QObject>
-extern "C" {
+extern "C"
+{
#include <alsa/asoundlib.h>
}
#include <qmmp/output.h>
+#include <qmmp/volumecontrol.h>
class OutputALSA : public Output
{
-Q_OBJECT
+ Q_OBJECT
public:
OutputALSA(QObject * parent = 0, bool useVolume = TRUE);
~OutputALSA();
bool initialize();
- bool isInitialized() const { return m_inited; }
+ bool isInitialized() const
+ {
+ return m_inited;
+ }
void uninitialize();
void configure(quint32, int, int);
void stop();
@@ -72,6 +77,29 @@ private:
size_t m_bits_per_frame;
//alsa mixer
+ /*int setupMixer(QString card, QString device);
+ void parseMixerName(char *str, char **name, int *index);
+ int getMixer(snd_mixer_t **mixer, QString card);
+ snd_mixer_elem_t* getMixerElem(snd_mixer_t *mixer, char *name, int index);
+ snd_mixer_t *mixer;
+ snd_mixer_elem_t *pcm_element;*/
+ bool m_use_mmap;
+};
+
+class VolumeControlALSA : public VolumeControl
+{
+ Q_OBJECT
+public:
+ VolumeControlALSA(QObject *parent = 0);
+ ~VolumeControlALSA();
+
+ void setVolume(int left, int right) ;
+
+protected:
+ void volume(int *left, int *right);
+
+private:
+ //alsa mixer
int setupMixer(QString card, QString device);
void parseMixerName(char *str, char **name, int *index);
int getMixer(snd_mixer_t **mixer, QString card);