[alsa-devel] Scarlett 6i6 gain switches patch
Jens Verwiebe
info at jensverwiebe.de
Sat Aug 26 16:56:02 CEST 2017
Hi folks
As an owner of an Focusrite Scarlett 6i6 (gen 1)i was bothered that i
could not
switch rear inputs 3/4 gain. After investigating the code i found the
specs of
that interface not used right. I wrote a patch and tested this well so far.
Afaik the same could be used also for the 18i18 and 18i20, but i left
those untouched
for i could not test myself. Pls review and take over in case its accepted.
Cheers ... Jens
The patch:
--- /sound/usb/mixer_scarlett_nv.c 2017-04-08 09:53:53.000000000 +0200
+++ /sound/usb/mixer_scarlett.c 2017-08-26 03:15:15.734930629 +0200
@@ -152,6 +152,7 @@
SCARLETT_OUTPUTS,
SCARLETT_SWITCH_IMPEDANCE,
SCARLETT_SWITCH_PAD,
+ SCARLETT_SWITCH_GAIN,
};
enum {
@@ -202,6 +203,15 @@
}
};
+static const struct scarlett_mixer_elem_enum_info opt_gain = {
+ .start = 0,
+ .len = 2,
+ .offsets = {},
+ .names = (char const * const []){
+ "Lo", "Hi"
+ }
+};
+
static const struct scarlett_mixer_elem_enum_info opt_impedance = {
.start = 0,
.len = 2,
@@ -664,8 +674,8 @@
{ .num = 1, .type = SCARLETT_SWITCH_PAD, .name = NULL},
{ .num = 2, .type = SCARLETT_SWITCH_IMPEDANCE, .name = NULL},
{ .num = 2, .type = SCARLETT_SWITCH_PAD, .name = NULL},
- { .num = 3, .type = SCARLETT_SWITCH_PAD, .name = NULL},
- { .num = 4, .type = SCARLETT_SWITCH_PAD, .name = NULL},
+ { .num = 3, .type = SCARLETT_SWITCH_GAIN, .name = NULL},
+ { .num = 4, .type = SCARLETT_SWITCH_GAIN, .name = NULL},
},
.matrix_mux_init = {
@@ -895,6 +905,15 @@
if (err < 0)
return err;
break;
+ case SCARLETT_SWITCH_GAIN:
+ sprintf(mx, "Input %d Gain Switch", ctl->num);
+ err = add_new_ctl(mixer, &usb_scarlett_ctl_enum,
+ scarlett_ctl_enum_resume, 0x01,
+ 0x08, ctl->num, USB_MIXER_S16, 1, mx,
+ &opt_gain, &elem);
+ if (err < 0)
+ return err;
+ break;
}
}
--
Jens Verwiebe
Allerskehre 44 - 22309 Hamburg
Tel.: +49 40 68 78 50
mobile: +49 172 400 49 07
mailto: info at jensverwiebe.de
web: http://www.jensverwiebe.de
More information about the Alsa-devel
mailing list