ui: the node editor offers the de-noise node and persists its window
The form gains a `median samples` row, shown only for `DeNoise`; the corner row widens to anything that reads `fc` (`math_op_uses_fc()`) while `q` stays band-pass-only, and the wiring row keeps its place at the end so the form's order is unchanged for every existing op. The session format gains a thirteenth field, `med_n`, after `y`. A twelve-field node -- a file written before this node existed -- still loads, with `med_n` left at the struct's default, which is what such a file meant; the reader's `return number(...) && ...` chain had to become a guarded sequence so the thirteenth field could be read conditionally. The math probe enables the channel it builds its graphs from, the same self-sufficiency rule the noise and measurement probes already follow: `enable_all_probe` ends by switching one signal off, and with `sine` gone the graphs landed on `square`, changing a documented line for reasons unrelated to the math. Readings: `[math-probe] 2 math channels on 'sine' and 'noise'`, `pane add: 'math3' sources 'sine'`, `graph edit: stored_slots 31000 -> 32000`, `dialog build: nodes=2, output after add=1` and the rest of the suite unchanged; no `Gtk-CRITICAL`.
This commit is contained in:
1 parent
1bde8809dd
commit
5c2c221777
5 files changed
+41
-7
No files matched your search
+9
-1
@@ -2140,6 +2140,14 @@ void open_math_dialog(App& app, int edit) {
|
||||
gtk_box_append(GTK_BOX(form), clamp_rows);
|
||||
}
|
||||
|
||||
// Odd, 3..9. The engine rounds up to odd anyway, but a step of 2 means the widget never offers an even
|
||||
// one.
|
||||
d->med = gtk_spin_button_new_with_range(3.0, 9.0, 2.0);
|
||||
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(d->med), 0);
|
||||
gtk_spin_button_set_value(GTK_SPIN_BUTTON(d->med), 5.0);
|
||||
g_signal_connect(d->med, "value-changed", G_CALLBACK(on_math_param_changed), d);
|
||||
gtk_box_append(GTK_BOX(form), math_row("median samples", d->med, &d->rows[6]));
|
||||
|
||||
d->inputs = gtk_label_new("");
|
||||
gtk_label_set_wrap(GTK_LABEL(d->inputs), true);
|
||||
gtk_widget_add_css_class(d->inputs, "dim-label");
|
||||
@@ -2159,7 +2167,7 @@ void open_math_dialog(App& app, int edit) {
|
||||
gtk_widget_set_visible(d->problem, FALSE);
|
||||
gtk_box_append(GTK_BOX(form), d->problem);
|
||||
|
||||
// A menu of the twelve ops rather than one button that always makes a gain: building anything
|
||||
// A menu of the thirteen ops rather than one button that always makes a gain: building anything
|
||||
// else was add-then-change-the-dropdown, which is two steps for the common case.
|
||||
GtkWidget* add = gtk_menu_button_new();
|
||||
gtk_menu_button_set_label(GTK_MENU_BUTTON(add), "add node");
|
||||
|
||||
Reference in new issue
Block a user