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/oss/outputoss.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'src/plugins/Output/oss/outputoss.cpp') diff --git a/src/plugins/Output/oss/outputoss.cpp b/src/plugins/Output/oss/outputoss.cpp index 148e18f7a..c62a798c6 100644 --- a/src/plugins/Output/oss/outputoss.cpp +++ b/src/plugins/Output/oss/outputoss.cpp @@ -167,14 +167,11 @@ VolumeOSS::~VolumeOSS() } } -void VolumeOSS::setVolume(int channel, int value) +void VolumeOSS::setVolume(const VolumeSettings &vol) { if (m_mixer_fd < 0) return; - int l = (channel == Volume::LEFT_CHANNEL) ? value : volume(Volume::LEFT_CHANNEL); - int r = (channel == Volume::RIGHT_CHANNEL) ? value : volume(Volume::RIGHT_CHANNEL); - long cmd; int devs = 0; ioctl(m_mixer_fd, SOUND_MIXER_READ_DEVMASK, &devs); @@ -187,14 +184,15 @@ void VolumeOSS::setVolume(int channel, int value) //close(mifd); return; } - int v = (r << 8) | l; + int v = (vol.right << 8) | vol.left; ioctl(m_mixer_fd, cmd, &v); } -int VolumeOSS::volume(int channel) +VolumeSettings VolumeOSS::volume() const { + VolumeSettings vol; if(m_mixer_fd < 0) - return 0; + return vol; int cmd; int v, devs = 0; ioctl(m_mixer_fd, SOUND_MIXER_READ_DEVMASK, &devs); @@ -204,12 +202,12 @@ int VolumeOSS::volume(int channel) else if ((devs & SOUND_MASK_VOLUME) && m_master) cmd = SOUND_MIXER_READ_VOLUME; else - return 0; + return vol; ioctl(m_mixer_fd, cmd, &v); - if(channel == Volume::LEFT_CHANNEL) - return (v & 0xFF00) >> 8; - return (v & 0x00FF); + vol.left = (v & 0xFF00) >> 8; + vol.right = (v & 0x00FF); + return vol; } void VolumeOSS::openMixer() -- cgit v1.2.3-13-gbd6f