At Mon, 19 May 2008 11:31:09 +0100, Tony Vroon wrote:
On Mon, 2008-05-19 at 12:23 +0200, Takashi Iwai wrote:
Any reason to remove this? Otherwise the internal speaker won't react together with the Master volume.
It seemed to only take the internal headphone output into account, not the dock headphone output. But if it's just to link the two volumes together I'll add it back. It will fix the compile warning as well. Its purpose was unclear to me.
Will the existing mechanism cope if 0x14 (internal HP output) is muted and 0x1B (dock HP output) is not?
The code there was to synchronize both HP and speaker outputs with the master switch. The master switch changes 0x14 mute status and calls automute. When no HP is plugged, the internal speaker is unmuted only when master switch is on -- that is, 0x14 is also unmuted.
The logic is a bit complex, and thus I suggested to replace with vmaster.
Maybe a cleaner fix is to remove the bind_sw and bind_vol hacks and use vmaster instead.
Is there example code I can look at please?
Add the individual mixer elements corresponding to HP, dock and PC-speaker switches instead of hackish master switch. Then a virtual master switch will be automatically created.
I'll create a test patch soon later...
thanks,
Takashi