At Mon, 9 Oct 2006 13:04:51 -0400, Daniel Jacobowitz wrote: > > On Mon, Oct 09, 2006 at 04:50:49PM +0200, Takashi Iwai wrote: > > > 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... > > Do you think this is a better choice than using softvol? If so, I > will work on the implementation later this week. Depends. It's definitely ligher for hardware at least, but would involve more changes in the driver side. OTOH, softvol can provide finer volume controls with higher resolution. I thought of implementation of virtual mixer element in alsa-lib, but it'd be also a bit messy. The implementation in the driver side could be even easier. 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