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++) {