diff options
author | Matt Porter <mporter@konsulko.com> | 2017-04-20 12:49:15 -0400 |
---|---|---|
committer | Matt Porter <mporter@konsulko.com> | 2017-04-21 12:50:02 -0400 |
commit | 288256f33f6298204cd0166cea3202d1fde100da (patch) | |
tree | 2aa30a1b09c99e63ce3868ce2fa925472b70bf7c /app/paclient.h | |
parent | 9e23981d8a86a3530c03be2d541585ce88e7b914 (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.h | 6 |
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: }; |