Changeset View
Changeset View
Standalone View
Standalone View
plugins/systemvolume/sinkinput.cpp
- This file was added.
1 | /* | ||||
---|---|---|---|---|---|
2 | Copyright 2014-2015 Harald Sitter <sitter@kde.org> | ||||
3 | | ||||
4 | This library is free software; you can redistribute it and/or | ||||
5 | modify it under the terms of the GNU Lesser General Public | ||||
6 | License as published by the Free Software Foundation; either | ||||
7 | version 2.1 of the License, or (at your option) version 3, or any | ||||
8 | later version accepted by the membership of KDE e.V. (or its | ||||
9 | successor approved by the membership of KDE e.V.), which shall | ||||
10 | act as a proxy defined in Section 6 of version 3 of the license. | ||||
11 | | ||||
12 | This library is distributed in the hope that it will be useful, | ||||
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
15 | Lesser General Public License for more details. | ||||
16 | | ||||
17 | You should have received a copy of the GNU Lesser General Public | ||||
18 | License along with this library. If not, see <http://www.gnu.org/licenses/>. | ||||
19 | */ | ||||
20 | | ||||
21 | #include "sinkinput.h" | ||||
22 | | ||||
23 | #include "context.h" | ||||
24 | | ||||
25 | namespace QPulseAudio | ||||
26 | { | ||||
27 | | ||||
28 | SinkInput::SinkInput(QObject *parent) | ||||
29 | : Stream(parent) | ||||
30 | { | ||||
31 | } | ||||
32 | | ||||
33 | void SinkInput::update(const pa_sink_input_info *info) | ||||
34 | { | ||||
35 | updateStream(info); | ||||
36 | if (m_deviceIndex != info->sink) { | ||||
37 | m_deviceIndex = info->sink; | ||||
38 | emit deviceIndexChanged(); | ||||
39 | } | ||||
40 | } | ||||
41 | | ||||
42 | void SinkInput::setDeviceIndex(quint32 deviceIndex) | ||||
43 | { | ||||
44 | context()->setGenericDeviceForStream(index(), deviceIndex, &pa_context_move_sink_input_by_index); | ||||
45 | } | ||||
46 | | ||||
47 | void SinkInput::setVolume(qint64 volume) | ||||
48 | { | ||||
49 | context()->setGenericVolume(index(), -1, volume, cvolume(), &pa_context_set_sink_input_volume); | ||||
50 | } | ||||
51 | | ||||
52 | void SinkInput::setMuted(bool muted) | ||||
53 | { | ||||
54 | context()->setGenericMute(index(), muted, &pa_context_set_sink_input_mute); | ||||
55 | } | ||||
56 | | ||||
57 | void SinkInput::setChannelVolume(int channel, qint64 volume) | ||||
58 | { | ||||
59 | context()->setGenericVolume(index(), channel, volume, cvolume(), &pa_context_set_sink_input_volume); | ||||
60 | } | ||||
61 | | ||||
62 | } // QPulseAudio |