I was able to restore the 'Exchange DAC' Setting with the attached patch. Do 
you think it would be worth while to try and make it a module setting?

Cheers

John

On Sunday 21 March 2004 21:13, John Knottenbelt wrote:
> Hi
>
> I see that the exchange DAC setting has disappeared from my mixer settings.
> I understand after reading thread
>
>  
> http://www.mail-archive.com/alsa-devel%40lists.sourceforge.net/msg09930.htm
>l
>
> That this is because it wasn't working well in a multi-channel context.
>
> The use that I was putting this to, however, was to switch between
> headphones and loudspeakers (by connecting loudspeakers to blue and
> headphones to green). I only ever do stereo output.
>
> Is it possible to achieve the same functionality without this switch? If
> not, would it be possible to bring it back? Specifically I would like to be
> able to switch between loudspeakers and headphones without having to
> restart any applications and for the switch to have immediate effect.
>
> My card is a 6 channel on board cmipci:
>
> 00:0c.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev
> 10) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5900
>
> Many thanks
>
> John
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: IBM Linux Tutorials
> Free Linux tutorial presented by Daniel Robbins, President and CEO of
> GenToo technologies. Learn everything from fundamentals to system
> administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
> _______________________________________________
> Alsa-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/alsa-devel
--- sound/pci/cmipci.c.orig	2004-03-21 21:34:55.000000000 +0000
+++ sound/pci/cmipci.c	2004-03-21 21:35:09.000000000 +0000
@@ -2753,13 +2753,13 @@
 		err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm));
 		if (err < 0)
 			return err;
 	}
-	if (! cm->can_multi_ch) {
+/* 	if (! cm->can_multi_ch) { */
 		err = snd_ctl_add(cm->card, snd_ctl_new1(&snd_cmipci_nomulti_switch, cm));
 		if (err < 0)
 			return err;
-	}
+/* 	} */
 	if (cm->device == PCI_DEVICE_ID_CMEDIA_CM8738 ||
 	    cm->device == PCI_DEVICE_ID_CMEDIA_CM8738B) {
 		sw = snd_cmipci_8738_mixer_switches;
 		for (idx = 0; idx < num_controls(snd_cmipci_8738_mixer_switches); idx++, sw++) {

Reply via email to