From 0f8b2faed4d16af8401bbc973021cce67ab10f4e Mon Sep 17 00:00:00 2001 From: fryshorts Date: Sun, 28 Dec 2014 12:31:21 +0100 Subject: [PATCH] obs: Fix label in volume control Use a dedicated method for setting the dB label in the volume control and make sure to call it regardless if the volume was changed through the slider or from somewhere else. --- obs/volume-control.cpp | 6 ++++++ obs/volume-control.hpp | 1 + 2 files changed, 7 insertions(+) diff --git a/obs/volume-control.cpp b/obs/volume-control.cpp index 1d88e212d..bc2853e7a 100644 --- a/obs/volume-control.cpp +++ b/obs/volume-control.cpp @@ -36,6 +36,7 @@ void VolControl::OBSVolumeLevel(void *data, calldata_t *calldata) void VolControl::VolumeChanged() { slider->setValue((int) (obs_fader_get_deflection(obs_fader) * 100.0f)); + updateText(); } void VolControl::VolumeLevel(float mag, float peak, float peakHold) @@ -46,6 +47,11 @@ void VolControl::VolumeLevel(float mag, float peak, float peakHold) void VolControl::SliderChanged(int vol) { obs_fader_set_deflection(obs_fader, float(vol) * 0.01f); + updateText(); +} + +void VolControl::updateText() +{ volLabel->setText(QString::number(obs_fader_get_db(obs_fader), 'f', 1) .append(" dB")); } diff --git a/obs/volume-control.hpp b/obs/volume-control.hpp index 087626fdb..ddc541c75 100644 --- a/obs/volume-control.hpp +++ b/obs/volume-control.hpp @@ -44,6 +44,7 @@ private slots: void VolumeChanged(); void VolumeLevel(float mag, float peak, float peakHold); void SliderChanged(int vol); + void updateText(); public: VolControl(OBSSource source);