summaryrefslogtreecommitdiffstats
path: root/src/SinkInputWindow.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/SinkInputWindow.cc')
-rw-r--r--src/SinkInputWindow.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/SinkInputWindow.cc b/src/SinkInputWindow.cc
index 784cb90..09d5433 100644
--- a/src/SinkInputWindow.cc
+++ b/src/SinkInputWindow.cc
@@ -91,8 +91,9 @@ void SinkInputWindow::updateInfo(const SinkInputInfo &i) {
clientLabel->set_text(client->name);
}
- percent = pa_volume_to_user(i.volume) * 100;
- db = pa_volume_to_dB(i.volume);
+ percent = pa_sw_volume_to_linear(pa_cvolume_avg(&i.volume)) * 100;
+ /* FIXME: Hardware volume doesn't translate well to dB. */
+ db = pa_sw_volume_to_dB(pa_cvolume_avg(&i.volume));
scaleEnabled = false;
volumeScale->set_value(percent);
scaleEnabled = true;
@@ -134,7 +135,7 @@ void SinkInputWindow::onToClientButton() {
void SinkInputWindow::onVolumeScaleValueChanged() {
if (scaleEnabled)
- serverInfoManager->setSinkInputVolume(index, pa_volume_from_user(volumeScale->get_value()/100));
+ serverInfoManager->setSinkInputVolume(index, pa_sw_volume_from_linear(volumeScale->get_value()/100));
}
void SinkInputWindow::onVolumeResetButton() {