On Sun, Aug 07, 2005 at 05:18:09PM -0400, Ted Unangst wrote: > On Thu, 4 Aug 2005, D. Adam Karim wrote: > >> I never even heard of madplay until I just read these emails. Let me say, >> it is nice!!! I was using mp3blaster but it has some strange bug going on >> where one cannot adjust the volume down, only up. Maybe it's just me, >> hehe. Anyways, I'm liking madplay though. > > that bug has existed for at least 5 years.
I have this patch for that. I can't remember where it came from. It looks vaguely like something I might have written. Just whack it into patches/patch-nmixer_ossmixer_cc. --- ossmixer.cc.orig Fri Sep 20 14:38:16 2002 +++ ossmixer.cc Mon Aug 8 11:53:34 2005 @@ -49,8 +49,28 @@ bool OSSMixer::Set(int device, struct volume *vol) { + int retcode; + int oldsetting; + int delta; int setting = (vol->left & 0xFF) + ((vol->right & 0xFF) << 8); - return (ioctl(mixer, MIXER_WRITE(device), &setting) >= 0); + + ioctl(mixer, MIXER_READ(device), &oldsetting); + + if (setting > oldsetting) delta = 1; + else if (setting < oldsetting) delta = -1; + else delta = 0; + + retcode = ioctl(mixer, MIXER_WRITE(device), &setting); + + ioctl(mixer, MIXER_READ(device), &setting); + if (setting == oldsetting) { + vol->left = vol->left + delta; + vol->right = vol->right + delta; + setting = (vol->left & 0xFF) + ((vol->right & 0xFF) << 8); + retcode = ioctl(mixer, MIXER_WRITE(device), &setting); + } + + return (retcode >= 0); } bool OSSMixer::Get(int device, struct volume *vol) -- WWTDD? Jon Martin - Undergraduate Labs Systems Administrator (ISG - labadmin) Department of Computing Science at University of Alberta.