On Mon, 14.04.08 18:08, Aldrin Martoq (amartoq@dcc.uchile.cl) wrote:
Yes, but what I am asking for is to define the dB values of the master control relative to the some ref level on this line-out. What happens after the line-out doesn't matter at all.
Lennart: while I definitely agree on what you try to achieve, I strongly disagree the way it's being solved.
Uh? Nothing is solved. We have this discussion on this ML because it needs to be solved.
Initial volume setup is an *installation* issue, not a *boot or daemon startup* issue. When you buy a notebook with linux pre-installed, it's the manufacturer who must make sure the notebook has the appropiate volume levels, factory default. When you install Fedora, it's the fedora install program who must make sure the appropiate volume levels. Both ways, when the user starts its new shiny linux, it just works.
It's not installation issue. It's a "seeing for the first time" issue. For hotplug devices this might be much later than on installation.
In one of the first emails of this thread I already explained that I'd like to see a new command for alsactl called "reset" or suchlike which implements the logic to initialize the dB scales properly. We'd then call this program from the udev rules if "alsactl restore" fails because the device was unknown before and has no configuration file yet.
Right now we have this really awful program in Fedora called "salsa" and "alsaunmute" which implements this logic, but is really really bad in doing so, because it just initializes everything to 70% for unknown devices. Also, while it is able to restore the volume settings, it is not capable to save them on hot-unplug. Which makes the whole thing pretty pointless.
But anyway, isn't this exactly what you are looking for? I am not sure what you are asking for more than this?
However, having "alsctl reset" is nice. But it is still not sufficient for the actual problems I need to solve in PA. See below.
That's all, end of story! If you put code that tries to guess what the appropiate volume should be for any case, it will become an infinite problem of what is right and what is wrong, not counting the annoying user experience this will bring. You can't guess what is right for every people, so a sane mute (in case of no other source of information) is clearly the only good choice.
The problem is a bit more complex. Think of multiple sessions and stuff. If ConsoleKit informs PA about a session switch we need to be able to provide every user hs own set of mixer settings.
Dude, it's pretty easy to define a common refernce of the dB values. In fact, James (who afaik did the dB scale work initially) already agreed to this and even suggested measuring the voltage on the output jack.
Lennart