From 432a7f1e84ea211210b2f6b3d2acddf0c33d4ef2 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 9 Mar 2019 08:02:24 +0000 Subject: changed volume api git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8746 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Output/pulseaudio/outputpulseaudio.cpp | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'src/plugins/Output/pulseaudio/outputpulseaudio.cpp') diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp index 65fa0bff6..4017e5a87 100644 --- a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp +++ b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp @@ -163,6 +163,8 @@ bool OutputPulseAudio::initialize(quint32 freq, ChannelMap map, Qmmp::AudioForma return false; } success = false; + if(volumeControl) + setMuted(volumeControl->isMuted()); op = pa_context_get_sink_input_info(m_ctx, pa_stream_get_index(m_stream), OutputPulseAudio::info_cb, &success); if(!process(op) || !success) { @@ -313,7 +315,7 @@ void OutputPulseAudio::info_cb(pa_context *ctx, const pa_sink_input_info *info, return; if(volumeControl && pa_context_get_state(ctx) == PA_CONTEXT_READY) - volumeControl->updateVolume(info->volume); + volumeControl->updateVolume(info->volume, info->mute > 0); if(data) *(bool *) data = true; @@ -348,9 +350,10 @@ VolumePulseAudio::~VolumePulseAudio() OutputPulseAudio::volumeControl = nullptr; } -void VolumePulseAudio::updateVolume(const pa_cvolume &v) +void VolumePulseAudio::updateVolume(const pa_cvolume &v, bool muted) { m_volume = cvolumeToVolumeSettings(v); + m_muted = muted; emit changed(); } @@ -366,9 +369,21 @@ VolumeSettings VolumePulseAudio::volume() const return m_volume; } -bool VolumePulseAudio::hasNotifySignal() const +bool VolumePulseAudio::isMuted() const { - return true; + return m_muted; +} + +void VolumePulseAudio::setMuted(bool mute) +{ + if(OutputPulseAudio::instance) + OutputPulseAudio::instance->setMuted(mute); + m_muted = mute; +} + +Volume::VolumeFlags VolumePulseAudio::flags() const +{ + return Volume::IsMuteSupported | Volume::HasNotifySignal; } VolumeSettings VolumePulseAudio::cvolumeToVolumeSettings(const pa_cvolume &v) -- cgit v1.2.3-13-gbd6f