summaryrefslogtreecommitdiffstats
path: root/src/PulseAudioQt/volumeobject.cpp
diff options
context:
space:
mode:
authorSimon Rettberg2022-08-18 20:27:25 +0200
committerSimon Rettberg2022-08-18 20:27:25 +0200
commitc48cebd620d3f5330c104d85ac32f0aaffadaa14 (patch)
tree8fc74d8aa05fcdc75bfcdf93fdc89c0f071692eb /src/PulseAudioQt/volumeobject.cpp
parentWhen changing default output of card, also set default sink (diff)
downloadpavucontrol-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/volumeobject.cpp')
-rw-r--r--src/PulseAudioQt/volumeobject.cpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/PulseAudioQt/volumeobject.cpp b/src/PulseAudioQt/volumeobject.cpp
new file mode 100644
index 0000000..a18a12a
--- /dev/null
+++ b/src/PulseAudioQt/volumeobject.cpp
@@ -0,0 +1,70 @@
+/*
+ SPDX-FileCopyrightText: 2014-2015 Harald Sitter <sitter@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include <pulse/volume.h>
+
+#include "volumeobject.h"
+#include "volumeobject_p.h"
+
+namespace PulseAudioQt
+{
+VolumeObject::VolumeObject(QObject *parent)
+ : IndexedPulseObject(parent)
+ , d(new VolumeObjectPrivate(this))
+{
+}
+
+VolumeObjectPrivate::VolumeObjectPrivate(VolumeObject *q)
+ : q(q)
+{
+ pa_cvolume_init(&m_volume);
+}
+
+VolumeObject::~VolumeObject()
+{
+}
+
+qint64 VolumeObject::volume() const
+{
+ return pa_cvolume_max(&d->m_volume);
+}
+
+bool VolumeObject::isMuted() const
+{
+ return d->m_muted;
+}
+
+pa_cvolume VolumeObjectPrivate::cvolume() const
+{
+ return m_volume;
+}
+
+bool VolumeObject::isVolumeWritable() const
+{
+ return d->m_volumeWritable;
+}
+
+QVector<QString> VolumeObject::channels() const
+{
+ return d->m_channels;
+}
+
+QStringList VolumeObject::rawChannels() const
+{
+ return d->m_rawChannels;
+}
+
+QVector<qint64> VolumeObject::channelVolumes() const
+{
+ QVector<qint64> ret;
+ ret.reserve(d->m_volume.channels);
+ for (int i = 0; i < d->m_volume.channels; ++i) {
+ ret << d->m_volume.values[i];
+ }
+ return ret;
+}
+
+} // PulseAudioQt