From 75c4eaf61e17e1a132498929f783964de134c7be Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Tue, 19 Feb 2013 18:09:00 +0000 Subject: changed volume api git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3266 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Output/waveout/outputwaveout.cpp | 23 ++++++++++------------- src/plugins/Output/waveout/outputwaveout.h | 7 ++----- 2 files changed, 12 insertions(+), 18 deletions(-) (limited to 'src/plugins/Output/waveout') diff --git a/src/plugins/Output/waveout/outputwaveout.cpp b/src/plugins/Output/waveout/outputwaveout.cpp index 504e82e9f..25791ff64 100644 --- a/src/plugins/Output/waveout/outputwaveout.cpp +++ b/src/plugins/Output/waveout/outputwaveout.cpp @@ -245,21 +245,18 @@ VolumeWaveOut::VolumeWaveOut() VolumeWaveOut::~VolumeWaveOut() {} -void VolumeWaveOut::setVolume(int channel, int value) +void VolumeWaveOut::setVolume(const VolumeSettings &vol) { - int l = (channel == Volume::LEFT_CHANNEL) ? value : (long)LOWORD(m_volume) * 100 / 0xFFFF; - int r = (channel == Volume::RIGHT_CHANNEL) ? value : (long)HIWORD(m_volume) * 100 / 0xFFFF; - m_volume = (r*0xFFFF/100 << 16) | l*0xFFFF/100; - waveOutSetVolume(0, m_volume); + DWORD data = (vol.right*0xFFFF/100 << 16) | vol.left*0xFFFF/100; + waveOutSetVolume(0, data); } -int VolumeWaveOut::volume(int channel) +VolumeSettings VolumeWaveOut::volume() const { - DWORD volume; - waveOutGetVolume(0, (PDWORD)&volume); - m_volume = volume; - if(channel == Volume::LEFT_CHANNEL) - return (long)LOWORD(volume) * 100 / 0xFFFF + 1; - else - return (long)HIWORD(volume) * 100 / 0xFFFF + 1; + VolumeSettings vol; + DWORD data; + waveOutGetVolume(0, (PDWORD)&data); + vol.left = (long)LOWORD(data) * 100 / 0xFFFF + 1; + vol.right = (long)HIWORD(data) * 100 / 0xFFFF + 1; + return vol; } diff --git a/src/plugins/Output/waveout/outputwaveout.h b/src/plugins/Output/waveout/outputwaveout.h index d4e44e30a..22e437a81 100644 --- a/src/plugins/Output/waveout/outputwaveout.h +++ b/src/plugins/Output/waveout/outputwaveout.h @@ -57,11 +57,8 @@ public: VolumeWaveOut(); ~VolumeWaveOut(); - void setVolume(int channel, int value); - int volume(int channel); - -private: - DWORD m_volume; + void setVolume(const VolumeSettings &vol); + VolumeSettings volume() const; }; -- cgit v1.2.3-13-gbd6f