[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-sound
Subject:    [PATCH] [2.5] maestro volume tuning
From:       Samuel Thibault <Samuel.Thibault () ens-lyon ! fr>
Date:       2003-07-12 1:14:29
[Download RAW message or body]

Hi,

Here is a patch which tunes the volume control of maestro sound boards:
The log conversion seems not good for PCM and CD. The volume buttons
incrementing / decrementing the main volume by 10 on 100 is too much, I'd
rather set it to 5.

Regards,
Samuel Thibault

diff -ur linux-2.5.71-orig/sound/oss/maestro.c linux-2.5.71-perso/sound/oss/maestro.c
--- linux-2.5.71-orig/sound/oss/maestro.c	2003-06-14 17:13:46.000000000 -0400
+++ linux-2.5.71-perso/sound/oss/maestro.c	2003-07-06 13:51:23.000000000 -0400
@@ -726,6 +726,12 @@
 			left = (left * mh->scale) / 100;
 			if ((left == 0) && (right == 0))
 				val |= 0x8000;
+		} else if (mixer == SOUND_MIXER_PCM || mixer == SOUND_MIXER_CD) {
+			/* log conversion seems bad for them */
+			if ((left == 0) && (right == 0))
+				val = 0x8000;
+			right = ((100 - right) * mh->scale) / 100;
+			left = ((100 - left) * mh->scale) / 100;
 		} else {
 			/* log conversion for the stereo controls */
 			if((left == 0) && (right == 0))
@@ -1937,12 +1943,12 @@
 		   manner by adjusting the master mixer volume. */
 		volume = c->mix.mixer_state[0] & 0xff;
 		if (vol_evt == UP_EVT) {
-			volume += 10;
+			volume += 5;
 			if (volume > 100)
 				volume = 100;
 		}
 		else if (vol_evt == DOWN_EVT) {
-			volume -= 10;
+			volume -= 5;
 			if (volume < 0)
 				volume = 0;
 		} else {
-
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic