diff options
author | Gareth Stockwell <gareth.stockwell@sosco.com> | 2009-08-21 10:39:36 (GMT) |
---|---|---|
committer | Gareth Stockwell <gareth.stockwell@sosco.com> | 2009-08-21 10:39:36 (GMT) |
commit | 3f39d630d3dcc161c4a85127129274ca7ea857a2 (patch) | |
tree | ba726756cfdd87883fd546ff2f0e5c2b20e64eac /src/3rdparty/phonon/mmf/audiooutput.cpp | |
parent | 932c48658656fa328507b16e39c3a6cc820ef15e (diff) | |
download | Qt-3f39d630d3dcc161c4a85127129274ca7ea857a2.zip Qt-3f39d630d3dcc161c4a85127129274ca7ea857a2.tar.gz Qt-3f39d630d3dcc161c4a85127129274ca7ea857a2.tar.bz2 |
Further tidied up volume handling
Diffstat (limited to 'src/3rdparty/phonon/mmf/audiooutput.cpp')
-rw-r--r-- | src/3rdparty/phonon/mmf/audiooutput.cpp | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/src/3rdparty/phonon/mmf/audiooutput.cpp b/src/3rdparty/phonon/mmf/audiooutput.cpp index 2e5cbc6..13b953d 100644 --- a/src/3rdparty/phonon/mmf/audiooutput.cpp +++ b/src/3rdparty/phonon/mmf/audiooutput.cpp @@ -21,7 +21,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>. #include "audiooutput.h" #include "defs.h" #include "utils.h" -#include "volumecontrolinterface.h" +#include "volumeobserver.h" using namespace Phonon; using namespace Phonon::MMF; @@ -33,7 +33,7 @@ using namespace Phonon::MMF; MMF::AudioOutput::AudioOutput(Backend *, QObject *parent) : QObject(parent) , m_volume(InitialVolume) - , m_volumeControl(NULL) + , m_observer(NULL) { } @@ -45,32 +45,26 @@ MMF::AudioOutput::AudioOutput(Backend *, QObject *parent) : QObject(parent) qreal MMF::AudioOutput::volume() const { - TRACE_CONTEXT(AudioOutput::volume, EAudioApi); - TRACE_ENTRY("control 0x%08x ", m_volumeControl); - - const qreal result = m_volumeControl ? m_volumeControl->volume() : m_volume; - - TRACE_RETURN("%f", result); + return m_volume; } void MMF::AudioOutput::setVolume(qreal volume) { TRACE_CONTEXT(AudioOutput::setVolume, EAudioApi); - TRACE_ENTRY("control 0x%08x volume %f", m_volumeControl, volume); + TRACE_ENTRY("observer 0x%08x volume %f", m_observer, volume); - if(m_volumeControl) + if(volume != m_volume) { - if(m_volumeControl->setVolume(volume)) + if(m_observer) { - TRACE("emit volumeChanged(%f)", volume) - emit volumeChanged(volume); + m_observer->volumeChanged(volume); } - } - else - { + m_volume = volume; + TRACE("emit volumeChanged(%f)", volume) + emit volumeChanged(volume); } - + TRACE_EXIT_0(); } @@ -89,10 +83,10 @@ bool MMF::AudioOutput::setOutputDevice(const Phonon::AudioOutputDevice &) return true; } -void MMF::AudioOutput::setVolumeControl(VolumeControlInterface *volumeControl) +void MMF::AudioOutput::setVolumeObserver(VolumeObserver& observer) { - Q_ASSERT(!m_volumeControl); - m_volumeControl = volumeControl; - m_volumeControl->setVolume(m_volume); + Q_ASSERT(!m_observer); + m_observer = &observer; + m_observer->volumeChanged(m_volume); } |