Discussion:
[pulseaudio-discuss] [PATCH] alsa-mixer: Add support for "Headphone+LO" and "Speaker+LO"
David Henningsson
2014-10-20 11:34:49 UTC
Permalink
These two control names are currently being added to the HDA driver,
so let's support them in PulseAudio as well.

Signed-off-by: David Henningsson <***@canonical.com>
---
src/modules/alsa/mixer/paths/analog-output-headphones.conf | 10 ++++++++++
src/modules/alsa/mixer/paths/analog-output-lineout.conf | 12 ++++++++++++
.../alsa/mixer/paths/analog-output-speaker-always.conf | 10 ++++++++++
src/modules/alsa/mixer/paths/analog-output-speaker.conf | 10 ++++++++++
4 files changed, 42 insertions(+)

diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
index a41d41f..1645f14 100644
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
@@ -69,6 +69,16 @@ override-map.2 = all-left,all-right
switch = off
volume = off

+[Element Speaker+LO]
+switch = off
+volume = off
+
+[Element Headphone+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Headphone]
required-any = any
switch = mute
diff --git a/src/modules/alsa/mixer/paths/analog-output-lineout.conf b/src/modules/alsa/mixer/paths/analog-output-lineout.conf
index 40af699..9160563 100644
--- a/src/modules/alsa/mixer/paths/analog-output-lineout.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-lineout.conf
@@ -76,6 +76,18 @@ volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Headphone+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Master Mono]
switch = off
volume = off
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf b/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
index c511813..e5bfbf5 100644
--- a/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
@@ -61,6 +61,16 @@ volume = zero
switch = mute
volume = zero

+[Element Headphone+LO]
+switch = off
+volume = off
+
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Speaker]
switch = mute
volume = merge
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
index f708e61..18dd923 100644
--- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
@@ -73,6 +73,16 @@ volume = off
switch = off
volume = off

+[Element Headphone+LO]
+switch = off
+volume = off
+
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Speaker]
required-any = any
switch = mute
--
1.9.1
Alexander E. Patrakov
2014-10-20 11:52:50 UTC
Permalink
Post by David Henningsson
These two control names are currently being added to the HDA driver,
so let's support them in PulseAudio as well.
Nitpick: the order of the added elements is a bit inconsistent.

In the analog-output-headphones.conf file, you add the new elements
after Master Mono, while in analog-output-lineout.conf, you add them
before Master Mono.

Also I am not really sure whether analog-output.conf should stay unmodified.
Post by David Henningsson
---
src/modules/alsa/mixer/paths/analog-output-headphones.conf | 10 ++++++++++
src/modules/alsa/mixer/paths/analog-output-lineout.conf | 12 ++++++++++++
.../alsa/mixer/paths/analog-output-speaker-always.conf | 10 ++++++++++
src/modules/alsa/mixer/paths/analog-output-speaker.conf | 10 ++++++++++
4 files changed, 42 insertions(+)
diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
index a41d41f..1645f14 100644
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
@@ -69,6 +69,16 @@ override-map.2 = all-left,all-right
switch = off
volume = off
+[Element Speaker+LO]
+switch = off
+volume = off
+
+[Element Headphone+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Headphone]
required-any = any
switch = mute
diff --git a/src/modules/alsa/mixer/paths/analog-output-lineout.conf b/src/modules/alsa/mixer/paths/analog-output-lineout.conf
index 40af699..9160563 100644
--- a/src/modules/alsa/mixer/paths/analog-output-lineout.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-lineout.conf
@@ -76,6 +76,18 @@ volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Headphone+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Master Mono]
switch = off
volume = off
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf b/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
index c511813..e5bfbf5 100644
--- a/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
@@ -61,6 +61,16 @@ volume = zero
switch = mute
volume = zero
+[Element Headphone+LO]
+switch = off
+volume = off
+
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Speaker]
switch = mute
volume = merge
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
index f708e61..18dd923 100644
--- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
@@ -73,6 +73,16 @@ volume = off
switch = off
volume = off
+[Element Headphone+LO]
+switch = off
+volume = off
+
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Speaker]
required-any = any
switch = mute
--
Alexander E. Patrakov
Takashi Iwai
2014-10-20 12:01:15 UTC
Permalink
At Mon, 20 Oct 2014 13:34:49 +0200,
Post by David Henningsson
These two control names are currently being added to the HDA driver,
so let's support them in PulseAudio as well.
A quick test went well, the mixer elements changed accordingly to the
jack plugging state. Feel free to take my tested-by or any ack tag.


thanks,

