summaryrefslogtreecommitdiffstats
path: root/app/paclient.cpp
AgeCommit message (Collapse)AuthorFilesLines
2017-04-21Add support for handling external sink/source volume change eventsMatt Porter1-8/+107
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>
2017-04-20Fix source volume setting in PaClient::setVolumeMatt Porter1-1/+1
Fix error resulting in sources not being found due to searching the sink cache hash. AGL-Bug: SPEC-548 Change-Id: Icd5a75af7a5fc2e0e125d96910af034e4d0873a3 Signed-off-by: Matt Porter <mporter@konsulko.com>
2017-04-20Convert the sink/source volume caches from a list to hashesMatt Porter1-17/+15
Maintain the cached sink/source volume state in separate hashes for quick lookup. This will further simplify external volume event support that will need to update the cache. AGL-Bug: SPEC-548 Change-Id: I47b8e070318f3992a5343d1753c50baa8c1d9cb3 Signed-off-by: Matt Porter <mporter@konsulko.com>
2017-04-20Rewrite PulseAudio backend into a threaded classMatt Porter1-0/+228
Converts the Mixer PulseAudio backend from a C library to a PaClient class which runs in its own QThread. This faciliates isolation of PaControlModel updates to the QML thread where they belong. It also provides the foundation for runtime updates of the model and reuse of the PaClient class in other apps. AGL-Bug: SPEC-548 Change-Id: I13c4c220fde2fd4bc4aea2e04f39152a963b5fa0 Signed-off-by: Matt Porter <mporter@konsulko.com>