From 641e3441b8ed1280ef5378cafb51c92fb8c27941 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 12 Jul 2025 11:06:33 -0600 Subject: [PATCH] fix operation of MIDI draw channel dropdown/selector --- gtk2_ardour/editing_context.cc | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gtk2_ardour/editing_context.cc b/gtk2_ardour/editing_context.cc index bdc7c15231..07f061219d 100644 --- a/gtk2_ardour/editing_context.cc +++ b/gtk2_ardour/editing_context.cc @@ -1299,19 +1299,24 @@ EditingContext::build_draw_midi_menus () for (auto & v : preselected_velocities) { Glib::RefPtr ract = draw_velocity_action (v); + assert (ract); draw_velocity_selector.append (ract); draw_velocity_strings.push_back (ract->get_short_label()); } draw_velocity_selector.set_sizing_texts (draw_velocity_strings); - /* Note-Channel when drawing */ - for (int i = 0; i<= 15; i++) { - char buf[64]; - sprintf(buf, "%d", i+1); - draw_channel_selector.add_menu_elem (MenuElem (buf, sigc::bind (sigc::mem_fun (*this, &EditingContext::draw_channel_chosen), i))); + std::vector possible_channels ({0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, DRAW_CHAN_AUTO}); + std::vector draw_channel_strings; + + for (auto & c : possible_channels) { + Glib::RefPtr ract = draw_channel_action (c); + assert (ract); + draw_channel_selector.append (ract); + draw_channel_strings.push_back (ract->get_short_label()); } - draw_channel_selector.add_menu_elem (MenuElem (_("Auto"),sigc::bind (sigc::mem_fun (*this, &EditingContext::draw_channel_chosen), DRAW_CHAN_AUTO))); + + draw_channel_selector.set_sizing_texts (draw_channel_strings); } bool