Takashi
Post by David Henningsson
---
src/modules/alsa/mixer/paths/analog-output-headphones.conf | 10 ++++++++++
src/modules/alsa/mixer/paths/analog-output-lineout.conf | 12 ++++++++++++
.../alsa/mixer/paths/analog-output-speaker-always.conf | 10 ++++++++++
src/modules/alsa/mixer/paths/analog-output-speaker.conf | 10 ++++++++++
4 files changed, 42 insertions(+)
diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
index a41d41f..1645f14 100644
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
@@ -69,6 +69,16 @@ override-map.2 = all-left,all-right
switch = off
volume = off
+[Element Speaker+LO]
+switch = off
+volume = off
+
+[Element Headphone+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Headphone]
required-any = any
switch = mute
diff --git a/src/modules/alsa/mixer/paths/analog-output-lineout.conf b/src/modules/alsa/mixer/paths/analog-output-lineout.conf
index 40af699..9160563 100644
--- a/src/modules/alsa/mixer/paths/analog-output-lineout.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-lineout.conf
@@ -76,6 +76,18 @@ volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Headphone+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Master Mono]
switch = off
volume = off
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf b/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
index c511813..e5bfbf5 100644
--- a/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
@@ -61,6 +61,16 @@ volume = zero
switch = mute
volume = zero
+[Element Headphone+LO]
+switch = off
+volume = off
+
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Speaker]
switch = mute
volume = merge
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
index f708e61..18dd923 100644
--- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
@@ -73,6 +73,16 @@ volume = off
switch = off
volume = off
+[Element Headphone+LO]
+switch = off
+volume = off
+
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Speaker]
required-any = any
switch = mute
--
1.9.1
Tanu Kaskinen
2014-10-28 08:56:53 UTC
Permalink
Post by David Henningsson
These two control names are currently being added to the HDA driver,
so let's support them in PulseAudio as well.
---
src/modules/alsa/mixer/paths/analog-output-headphones.conf | 10 ++++++++++
src/modules/alsa/mixer/paths/analog-output-lineout.conf | 12 ++++++++++++
.../alsa/mixer/paths/analog-output-speaker-always.conf | 10 ++++++++++
src/modules/alsa/mixer/paths/analog-output-speaker.conf | 10 ++++++++++
I believe the new elements should be added to analog-output-headphones-2
and analog-output-mono too.
Post by David Henningsson
4 files changed, 42 insertions(+)
diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
index a41d41f..1645f14 100644
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
@@ -69,6 +69,16 @@ override-map.2 = all-left,all-right
switch = off
volume = off
+[Element Speaker+LO]
+switch = off
+volume = off
+
+[Element Headphone+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
I think "required-any = any" should be added.
Post by David Henningsson
+
[Element Headphone]
required-any = any
switch = mute
diff --git a/src/modules/alsa/mixer/paths/analog-output-lineout.conf b/src/modules/alsa/mixer/paths/analog-output-lineout.conf
index 40af699..9160563 100644
--- a/src/modules/alsa/mixer/paths/analog-output-lineout.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-lineout.conf
@@ -76,6 +76,18 @@ volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
required-any = any
Post by David Henningsson
+
+[Element Headphone+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
required-any = any
Post by David Henningsson
+
[Element Master Mono]
switch = off
volume = off
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf b/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
index c511813..e5bfbf5 100644
--- a/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf
@@ -61,6 +61,16 @@ volume = zero
switch = mute
volume = zero
+[Element Headphone+LO]
+switch = off
+volume = off
+
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
required-any = any
Post by David Henningsson
+
[Element Speaker]
switch = mute
volume = merge
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
index f708e61..18dd923 100644
--- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
@@ -73,6 +73,16 @@ volume = off
switch = off
volume = off
+[Element Headphone+LO]
+switch = off
+volume = off
+
+[Element Speaker+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
required-any = any
--
Tanu
Raymond Yau
2014-10-30 01:31:15 UTC
Permalink
Post by Tanu Kaskinen
Post by David Henningsson
These two control names are currently being added to the HDA driver,
so let's support them in PulseAudio as well.
---
src/modules/alsa/mixer/paths/analog-output-headphones.conf | 10 ++++++++++
src/modules/alsa/mixer/paths/analog-output-lineout.conf | 12 ++++++++++++
.../alsa/mixer/paths/analog-output-speaker-always.conf | 10 ++++++++++
src/modules/alsa/mixer/paths/analog-output-speaker.conf | 10 ++++++++++
I believe the new elements should be added to analog-output-headphones-2
and analog-output-mono too.
Post by David Henningsson
4 files changed, 42 insertions(+)
diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
Post by Tanu Kaskinen
Post by David Henningsson
index a41d41f..1645f14 100644
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
@@ -69,6 +69,16 @@ override-map.2 = all-left,all-right
switch = off
volume = off
+[Element Speaker+LO]
+switch = off
+volume = off
+
+[Element Headphone+LO]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
I think "required-any = any" should be added.
It seem the corresponding alsa patch only share volume control, headphone
and line out still have their own mute switch, the driver don't create
"Headphone+LO Playback Switch"

Loading...