diff --git a/asound.conf b/asound.conf index 72bd711..6761792 100644 --- a/asound.conf +++ b/asound.conf @@ -22,6 +22,14 @@ ctl.AndroidCapture { ## pcm.AndroidPlayback { + +} + +pcm.AndroidPlayback_Earpiece { + +} + +pcm.AndroidPlayback_Speaker { type hooks slave.pcm { type hw @@ -41,6 +49,16 @@ pcm.AndroidPlayback { value.0 93 value.1 93 } + { + name "Headphone Playback Switch" + value.0 off + value.1 off + } + { + name "Headphone Playback Volume" + value.0 0 + value.1 0 + } { name "Speaker Playback Switch" value.0 on @@ -51,18 +69,130 @@ pcm.AndroidPlayback { value.0 31 value.1 31 } + { + name "AD Analog Switch" + value.0 on + value.1 on + } + { + name "AD Analog Volume" + value.0 31 + value.1 31 + } + { + name "AD Digital Switch" + value.0 on + value.1 on + } + { + name "AD Digital Volume" + value.0 93 + value.1 93 + } + { + name "DAC Playback Switch" + value.0 on + value.1 on + } + { + name "DAC Playback Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#0 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 Switch" + value.0 on + value.1 on + } + { + name "DIR#0 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#1 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 Switch" + value.0 on + value.1 on + } + { + name "DIR#1 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#2 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 Switch" + value.0 on + value.1 on + } + { + name "DIR#2 Volume" + value.0 93 + value.1 93 + } + { + name "DIT#0 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#0 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#1 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#1 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#2 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#2 Capture Volume" + value.0 93 + value.1 93 + } ] } } -pcm.AndroidPlayback_Earpiece { - -} - -pcm.AndroidPlayback_Speaker { - -} - pcm.AndroidPlayback_Headset { type hooks slave.pcm { @@ -84,15 +214,25 @@ pcm.AndroidPlayback_Headset { value.1 93 } { - name "Speaker Playback Switch" + name "Headphone Playback Switch" value.0 on value.1 on } { - name "Speaker Playback Volume" + name "Headphone Playback Volume" value.0 31 value.1 31 } + { + name "Speaker Playback Switch" + value.0 off + value.1 off + } + { + name "Speaker Playback Volume" + value.0 0 + value.1 0 + } { name "AD Analog Switch" value.0 on @@ -238,15 +378,25 @@ pcm.AndroidPlayback_Headphone { value.1 93 } { - name "Speaker Playback Switch" + name "Headphone Playback Switch" value.0 on value.1 on } { - name "Speaker Playback Volume" + name "Headphone Playback Volume" value.0 31 value.1 31 } + { + name "Speaker Playback Switch" + value.0 off + value.1 off + } + { + name "Speaker Playback Volume" + value.0 0 + value.1 0 + } { name "AD Analog Switch" value.0 on @@ -396,11 +546,331 @@ pcm.AndroidPlayback_Bluetooth_normal { } pcm.AndroidPlayback_Speaker_Headset_normal { - + type hooks + slave.pcm { + type hw + card 0 + device 0 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Master Playback Switch" + value.0 on + value.1 on + } + { + name "Master Playback Volume" + value.0 93 + value.1 93 + } + { + name "Headphone Playback Switch" + value.0 on + value.1 on + } + { + name "Headphone Playback Volume" + value.0 31 + value.1 31 + } + { + name "Speaker Playback Switch" + value.0 on + value.1 on + } + { + name "Speaker Playback Volume" + value.0 93 + value.1 93 + } + { + name "AD Analog Switch" + value.0 on + value.1 on + } + { + name "AD Analog Volume" + value.0 31 + value.1 31 + } + { + name "AD Digital Switch" + value.0 on + value.1 on + } + { + name "AD Digital Volume" + value.0 93 + value.1 93 + } + { + name "DAC Playback Switch" + value.0 on + value.1 on + } + { + name "DAC Playback Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#0 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 Switch" + value.0 on + value.1 on + } + { + name "DIR#0 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#1 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 Switch" + value.0 on + value.1 on + } + { + name "DIR#1 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#2 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 Switch" + value.0 on + value.1 on + } + { + name "DIR#2 Volume" + value.0 93 + value.1 93 + } + { + name "DIT#0 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#0 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#1 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#1 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#2 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#2 Capture Volume" + value.0 93 + value.1 93 + } + ] + } } pcm.AndroidPlayback_Speaker_Headphone_normal { - + type hooks + slave.pcm { + type hw + card 0 + device 0 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Master Playback Switch" + value.0 on + value.1 on + } + { + name "Master Playback Volume" + value.0 93 + value.1 93 + } + { + name "Headphone Playback Switch" + value.0 on + value.1 on + } + { + name "Headphone Playback Volume" + value.0 31 + value.1 31 + } + { + name "Speaker Playback Switch" + value.0 on + value.1 on + } + { + name "Speaker Playback Volume" + value.0 93 + value.1 93 + } + { + name "AD Analog Switch" + value.0 on + value.1 on + } + { + name "AD Analog Volume" + value.0 31 + value.1 31 + } + { + name "AD Digital Switch" + value.0 on + value.1 on + } + { + name "AD Digital Volume" + value.0 93 + value.1 93 + } + { + name "DAC Playback Switch" + value.0 on + value.1 on + } + { + name "DAC Playback Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#0 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 Switch" + value.0 on + value.1 on + } + { + name "DIR#0 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#1 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 Switch" + value.0 on + value.1 on + } + { + name "DIR#1 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#2 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 Switch" + value.0 on + value.1 on + } + { + name "DIR#2 Volume" + value.0 93 + value.1 93 + } + { + name "DIT#0 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#0 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#1 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#1 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#2 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#2 Capture Volume" + value.0 93 + value.1 93 + } + ] + } } pcm.AndroidPlayback_Speaker_fmradio { @@ -420,7 +890,167 @@ pcm.AndroidPlayback_Earpiece_ringtone { } pcm.AndroidPlayback_Speaker_ringtone { - + type hooks + slave.pcm { + type hw + card 0 + device 0 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Master Playback Switch" + value.0 on + value.1 on + } + { + name "Master Playback Volume" + value.0 93 + value.1 93 + } + { + name "Headphone Playback Switch" + value.0 off + value.1 off + } + { + name "Headphone Playback Volume" + value.0 0 + value.1 0 + } + { + name "Speaker Playback Switch" + value.0 on + value.1 on + } + { + name "Speaker Playback Volume" + value.0 31 + value.1 31 + } + { + name "AD Analog Switch" + value.0 on + value.1 on + } + { + name "AD Analog Volume" + value.0 31 + value.1 31 + } + { + name "AD Digital Switch" + value.0 on + value.1 on + } + { + name "AD Digital Volume" + value.0 93 + value.1 93 + } + { + name "DAC Playback Switch" + value.0 on + value.1 on + } + { + name "DAC Playback Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#0 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 Switch" + value.0 on + value.1 on + } + { + name "DIR#0 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#1 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 Switch" + value.0 on + value.1 on + } + { + name "DIR#1 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#2 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 Switch" + value.0 on + value.1 on + } + { + name "DIR#2 Volume" + value.0 93 + value.1 93 + } + { + name "DIT#0 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#0 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#1 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#1 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#2 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#2 Capture Volume" + value.0 93 + value.1 93 + } + ] + } } pcm.AndroidPlayback_Headset_ringtone { @@ -436,11 +1066,331 @@ pcm.AndroidPlayback_Bluetooth_ringtone { } pcm.AndroidPlayback_Speaker_Headset_ringtone { - + type hooks + slave.pcm { + type hw + card 0 + device 0 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Master Playback Switch" + value.0 on + value.1 on + } + { + name "Master Playback Volume" + value.0 93 + value.1 93 + } + { + name "Headphone Playback Switch" + value.0 on + value.1 on + } + { + name "Headphone Playback Volume" + value.0 31 + value.1 31 + } + { + name "Speaker Playback Switch" + value.0 off + value.1 off + } + { + name "Speaker Playback Volume" + value.0 0 + value.1 0 + } + { + name "AD Analog Switch" + value.0 on + value.1 on + } + { + name "AD Analog Volume" + value.0 31 + value.1 31 + } + { + name "AD Digital Switch" + value.0 on + value.1 on + } + { + name "AD Digital Volume" + value.0 93 + value.1 93 + } + { + name "DAC Playback Switch" + value.0 on + value.1 on + } + { + name "DAC Playback Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#0 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 Switch" + value.0 on + value.1 on + } + { + name "DIR#0 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#1 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 Switch" + value.0 on + value.1 on + } + { + name "DIR#1 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#2 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 Switch" + value.0 on + value.1 on + } + { + name "DIR#2 Volume" + value.0 93 + value.1 93 + } + { + name "DIT#0 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#0 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#1 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#1 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#2 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#2 Capture Volume" + value.0 93 + value.1 93 + } + ] + } } pcm.AndroidPlayback_Speaker_Headphone_ringtone { - + type hooks + slave.pcm { + type hw + card 0 + device 0 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Master Playback Switch" + value.0 on + value.1 on + } + { + name "Master Playback Volume" + value.0 93 + value.1 93 + } + { + name "Headphone Playback Switch" + value.0 on + value.1 on + } + { + name "Headphone Playback Volume" + value.0 31 + value.1 31 + } + { + name "Speaker Playback Switch" + value.0 off + value.1 off + } + { + name "Speaker Playback Volume" + value.0 0 + value.1 0 + } + { + name "AD Analog Switch" + value.0 on + value.1 on + } + { + name "AD Analog Volume" + value.0 31 + value.1 31 + } + { + name "AD Digital Switch" + value.0 on + value.1 on + } + { + name "AD Digital Volume" + value.0 93 + value.1 93 + } + { + name "DAC Playback Switch" + value.0 on + value.1 on + } + { + name "DAC Playback Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#0 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#0 Switch" + value.0 on + value.1 on + } + { + name "DIR#0 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#1 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#1 Switch" + value.0 on + value.1 on + } + { + name "DIR#1 Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 ATT Switch" + value.0 on + value.1 on + } + { + name "DIR#2 ATT Volume" + value.0 93 + value.1 93 + } + { + name "DIR#2 Switch" + value.0 on + value.1 on + } + { + name "DIR#2 Volume" + value.0 93 + value.1 93 + } + { + name "DIT#0 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#0 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#1 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#1 Capture Volume" + value.0 93 + value.1 93 + } + { + name "DIT#2 Capture Switch" + value.0 on + value.1 on + } + { + name "DIT#2 Capture Volume" + value.0 93 + value.1 93 + } + ] + } } pcm.AndroidPlayback_Earpiece_incall {