Add initial support for the Vocaster One and Two
This commit is contained in:
1861
demo/Vocaster One.state
Normal file
1861
demo/Vocaster One.state
Normal file
File diff suppressed because it is too large
Load Diff
3428
demo/Vocaster Two.state
Normal file
3428
demo/Vocaster Two.state
Normal file
File diff suppressed because it is too large
Load Diff
@@ -146,6 +146,11 @@ button.toggle {
|
||||
text-shadow: 0 0 5px #0000ff, 0 0 15px #0000ff;
|
||||
}
|
||||
|
||||
/* orange */
|
||||
.window-frame .vocaster button.autogain:checked {
|
||||
text-shadow: 0 0 5px #ffc000, 0 0 15px #ffc000;
|
||||
}
|
||||
|
||||
.window-frame button.safe:checked {
|
||||
text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
|
||||
}
|
||||
@@ -212,6 +217,14 @@ button.toggle {
|
||||
text-shadow: 0 0 5px #005000, 0 0 15px #005000;
|
||||
}
|
||||
|
||||
.window-frame button.input-mute:checked {
|
||||
text-shadow: 0 0 5px #ff0000, 0 0 15px #c00000;
|
||||
}
|
||||
|
||||
.window-frame button.dsp:checked {
|
||||
text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
|
||||
}
|
||||
|
||||
/* Direct Monitor Checked (Solo) */
|
||||
.window-frame .direct-monitor:checked {
|
||||
text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
|
||||
|
||||
@@ -756,7 +756,8 @@ static void alsa_scan_cards(void) {
|
||||
goto next;
|
||||
|
||||
if (strncmp(snd_ctl_card_info_get_name(info), "Scarlett", 8) != 0 &&
|
||||
strncmp(snd_ctl_card_info_get_name(info), "Clarett", 7) != 0)
|
||||
strncmp(snd_ctl_card_info_get_name(info), "Clarett", 7) != 0 &&
|
||||
strncmp(snd_ctl_card_info_get_name(info), "Vocaster", 8) != 0)
|
||||
goto next;
|
||||
|
||||
// is there already an entry for this card in alsa_cards?
|
||||
|
||||
@@ -15,6 +15,8 @@ struct scarlett2_device scarlett2_supported[] = {
|
||||
{ 0x8213, "Scarlett 3rd Gen 8i6" },
|
||||
{ 0x8214, "Scarlett 3rd Gen 18i8" },
|
||||
{ 0x8215, "Scarlett 3rd Gen 18i20" },
|
||||
{ 0x8216, "Vocaster One" },
|
||||
{ 0x8217, "Vocaster Two" },
|
||||
{ 0x8218, "Scarlett 4th Gen Solo" },
|
||||
{ 0x8219, "Scarlett 4th Gen 2i2" },
|
||||
{ 0x821a, "Scarlett 4th Gen 4i4" },
|
||||
|
||||
@@ -360,6 +360,48 @@ static void create_input_air_enum_control(
|
||||
gtk_grid_attach(GTK_GRID(grid), w, column_num, current_row, 1, 1);
|
||||
}
|
||||
|
||||
static void create_input_dsp_switch_control(
|
||||
struct alsa_elem *elem,
|
||||
GtkWidget *grid,
|
||||
int current_row,
|
||||
int column_num
|
||||
) {
|
||||
GtkWidget *w = make_boolean_alsa_elem(elem, "Enhance", NULL);
|
||||
gtk_widget_add_css_class(w, "dsp");
|
||||
gtk_widget_set_hexpand(w, TRUE);
|
||||
// gtk_widget_set_tooltip_text(w, dsp_descr);
|
||||
|
||||
gtk_grid_attach(GTK_GRID(grid), w, column_num, current_row, 1, 1);
|
||||
}
|
||||
|
||||
static void create_input_dsp_preset_control(
|
||||
struct alsa_elem *elem,
|
||||
GtkWidget *grid,
|
||||
int current_row,
|
||||
int column_num
|
||||
) {
|
||||
GtkWidget *w = make_drop_down_alsa_elem(elem, NULL);
|
||||
gtk_widget_add_css_class(w, "dsp-preset");
|
||||
gtk_widget_set_hexpand(w, TRUE);
|
||||
// gtk_widget_set_tooltip_text(w, dsp_descr);
|
||||
|
||||
gtk_grid_attach(GTK_GRID(grid), w, column_num, current_row, 1, 1);
|
||||
}
|
||||
|
||||
static void create_input_mute_switch_control(
|
||||
struct alsa_elem *elem,
|
||||
GtkWidget *grid,
|
||||
int current_row,
|
||||
int column_num
|
||||
) {
|
||||
GtkWidget *w = make_boolean_alsa_elem(elem, "Mute", NULL);
|
||||
gtk_widget_add_css_class(w, "input-mute");
|
||||
gtk_widget_set_hexpand(w, TRUE);
|
||||
// gtk_widget_set_tooltip_text(w, dsp_descr);
|
||||
|
||||
gtk_grid_attach(GTK_GRID(grid), w, column_num, current_row, 1, 1);
|
||||
}
|
||||
|
||||
static void create_input_pad_control(
|
||||
struct alsa_elem *elem,
|
||||
GtkWidget *grid,
|
||||
@@ -514,6 +556,18 @@ static void create_input_controls(
|
||||
elems, input_grid, ¤t_row,
|
||||
"Air Capture Enum", create_input_air_enum_control
|
||||
);
|
||||
create_input_controls_by_type(
|
||||
elems, input_grid, ¤t_row,
|
||||
"DSP Capture Switch", create_input_dsp_switch_control
|
||||
);
|
||||
create_input_controls_by_type(
|
||||
elems, input_grid, ¤t_row,
|
||||
"DSP Preset Capture Enum", create_input_dsp_preset_control
|
||||
);
|
||||
create_input_controls_by_type(
|
||||
elems, input_grid, ¤t_row,
|
||||
"Mute Capture Switch", create_input_mute_switch_control
|
||||
);
|
||||
create_input_controls_by_type(
|
||||
elems, input_grid, ¤t_row,
|
||||
"Pad Capture Switch", create_input_pad_control
|
||||
@@ -749,6 +803,8 @@ static GtkWidget *create_main_window_controls(struct alsa_card *card) {
|
||||
gtk_widget_add_css_class(top, "scarlett");
|
||||
} else if (strstr(card->name, "Clarett")) {
|
||||
gtk_widget_add_css_class(top, "clarett");
|
||||
} else if (strstr(card->name, "Vocaster")) {
|
||||
gtk_widget_add_css_class(top, "vocaster");
|
||||
}
|
||||
|
||||
gtk_grid_set_spacing(GTK_GRID(top), 15);
|
||||
|
||||
@@ -12,7 +12,7 @@ GtkWidget *create_window_iface_none(GtkApplication *app) {
|
||||
GtkWidget *picture = gtk_picture_new_for_resource(
|
||||
"/vu/b4/alsa-scarlett-gui/icons/alsa-scarlett-gui-logo.png"
|
||||
);
|
||||
GtkWidget *label = gtk_label_new("No Scarlett/Clarett interface found.");
|
||||
GtkWidget *label = gtk_label_new("No Scarlett/Clarett/Vocaster interface found.");
|
||||
|
||||
gtk_box_append(GTK_BOX(box), picture);
|
||||
gtk_box_append(GTK_BOX(box), label);
|
||||
|
||||
Reference in New Issue
Block a user