At Mon, 23 Apr 2012 16:37:37 +0200, Felix Homann wrote:
This adds the remaining controls for effects on the FTU devices. Some of these controls need volume quirks. They are added to mixer.c.
Signed-off-by: Felix Homann linuxaudio@showlabor.de
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c index bb56f53..195b6d2 100644 --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c @@ -770,6 +770,24 @@ 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, 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)) {
snd_printk(KERN_INFO
"usb-audio: set quirk for FTU Effect Duration\n");
cval->min = 0x0000;
cval->max = 0x7f00;
cval->res = 0x0100;
break;
}
if (strcmp(kctl->id.name, "Effect Volume") == 0 ||
strcmp(kctl->id.name, "Effect Feedback Volume") == 0) {
snd_printk(KERN_INFO
"usb-audio: set quirks for FTU Effect Feedback/Volume\n");
cval->min = 0x00;
cval->max = 0x7f;
break;
case USB_ID(0x0471, 0x0101): case USB_ID(0x0471, 0x0104): case USB_ID(0x0471, 0x0105):}
diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c index f751137..4d8cc45 100644 --- a/sound/usb/mixer_quirks.c +++ b/sound/usb/mixer_quirks.c @@ -584,14 +584,14 @@ struct snd_ftu_eff_switch_priv_val { static int snd_ftu_eff_switch_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) {
- static char *texts[8] = {"Room 1",
"Room 2",
"Room 3",
"Hall 1",
"Hall 2",
"Plate",
"Delay",
"Echo"
- static const char *texts[8] = {"Room 1",
Write it in the first place in that way.
"Room 2",
"Room 3",
"Hall 1",
"Hall 2",
"Plate",
"Delay",
"Echo"
};
uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
@@ -614,6 +614,13 @@ static int snd_ftu_eff_switch_get(struct snd_kcontrol *kctl, int err; unsigned char value[2];
- const int id = 6;
- const int validx = 1;
- const int val_len = 2;
- value[0] = 0x00;
- value[1] = 0x00;
- pval = (struct snd_ftu_eff_switch_priv_val *) kctl->private_value;
@@ -630,14 +637,6 @@ static int snd_ftu_eff_switch_get(struct snd_kcontrol *kctl, if (snd_BUG_ON(!chip)) return -EINVAL;
- const int id = 6;
- const int validx = 1;
- const int val_type = USB_MIXER_S16;
Ditto. Not good to fix something in a later patch if you already know it should be fixed.
thanks,
Takashi