diff options
author | Eldad Zack <eldad@fogrefinery.com> | 2012-11-29 02:55:39 +0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-11-29 11:44:42 +0400 |
commit | d50ed624e4106ae4e6d06b8bf7cefad6612e235d (patch) | |
tree | 1f158ae069aaaae7c029629cab388b613a4cc343 /sound/usb | |
parent | 76f74bca73ec8210c6b04559445982907ad1b0a6 (diff) | |
download | linux-d50ed624e4106ae4e6d06b8bf7cefad6612e235d.tar.xz |
ALSA: usb-audio: Fast Track C400 mixer ranges
Add ranges for various Fast Track C400 controls, as observed
while using the vendor's mixer control software (res values
are an estimation).
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/mixer.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c index 4eacbe2e2d64..feed500f9435 100644 --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c @@ -806,6 +806,33 @@ static void volume_control_quirks(struct usb_mixer_elem_info *cval, struct snd_kcontrol *kctl) { switch (cval->mixer->chip->usb_id) { + case USB_ID(0x0763, 0x2030): /* M-Audio Fast Track C400 */ + if (strcmp(kctl->id.name, "Effect Duration") == 0) { + cval->min = 0x0000; + cval->max = 0xffff; + cval->res = 0x00e6; + break; + } + if (strcmp(kctl->id.name, "Effect Volume") == 0 || + strcmp(kctl->id.name, "Effect Feedback Volume") == 0) { + cval->min = 0x00; + cval->max = 0xff; + break; + } + if (strstr(kctl->id.name, "Effect Return") != NULL) { + cval->min = 0xb706; + cval->max = 0xff7b; + cval->res = 0x0073; + break; + } + if ((strstr(kctl->id.name, "Playback Volume") != NULL) || + (strstr(kctl->id.name, "Effect Send") != NULL)) { + cval->min = 0xb5fb; /* -73 dB = 0xb6ff */ + cval->max = 0xfcfe; + cval->res = 0x0073; + } + break; + case USB_ID(0x0763, 0x2081): /* M-Audio Fast Track Ultra 8R */ case USB_ID(0x0763, 0x2080): /* M-Audio Fast Track Ultra */ if (strcmp(kctl->id.name, "Effect Duration") == 0) { |