PulseAudio Qt Bindings

sinkinput.cpp
1/*
2 SPDX-FileCopyrightText: 2014-2015 Harald Sitter <sitter@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#include "sinkinput.h"
8#include "sinkinput_p.h"
9
10#include "context.h"
11#include "context_p.h"
12#include "stream_p.h"
13
14namespace PulseAudioQt
15{
16SinkInput::SinkInput(QObject *parent)
17 : Stream(parent)
18 , d(new SinkInputPrivate(this))
19{
20}
21
22SinkInputPrivate::SinkInputPrivate(SinkInput *q)
23 : q(q)
24{
25}
26
27SinkInput::~SinkInput()
28{
29}
30
31void SinkInputPrivate::update(const pa_sink_input_info *info)
32{
33 q->Stream::d->updateStream(info);
34 if (q->Stream::d->m_deviceIndex != info->sink) {
35 q->Stream::d->m_deviceIndex = info->sink;
36 Q_EMIT q->deviceIndexChanged();
37 }
38}
39
40void SinkInput::setDeviceIndex(quint32 deviceIndex)
41{
42 Context::instance()->d->setGenericDeviceForStream(index(), deviceIndex, &pa_context_move_sink_input_by_index);
43}
44
45void SinkInput::setVolume(qint64 volume)
46{
47 qCDebug(PULSEAUDIOQT) << "Changing volume of SinkInput" << name() << " to " << volume;
48 Context::instance()->d->setGenericVolume(index(), -1, volume, VolumeObject::d->cvolume(), &pa_context_set_sink_input_volume);
49}
50
51void SinkInput::setMuted(bool muted)
52{
53 Context::instance()->d->setGenericMute(index(), muted, &pa_context_set_sink_input_mute);
54}
55
56void SinkInput::setChannelVolume(int channel, qint64 volume)
57{
58 Context::instance()->d->setGenericVolume(index(), channel, volume, VolumeObject::d->cvolume(), &pa_context_set_sink_input_volume);
59}
60
61void SinkInput::setChannelVolumes(const QList<qint64> &channelVolumes)
62{
63 Context::instance()->d->setGenericVolumes(index(), channelVolumes, VolumeObject::d->m_volume, &pa_context_set_sink_input_volume);
64}
65
66} // PulseAudioQt
The primary namespace of PulseAudioQt.
Definition card.cpp:17
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 16:57:59 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.