From cf5dcd12ee5eb3d2c3c9b42565e17420f47210c4 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 24 Dec 2021 02:13:03 +0100 Subject: [PATCH] Use a callback instead of subtractive char math --- gtk2_ardour/editor_ops.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index f071143520..daacc76993 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -4105,6 +4105,11 @@ Editor::freeze_route () current_interthread_info = 0; } +static void +set_slot (uint32_t* t, uint32_t v) { + *t = v; +} + void Editor::bounce_range_selection (BounceTarget target, bool enable_processing) { @@ -4186,7 +4191,8 @@ Editor::bounce_range_selection (BounceTarget target, bool enable_processing) tslot = manage (new ArdourDropdown ()); for (int c = 0; c < TriggerBox::default_triggers_per_box; ++c) { - tslot->append_text_item (string_compose ("%1", (char)('A' + c))); // XXX not translatable + // XXX ('A' + x) is not translatable, TODO abstract using nth_letter() + tslot->AddMenuElem (Menu_Helpers::MenuElem (string_compose ("%1", (char)('A' + c)), sigc::bind (sigc::ptr_fun (set_slot), &trigger_slot, c))); } tslot->set_active ("A"); @@ -4209,9 +4215,6 @@ Editor::bounce_range_selection (BounceTarget target, bool enable_processing) } dialog.get_result (bounce_name); - if (tslot) { - trigger_slot = tslot->get_text ()[0] - 'A'; // XXX - } } timepos_t start = selection->time[clicked_selection].start();