PulseAudio Qt Bindings

sourceoutput.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 "sourceoutput.h"
8#include "sourceoutput_p.h"
9
10#include "context.h"
11#include "context_p.h"
12#include "stream_p.h"
13
14namespace PulseAudioQt
15{
16SourceOutput::SourceOutput(QObject *parent)
17 : Stream(parent)
18 , d(new SourceOutputPrivate(this))
19{
20}
21
22SourceOutput::~SourceOutput()
23{
24 delete d;
25}
26
27SourceOutputPrivate::SourceOutputPrivate(SourceOutput *q)
28 : q(q)
29{
30}
31
32void SourceOutputPrivate::update(const pa_source_output_info *info)
33{
34 q->Stream::d->updateStream(info);
35 if (q->Stream::d->m_deviceIndex != info->source) {
36 q->Stream::d->m_deviceIndex = info->source;
37 Q_EMIT q->deviceIndexChanged();
38 }
39}
40
41void SourceOutput::setDeviceIndex(quint32 deviceIndex)
42{
43 Context::instance()->d->setGenericDeviceForStream(index(), deviceIndex, &pa_context_move_source_output_by_index);
44}
45
46void SourceOutput::setVolume(qint64 volume)
47{
48 Context::instance()->d->setGenericVolume(index(), -1, volume, VolumeObject::d->cvolume(), &pa_context_set_source_output_volume);
49}
50
51void SourceOutput::setMuted(bool muted)
52{
53 Context::instance()->d->setGenericMute(index(), muted, &pa_context_set_source_output_mute);
54}
55
56void SourceOutput::setChannelVolume(int channel, qint64 volume)
57{
58 Context::instance()->d->setGenericVolume(index(), channel, volume, VolumeObject::d->cvolume(), &pa_context_set_source_output_volume);
59}
60
61void SourceOutput::setChannelVolumes(const QVector<qint64> &channelVolumes)
62{
63 Context::instance()->d->setGenericVolumes(index(), channelVolumes, VolumeObject::d->m_volume, &pa_context_set_source_output_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 Tue Mar 26 2024 11:20:07 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.