login
Header Space

 
 

Re: Duplicate entries in the output of "mixerctl"

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <misc@...>
Date: Thursday, December 13, 2007 - 3:01 pm

Hi,

Amarendra Godbole writes:


I see... this happens when an item has both input and output
levels that can be adjusted.

Could you try this diff please?  It should give you something
more like:

outputs.line=124,124
inputs.line=85,85

Thanks!


Index: azalia.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/azalia.c,v
retrieving revision 1.45
diff -u -p -r1.45 azalia.c
--- azalia.c	25 Nov 2007 18:13:40 -0000	1.45
+++ azalia.c	13 Dec 2007 18:37:58 -0000
@@ -1609,13 +1609,24 @@ azalia_widget_label_widgets(codec_t *cod
 		w = &codec->w[i];
 		if (w->type == COP_AWTYPE_PIN_COMPLEX) {
 			pins[w->d.pin.device]++;
-			if (pins[w->d.pin.device] > 1)
-				snprintf(w->name, sizeof(w->name), "%s%d",
-				    pin_devices[w->d.pin.device],
-				    pins[w->d.pin.device]);
-			else
-				snprintf(w->name, sizeof(w->name), "%s",
-				    pin_devices[w->d.pin.device]);
+			if (w->d.pin.device == CORB_CD_LINEIN) {
+				pins[CORB_CD_LINEOUT]++;
+				if (pins[CORB_CD_LINEOUT] > 1)
+					snprintf(w->name, sizeof(w->name), "%s%d",
+					    pin_devices[CORB_CD_LINEOUT],
+					    pins[CORB_CD_LINEOUT]);
+				else
+					snprintf(w->name, sizeof(w->name), "%s",
+					    pin_devices[CORB_CD_LINEOUT]);
+			} else {
+				if (pins[w->d.pin.device] > 1)
+					snprintf(w->name, sizeof(w->name), "%s%d",
+					    pin_devices[w->d.pin.device],
+					    pins[w->d.pin.device]);
+				else
+					snprintf(w->name, sizeof(w->name), "%s",
+					    pin_devices[w->d.pin.device]);
+			}
 		} else {
 			types[w->type]++;
 			if (types[w->type] > 1)
Index: azalia_codec.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/azalia_codec.c,v
retrieving revision 1.45
diff -u -p -r1.45 azalia_codec.c
--- azalia_codec.c	6 Dec 2007 19:58:48 -0000	1.45
+++ azalia_codec.c	13 Dec 2007 18:37:33 -0000
@@ -529,9 +529,7 @@ azalia_generic_mixer_init(codec_t *this)
 				snprintf(d->label.name, sizeof(d->label.name),
 				    "%s.mute", w->name);
 				d->type = AUDIO_MIXER_ENUM;
-				if (w->type == COP_AWTYPE_PIN_COMPLEX)
-					d->mixer_class = AZ_CLASS_OUTPUT;
-				else if (w->type == COP_AWTYPE_AUDIO_INPUT)
+				if (w->type == COP_AWTYPE_AUDIO_INPUT)
 					d->mixer_class = AZ_CLASS_RECORD;
 				else
 					d->mixer_class = AZ_CLASS_INPUT;
@@ -553,9 +551,7 @@ azalia_generic_mixer_init(codec_t *this)
 					    "%s.%s.mute", w->name,
 					    this->w[w->connections[j]].name);
 					d->type = AUDIO_MIXER_ENUM;
-					if (w->type == COP_AWTYPE_PIN_COMPLEX)
-						d->mixer_class = AZ_CLASS_OUTPUT;
-					else if (w->type == COP_AWTYPE_AUDIO_INPUT)
+					if (w->type == COP_AWTYPE_AUDIO_INPUT)
 						d->mixer_class = AZ_CLASS_RECORD;
 					else
 						d->mixer_class = AZ_CLASS_INPUT;
@@ -581,9 +577,7 @@ azalia_generic_mixer_init(codec_t *this)
 				snprintf(d->label.name, sizeof(d->label.name),
 				    "%s", w->name);
 				d->type = AUDIO_MIXER_VALUE;
-				if (w->type == COP_AWTYPE_PIN_COMPLEX)
-					d->mixer_class = AZ_CLASS_OUTPUT;
-				else if (w->type == COP_AWTYPE_AUDIO_INPUT)
+				if (w->type == COP_AWTYPE_AUDIO_INPUT)
 					d->mixer_class = AZ_CLASS_RECORD;
 				else
 					d->mixer_class = AZ_CLASS_INPUT;
@@ -608,9 +602,7 @@ azalia_generic_mixer_init(codec_t *this)
 					    "%s.%s", w->name,
 					    this->w[w->connections[j]].name);
 					d->type = AUDIO_MIXER_VALUE;
-					if (w->type == COP_AWTYPE_PIN_COMPLEX)
-						d->mixer_class = AZ_CLASS_OUTPUT;
-					else if (w->type == COP_AWTYPE_AUDIO_INPUT)
+					if (w->type == COP_AWTYPE_AUDIO_INPUT)
 						d->mixer_class = AZ_CLASS_RECORD;
 					else
 						d->mixer_class = AZ_CLASS_INPUT;
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Duplicate entries in the output of "mixerctl", Deanna Phillips, (Thu Dec 13, 3:01 pm)
Re: Duplicate entries in the output of "mixerctl", Amarendra Godbole, (Thu Dec 27, 4:05 am)
speck-geostationary