Add orientation parameter to routing_grid_label()
By adding an orientation parameter, then routing_grid_label() can be used for the Mixer I/O group labels as well.
This commit is contained in:
@@ -107,10 +107,20 @@ static void get_routing_snks(struct alsa_card *card) {
|
|||||||
assert(j == count);
|
assert(j == count);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void routing_grid_label(char *s, GtkGrid *g, GtkAlign align) {
|
static void routing_grid_label(
|
||||||
|
char *s,
|
||||||
|
GtkGrid *g,
|
||||||
|
GtkOrientation orientation,
|
||||||
|
GtkAlign align
|
||||||
|
) {
|
||||||
GtkWidget *l = gtk_label_new(s);
|
GtkWidget *l = gtk_label_new(s);
|
||||||
gtk_widget_set_halign(l, align);
|
|
||||||
gtk_grid_attach(g, l, 0, 0, 1, 1);
|
gtk_grid_attach(g, l, 0, 0, 1, 1);
|
||||||
|
if (orientation == GTK_ORIENTATION_HORIZONTAL) {
|
||||||
|
gtk_widget_set_valign(l, align);
|
||||||
|
gtk_label_set_justify(GTK_LABEL(l), GTK_JUSTIFY_CENTER);
|
||||||
|
} else {
|
||||||
|
gtk_widget_set_halign(l, align);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// clear all the routing sinks
|
// clear all the routing sinks
|
||||||
@@ -329,16 +339,29 @@ static void create_routing_grid(struct alsa_card *card) {
|
|||||||
gtk_grid_set_spacing(routing_grid, 10);
|
gtk_grid_set_spacing(routing_grid, 10);
|
||||||
|
|
||||||
routing_grid_label(
|
routing_grid_label(
|
||||||
"Hardware Inputs", GTK_GRID(card->routing_hw_in_grid), GTK_ALIGN_END
|
"Hardware Inputs", GTK_GRID(card->routing_hw_in_grid),
|
||||||
|
GTK_ORIENTATION_VERTICAL, GTK_ALIGN_END
|
||||||
);
|
);
|
||||||
routing_grid_label(
|
routing_grid_label(
|
||||||
"Hardware Outputs", GTK_GRID(card->routing_hw_out_grid), GTK_ALIGN_START
|
"Hardware Outputs", GTK_GRID(card->routing_hw_out_grid),
|
||||||
|
GTK_ORIENTATION_VERTICAL, GTK_ALIGN_START
|
||||||
);
|
);
|
||||||
routing_grid_label(
|
routing_grid_label(
|
||||||
"PCM Outputs", GTK_GRID(card->routing_pcm_in_grid), GTK_ALIGN_END
|
"PCM Outputs", GTK_GRID(card->routing_pcm_in_grid),
|
||||||
|
GTK_ORIENTATION_VERTICAL, GTK_ALIGN_END
|
||||||
);
|
);
|
||||||
routing_grid_label(
|
routing_grid_label(
|
||||||
"PCM Inputs", GTK_GRID(card->routing_pcm_out_grid), GTK_ALIGN_START
|
"PCM Inputs", GTK_GRID(card->routing_pcm_out_grid),
|
||||||
|
GTK_ORIENTATION_VERTICAL, GTK_ALIGN_START
|
||||||
|
);
|
||||||
|
routing_grid_label(
|
||||||
|
"Mixer\nInputs", GTK_GRID(card->routing_mixer_in_grid),
|
||||||
|
GTK_ORIENTATION_HORIZONTAL, GTK_ALIGN_CENTER
|
||||||
|
);
|
||||||
|
routing_grid_label(
|
||||||
|
card->has_talkback ? "Mixer Outputs" : "Mixer\nOutputs",
|
||||||
|
GTK_GRID(card->routing_mixer_out_grid),
|
||||||
|
GTK_ORIENTATION_HORIZONTAL, GTK_ALIGN_CENTER
|
||||||
);
|
);
|
||||||
|
|
||||||
GtkWidget *src_label = gtk_label_new("↑\nSources →");
|
GtkWidget *src_label = gtk_label_new("↑\nSources →");
|
||||||
@@ -832,13 +855,6 @@ static void add_routing_widgets(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget *l_mixer_in = gtk_label_new("Mixer\nInputs");
|
|
||||||
gtk_label_set_justify(GTK_LABEL(l_mixer_in), GTK_JUSTIFY_CENTER);
|
|
||||||
gtk_grid_attach(
|
|
||||||
GTK_GRID(card->routing_mixer_in_grid), l_mixer_in,
|
|
||||||
0, 0, 1, 1
|
|
||||||
);
|
|
||||||
|
|
||||||
// start at 1 to skip the "Off" input
|
// start at 1 to skip the "Off" input
|
||||||
for (int i = 1; i < card->routing_srcs->len; i++) {
|
for (int i = 1; i < card->routing_srcs->len; i++) {
|
||||||
struct routing_src *r_src = &g_array_index(
|
struct routing_src *r_src = &g_array_index(
|
||||||
@@ -883,15 +899,6 @@ static void add_routing_widgets(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget *l_mixer_out = gtk_label_new(
|
|
||||||
card->has_talkback ? "Mixer Outputs" : "Mixer\nOutputs"
|
|
||||||
);
|
|
||||||
gtk_label_set_justify(GTK_LABEL(l_mixer_out), GTK_JUSTIFY_CENTER);
|
|
||||||
gtk_grid_attach(
|
|
||||||
GTK_GRID(card->routing_mixer_out_grid), l_mixer_out,
|
|
||||||
0, 0, 1, 1
|
|
||||||
);
|
|
||||||
|
|
||||||
if (card->has_talkback) {
|
if (card->has_talkback) {
|
||||||
GtkWidget *l_talkback = gtk_label_new("Talkback");
|
GtkWidget *l_talkback = gtk_label_new("Talkback");
|
||||||
gtk_widget_set_tooltip_text(
|
gtk_widget_set_tooltip_text(
|
||||||
|
|||||||
Reference in New Issue
Block a user