Mikael Magnusson написа:
On Tue, Mar 14, 2006 at 11:40:35AM -0500, Lee Revell wrote:
On Thu, 2006-03-09 at 18:59 +0100, Mikael Magnusson wrote:
I'm the author of the patch, which I also have posted on alsa-devel
some time ago. I have another patch that renames the controls, but I'm
not sure it's a good idea to call it Master. It doesn't control the
analog mixer, only the pcm output from the Emu10k1 synthesizer. The
analog input(s) that are captured are routed through the Emu10k1 and
can be controlled with "Master Digital".
Well it definitely can't be called "Master Digital" as this implies that
it controls the level of SPDIF output.

https://bugtrack.alsa-project.org/alsa-bug/view.php?id=154

"I'd suggest to rename the ac97 Master to Front, and the new Master
Digital to a real Master.  Also, for avoid regressions (no sound after
update), make the default value of Front full and unmuted."

Can you respin the patch according to tiwais suggestion and post it to
alsa-devel, so this can be fixed for the 1.0.11 release?

Lee


I have put together an updated patch, which creates the new controls and
renames the old to "Master Front Playback Volume", and the new to
"Master Playback Volume"

I read the discussion about SND_EMU10K1_GPR_CONTROLS, but I
haven't changed my patch since the new controls need two additional
GPRs, and the space allocated by the driver is controlled by the
SND_EMU10K1_GPR_CONTROLS macro.
And I don't know how and where the Master Front value should be changed, since
it's a AC97 control.

/Mikael


SBLive master volume (master_volume_v4.patch):

Add "Master PCM Playback Volume" controlling all six pcm playback channels.

Rename "Master Playback Volume" to "Master Front Playback Volume" reflecting that it controls the front outputs only, and rename "Master PCM Playback Volume" to "Master Playback Volume".

Signed-Off-By: Mikael Magnusson <[EMAIL PROTECTED]>


------------------------------------------------------------------------

Index: alsa-kernel/pci/emu10k1/emufx.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emufx.c,v
retrieving revision 1.86
diff -u -u -r1.86 emufx.c
--- alsa-kernel/pci/emu10k1/emufx.c     16 Jan 2006 16:34:25 -0000      1.86
+++ alsa-kernel/pci/emu10k1/emufx.c     15 Mar 2006 14:39:33 -0000
@@ -998,7 +998,7 @@
        return err;
 }
-#define SND_EMU10K1_GPR_CONTROLS 44
+#define SND_EMU10K1_GPR_CONTROLS       46
 #define SND_EMU10K1_INPUTS             12
 #define SND_EMU10K1_PLAYBACK_CHANNELS  8
 #define SND_EMU10K1_CAPTURE_CHANNELS   4
@@ -1887,6 +1887,19 @@
        }
/*
+        * Master Volume
+        */
+       for (z = 0; z < 6; z++) {
+               SWITCH(icode, &ptr, playback + z, playback + z, gpr + 0);
+               VOLUME(icode, &ptr, playback + z, playback + z, gpr + 1);
+       }
+
+       snd_emu10k1_init_mono_onoff_control(controls + i++, "Master PCM Playback 
Switch", gpr + 0, 0);
+       snd_emu10k1_init_mono_control(controls + i++, "Master PCM Playback 
Volume", gpr + 1, 0);
+       gpr += 2;
+
+
+       /*
         *  Process tone control
         */
        OP(icode, &ptr, iACC3, GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 
0), GPR(playback + 0), C_00000000, C_00000000); /* left */
Index: alsa-kernel/pci/emu10k1/emumixer.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emumixer.c,v
retrieving revision 1.46
diff -u -u -r1.46 emumixer.c
--- alsa-kernel/pci/emu10k1/emumixer.c  5 Jan 2006 18:40:56 -0000       1.46
+++ alsa-kernel/pci/emu10k1/emumixer.c  15 Mar 2006 14:39:34 -0000
@@ -773,6 +773,10 @@
                "Surround Digital Playback Volume", "Surround Playback Volume",
                "Center Digital Playback Volume", "Center Playback Volume",
                "LFE Digital Playback Volume", "LFE Playback Volume",
+               "Master Playback Volume", "Master Front Playback Volume",
+               "Master Playback Switch", "Master Front Playback Switch",
+               "Master PCM Playback Volume", "Master Playback Volume",
+               "Master PCM Playback Switch", "Master Playback Switch",
                NULL
        };
        static char *audigy_remove_ctls[] = {

Do You have any idea why this doesn't work with my card and I have to leave the 'SND_EMU10K1_GPR_CONTROLS' to 44 in order to work for me as I discussed here some time ago?
If it is based on the card model can the patch be expanded or something?

Milen


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Alsa-user mailing list
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to