16#include "volumeobject_p.h"
22 , d(new SinkPrivate(this))
24 connect(Context::instance()->server(), &Server::defaultSinkChanged,
this, &Sink::defaultChanged);
27SinkPrivate::SinkPrivate(Sink *q)
37void SinkPrivate::update(
const pa_sink_info *info)
39 q->Device::d->updateDevice(info);
41 if (m_monitorIndex != info->monitor_source) {
42 m_monitorIndex = info->monitor_source;
43 Q_EMIT q->monitorIndexChanged();
47void Sink::setVolume(qint64 volume)
49 qCDebug(PULSEAUDIOQT) <<
"Changing volume of Sink" << name() <<
" to " << volume;
50 Context::instance()->d->setGenericVolume(index(), -1, volume, VolumeObject::d->cvolume(), &pa_context_set_sink_volume_by_index);
53void Sink::setMuted(
bool muted)
55 Context::instance()->d->setGenericMute(index(), muted, &pa_context_set_sink_mute_by_index);
58void Sink::setActivePortIndex(quint32 port_index)
60 Port *port = qobject_cast<Port *>(ports().at(port_index));
62 qCWarning(PULSEAUDIOQT) <<
"invalid port set request" << port_index;
65 Context::instance()->d->setGenericPort(index(), port->name(), &pa_context_set_sink_port_by_index);
68void Sink::setChannelVolume(
int channel, qint64 volume)
70 Context::instance()->d->setGenericVolume(index(), channel, volume, VolumeObject::d->cvolume(), &pa_context_set_sink_volume_by_index);
73bool Sink::isDefault()
const
75 return Context::instance()->server()->defaultSink() ==
this;
78void Sink::setDefault(
bool enable)
80 if (!isDefault() && enable) {
81 Context::instance()->server()->setDefaultSink(
this);
85quint32 Sink::monitorIndex()
const
87 return d->m_monitorIndex;
90void Sink::setChannelVolumes(
const QList<qint64> &channelVolumes)
92 Context::instance()->d->setGenericVolumes(index(), channelVolumes, VolumeObject::d->m_volume, &pa_context_set_sink_volume_by_index);
95void Sink::switchStreams()
97 const auto sinkInputs = Context::instance()->sinkInputs();
98 for (
const auto &sinkInput : sinkInputs) {
99 sinkInput->setDeviceIndex(index());
The primary namespace of PulseAudioQt.
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Oct 11 2024 12:12:38 by
doxygen 1.12.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.