At Mon, 09 Oct 2006 10:42:56 -0400, Lee Revell wrote: > > On Mon, 2006-10-09 at 10:38 -0400, Daniel Jacobowitz wrote: > > I did consider doing it this way over the weekend. However, being > > able to adjust the relative volumes of the different channels still > > seems useful to me. If you have a single unified control, then you > > mess up trying to move the others. > > > > What do you think? Should I just slave them all together and remove > > the other volume controls? It's probably easier; it just seems > > somehow lacking. > > > > How do other OSes do it? Do they also force everything through a > software volume control? I've not seen any codes of Windows driver, but most likely they do software volume and effects control. > Is a ganged master control fundamentally incompatible with individual > channel volumes? If so, doesn't it mean that this problem can never be > solved by an abstract mixer layer? It's possible to create a virtual volume element that represents the base attenuation level. Suppose "Master" to be a virtual volume (a mono), then the real volume values for front, rear and CLFE become "front + master", "rear + master" and "CLFE + master". The values have to be clipped to max 31 (or 63). The problem is that the mixer values are no longer corresponding to the register values as 1:1. Thus the current code for get/put callbacks can't be used as it is. The values have to be cached and handled internally independent from the register values... Takashi ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-devel