PulseAudio Qt Bindings

sink.h
1 /*
2  SPDX-FileCopyrightText: 2014-2015 Harald Sitter <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6 
7 #ifndef SINK_H
8 #define SINK_H
9 
10 #include "device.h"
11 
12 struct pa_sink_info;
13 
14 namespace PulseAudioQt
15 {
16 /**
17  * A PulseAudio sink. This class is based on https://freedesktop.org/software/pulseaudio/doxygen/structpa__sink__info.html.
18  */
19 class PULSEAUDIOQT_EXPORT Sink : public Device
20 {
21  Q_OBJECT
22 
23 public:
24  ~Sink();
25 
26  void setVolume(qint64 volume) override;
27 
28  void setMuted(bool muted) override;
29 
30  void setActivePortIndex(quint32 port_index) override;
31 
32  void setChannelVolume(int channel, qint64 volume) override;
33 
34  bool isDefault() const override;
35 
36  void setDefault(bool enable) override;
37 
38  void setChannelVolumes(const QVector<qint64> &channelVolumes) override;
39 
40  /**
41  * Index of the monitor source for this sink.
42  */
43  quint32 monitorIndex() const;
44 
45 Q_SIGNALS:
46  void monitorIndexChanged();
47 
48 private:
49  explicit Sink(QObject *parent);
50 
51  class SinkPrivate *const d;
52  friend class MapBase<Sink, pa_sink_info>;
53 };
54 
55 } // PulseAudioQt
56 
57 #endif // SINK_H
A PulseAudio device.
Definition: device.h:23
The primary namespace of PulseAudioQt.
Definition: card.cpp:16
Maps a specific index to a specific object pointer.
Definition: maps.h:67
A PulseAudio sink.
Definition: sink.h:19
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Sep 25 2023 03:58:36 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.