mixer: add clearer pulseaudio control naming
[apps/mixer.git] / app / paclient.h
index 1367e81..73137f2 100644 (file)
@@ -16,6 +16,7 @@
 
 #include <pulse/pulseaudio.h>
 
+#include <QtCore/QHash>
 #include <QtCore/QObject>
 
 const char * const channel_position_string[] =
@@ -74,16 +75,23 @@ class PaClient : public QObject
 
                void addOneControlState(int type, int index, const pa_cvolume *cvolume);
 
+               QHash<int, pa_cvolume *> sink_states();
+               QHash<int, pa_cvolume *> source_states();
+
        public slots:
                void setVolume(uint32_t type, uint32_t index, uint32_t channel, uint32_t volume);
 
        signals:
-               void controlAdded(int cindex, QString desc, int type, int channel, const char *cdesc, int volume);
+               void controlAdded(int cindex, QString name, QString desc, int type, int channel, const char *cdesc, int volume);
+               void volumeExternallyChanged(uint32_t type, uint32_t cindex, uint32_t channel, uint32_t volume);
 
        private:
                bool m_init;
                pa_threaded_mainloop *m_ml;
                pa_mainloop_api *m_mlapi;
                pa_context *m_ctx;
-               QList<CState *> m_cstatelist;
+               QHash<int, pa_cvolume *> m_sink_states;
+               QHash<int, pa_cvolume *> m_source_states;
+
+       public slots:
 };