'Twas brillig, and Colin Guthrie at 09/12/10 16:12 did gyre and gimble: > 'Twas brillig, and Kulikov, Vitaliy at 01/12/10 17:34 did gyre and gimble: >> Hello everybody, >> >> I would like to add more details for issue #1. Just changing order of >> the capture and MIC volume controls in the path is not enough if those >> volumes have gain only ranges and the reason is that, AFAIK, currently >> PA adjusts requested volume to the higher HW volume step. But if we >> change it to lower HW step it should work just fine. Here is the example >> how that works. > > >> Let's say we have 22.5 dB gain only range with the 1.5 dB steps for >> capture HW control and 40 dB gain only range with the 10 dB steps for >> MIC boost control. Now, for all volumes between 0 and 10 dB PA will keep >> MIC boost level at 0 dB (when it is first in the path) and set capture >> level to 1.5, 3, 4.5 etc levels. And when level reaches 10 dB, then MIC >> boost will be set at 10 dB and capture at 0 dB. For the requested levels >> between 10 and 20 db, MIC boost will be kept at 10 dB and capture level >> will take the difference and so on. > > What you describe above is how PA currently works with regards to volume > changes. We use the alsa API with a +1 dir argument to various functions > e.g. > > http://www.alsa-project.org/alsa-doc/alsa-lib/group___simple_mixer.html#gef9c6ce9deb46de7b5727dc9982dc6d6 > > > So we will use "accurate or first above" this means that less > attenuation will be done if the accuracy cannot be performed exactly. > > So no need to worry about this. I think I perhaps misunderstood your point. Perhaps you were talking about volumes above 0dB, in which case the +1 direction is not really appropriate. I kinda missed that distinction in David's original messages but I saw sense in my latest reply! Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]