summaryrefslogtreecommitdiffstats
path: root/app/paclient.h
diff options
context:
space:
mode:
authorMatt Porter <mporter@konsulko.com>2017-04-20 12:49:15 -0400
committerMatt Porter <mporter@konsulko.com>2017-04-21 12:50:02 -0400
commit288256f33f6298204cd0166cea3202d1fde100da (patch)
tree2aa30a1b09c99e63ce3868ce2fa925472b70bf7c /app/paclient.h
parent9e23981d8a86a3530c03be2d541585ce88e7b914 (diff)
Add support for handling external sink/source volume change events
Subscribes to PA volume change events, updating the local cached volume levels, and propagating the change to the UI. This allows changes to sink/source volumes levels from the command line (pactl) or a master volume control to be reflected in the mixer UI controls. Change-Id: I1d570dffeab9fcf4b6ba51e4792852b44a6149ca AGL-Bug: SPEC-549 Signed-off-by: Matt Porter <mporter@konsulko.com>
Diffstat (limited to 'app/paclient.h')
-rw-r--r--app/paclient.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/paclient.h b/app/paclient.h
index 002fbb3..b8a7961 100644
--- a/app/paclient.h
+++ b/app/paclient.h
@@ -75,11 +75,15 @@ 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 volumeExternallyChanged(uint32_t type, uint32_t cindex, uint32_t channel, uint32_t volume);
private:
bool m_init;
@@ -88,4 +92,6 @@ class PaClient : public QObject
pa_context *m_ctx;
QHash<int, pa_cvolume *> m_sink_states;
QHash<int, pa_cvolume *> m_source_states;
+
+ public slots:
};