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;
|
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 {
|
.window-frame button.safe:checked {
|
||||||
text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
|
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;
|
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) */
|
/* Direct Monitor Checked (Solo) */
|
||||||
.window-frame .direct-monitor:checked {
|
.window-frame .direct-monitor:checked {
|
||||||
text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
|
text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
|
||||||
|
|||||||
@@ -756,7 +756,8 @@ static void alsa_scan_cards(void) {
|
|||||||
goto next;
|
goto next;
|
||||||
|
|
||||||
if (strncmp(snd_ctl_card_info_get_name(info), "Scarlett", 8) != 0 &&
|
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;
|
goto next;
|
||||||
|
|
||||||
// is there already an entry for this card in alsa_cards?
|
// 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" },
|
{ 0x8213, "Scarlett 3rd Gen 8i6" },
|
||||||
{ 0x8214, "Scarlett 3rd Gen 18i8" },
|
{ 0x8214, "Scarlett 3rd Gen 18i8" },
|
||||||
{ 0x8215, "Scarlett 3rd Gen 18i20" },
|
{ 0x8215, "Scarlett 3rd Gen 18i20" },
|
||||||
|
{ 0x8216, "Vocaster One" },
|
||||||
|
{ 0x8217, "Vocaster Two" },
|
||||||
{ 0x8218, "Scarlett 4th Gen Solo" },
|
{ 0x8218, "Scarlett 4th Gen Solo" },
|
||||||
{ 0x8219, "Scarlett 4th Gen 2i2" },
|
{ 0x8219, "Scarlett 4th Gen 2i2" },
|
||||||
{ 0x821a, "Scarlett 4th Gen 4i4" },
|
{ 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);
|
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(
|
static void create_input_pad_control(
|
||||||
struct alsa_elem *elem,
|
struct alsa_elem *elem,
|
||||||
GtkWidget *grid,
|
GtkWidget *grid,
|
||||||
@@ -514,6 +556,18 @@ static void create_input_controls(
|
|||||||
elems, input_grid, ¤t_row,
|
elems, input_grid, ¤t_row,
|
||||||
"Air Capture Enum", create_input_air_enum_control
|
"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(
|
create_input_controls_by_type(
|
||||||
elems, input_grid, ¤t_row,
|
elems, input_grid, ¤t_row,
|
||||||
"Pad Capture Switch", create_input_pad_control
|
"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");
|
gtk_widget_add_css_class(top, "scarlett");
|
||||||
} else if (strstr(card->name, "Clarett")) {
|
} else if (strstr(card->name, "Clarett")) {
|
||||||
gtk_widget_add_css_class(top, "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);
|
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(
|
GtkWidget *picture = gtk_picture_new_for_resource(
|
||||||
"/vu/b4/alsa-scarlett-gui/icons/alsa-scarlett-gui-logo.png"
|
"/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), picture);
|
||||||
gtk_box_append(GTK_BOX(box), label);
|
gtk_box_append(GTK_BOX(box), label);
|
||||||
|
|||||||
Reference in New Issue
Block a user