diff -u alsa-kernel/pci/emu10k1/emufx.c alsa-kernel/pci/emu10k1/emufx.c --- alsa-kernel/pci/emu10k1/emufx.c 21 Feb 2005 13:34:35 -0000 +++ alsa-kernel/pci/emu10k1/emufx.c 21 Feb 2005 13:34:49 -0000 @@ -934,7 +934,7 @@ return err; } -#define SND_EMU10K1_GPR_CONTROLS 46 +#define SND_EMU10K1_GPR_CONTROLS 47 #define SND_EMU10K1_INPUTS 12 #define SND_EMU10K1_PLAYBACK_CHANNELS 8 #define SND_EMU10K1_CAPTURE_CHANNELS 4 @@ -1596,18 +1596,24 @@ /* Wave Playback Volume */ for (z = 0; z < 2; z++) - VOLUME(icode, &ptr, playback + z, z, gpr + z); + VOLUME(icode, &ptr, tmp + 2 + z, z, gpr + z); snd_emu10k1_init_stereo_control(controls + i++, "Wave Playback Volume", gpr, 100); gpr += 2; + /* Wave Front Playback Volume */ + for (z = 0; z < 2; z++) + VOLUME(icode, &ptr, playback + z, tmp + 2 + z, gpr + z); + snd_emu10k1_init_stereo_control(controls + i++, "Wave Front Playback Volume", gpr, 100); + gpr += 2; + /* Wave Surround Playback Volume */ for (z = 0; z < 2; z++) - VOLUME(icode, &ptr, playback + 2 + z, z, gpr + z); + VOLUME(icode, &ptr, playback + 2 + z, tmp + 2 + z, gpr + z); snd_emu10k1_init_stereo_control(controls + i++, "Wave Surround Playback Volume", gpr, 0); gpr += 2; /* Wave Center/LFE Playback Volume */ - OP(icode, &ptr, iACC3, GPR(tmp + 0), FXBUS(FXBUS_PCM_LEFT), FXBUS(FXBUS_PCM_RIGHT), C_00000000); + OP(icode, &ptr, iACC3, GPR(tmp + 0), GPR(tmp + 2), GPR(tmp + 3), C_00000000); OP(icode, &ptr, iMACINT0, GPR(tmp + 0), C_00000000, GPR(tmp + 0), C_00000002); VOLUME(icode, &ptr, playback + 4, tmp + 0, gpr); snd_emu10k1_init_mono_control(controls + i++, "Wave Center Playback Volume", gpr++, 0);