Using the artsout plugin the volume control does not work for me. I'm using a CMedia 8738 and just about everything except volume setting in XMMS works fine. Also a friend of mine has a Hercules Gametheater XP and for him the volume control in XMMS changes the volume only for the two front speakers. One other thing that concerns me is that changing the volume for him (and from what I've read in the sourcecode, everyone else using the artsout plugin) changes the volume of all the sound sent to arts. I've made a patch that addresses these three problems. What it does is simply to multiply each sample with a multiplier before it sends it to arts. This solves all the three problems mentioned above: XMMS does not control the main dsp volume setting of the card, nor does it affect two out of four or six channels on some cards, and for me the biggest effect of them all is it also works on my card. The downsides of the patch is that it's slightly more cpu-consuming (though hardly measurable), it does not work in case the output should ever be 8 bit (could be fixed, but I doubt 8 bit audio is ever used when outputting to arts? Correct me if I'm wrong), and I haven't implemented any support for the balance setting (could also be fixed if there is any shown interest). Hope you find this patch useful, I did.
Created attachment 5740 [details, diff] A patch to fix various volume setting issues of the xmms-arts plugin. This is my proposed patch.
I would also like to point out that I have sent the same bugreport / patch to www.xmms.org Here is a link: http://bugs.xmms.org/show_bug.cgi?id=1107
xmms-arts being unmaintained, this patch must be very well tested before going into portage. Only I don't have the time for that now :-( I looked among other distros and found debian's patch (attaching in case anyone's interested), which is almost 100k long when uncompressed and seems to fix lots of small issues. However it only touches about.c, the rest is changes to the build system.
Created attachment 7760 [details] xmmsarts-0.4-debian-rev-21.diff.gz (debian-specific parts stripped out)
It's been used by myself and two buddies running gentoo for a couple of months now, without any problems. The only setback for his patch as I see it is slightly more cpu usage, but nothing that should not be a problem for anyone running KDE. :-) Actually I've added an extra feature, square volume increase instead of linear. If anyone is interested I'm attaching the new patch.
Created attachment 7763 [details, diff] Volume fix non-linear volume
This is all really well... however I do not really wish to have a package that's officially dead mainstream in portage. (And noone has agreed to officially maintain it, there might be other loal patches/fixes like these elsewhere for all we knbow and there's noone to coordinate them). Sooner or later it'll break and then it would be my responsibility to fix it without an upstream author I could ask for help, and I don't want that. So I've resolved to mask xmms-arts (permanently unless and until someone says he's willing to actively maintain it). OTOH this means that I will now add these patches to it. But it won't be visible as a package. Sorry... I'll get confirmation from -core and do this in a day or two. Oh and in case anyone wonders, this will be 'hard-masked' and not put in ~ profiles because (contrary to a common misunderstanding) those are not for unstable stuff but for untested stuff. Things in ~ go semiautomatically into stable profiles after a week or two if there are no known issues.
xmms-arts has been hardmasked.