diff options
author | Simon Rettberg | 2022-08-18 20:27:25 +0200 |
---|---|---|
committer | Simon Rettberg | 2022-08-18 20:27:25 +0200 |
commit | c48cebd620d3f5330c104d85ac32f0aaffadaa14 (patch) | |
tree | 8fc74d8aa05fcdc75bfcdf93fdc89c0f071692eb /src/PulseAudioQt/stream_p.h | |
parent | When changing default output of card, also set default sink (diff) | |
download | pavucontrol-slx-c48cebd620d3f5330c104d85ac32f0aaffadaa14.tar.gz pavucontrol-slx-c48cebd620d3f5330c104d85ac32f0aaffadaa14.tar.xz pavucontrol-slx-c48cebd620d3f5330c104d85ac32f0aaffadaa14.zip |
Replace everything with new "slxmix" (work in progress)
Diffstat (limited to 'src/PulseAudioQt/stream_p.h')
-rw-r--r-- | src/PulseAudioQt/stream_p.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/PulseAudioQt/stream_p.h b/src/PulseAudioQt/stream_p.h new file mode 100644 index 0000000..7d2f2e2 --- /dev/null +++ b/src/PulseAudioQt/stream_p.h @@ -0,0 +1,56 @@ +/* + SPDX-FileCopyrightText: 2018 Nicolas Fella <nicolas.fella@gmx.de> + + SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL +*/ +#ifndef STREAM_P_H +#define STREAM_P_H + +#include "stream.h" +#include "volumeobject_p.h" + +namespace PulseAudioQt +{ +class StreamPrivate +{ +public: + explicit StreamPrivate(Stream *q); + virtual ~StreamPrivate(); + + Stream *q; + + quint32 m_deviceIndex = PA_INVALID_INDEX; + quint32 m_clientIndex = PA_INVALID_INDEX; + bool m_virtualStream = false; + bool m_corked = false; + bool m_hasVolume = false; + + template<typename PAInfo> + void updateStream(const PAInfo *info) + { + q->VolumeObject::d->updateVolumeObject(info); + + if (m_hasVolume != info->has_volume) { + m_hasVolume = info->has_volume; + Q_EMIT q->hasVolumeChanged(); + } + if (q->VolumeObject::d->m_volumeWritable != info->volume_writable) { + q->VolumeObject::d->m_volumeWritable = info->volume_writable; + Q_EMIT q->isVolumeWritableChanged(); + } + if (m_clientIndex != info->client) { + m_clientIndex = info->client; + Q_EMIT q->clientChanged(); + } + if (m_virtualStream != (info->client == PA_INVALID_INDEX)) { + m_virtualStream = info->client == PA_INVALID_INDEX; + Q_EMIT q->virtualStreamChanged(); + } + if (m_corked != info->corked) { + m_corked = info->corked; + Q_EMIT q->corkedChanged(); + } + } +}; +} +#endif |